Documentation
Sign inGet started

Python

Send your first email from a plain Python script using the Bird Python SDK's sync client. Three steps: install, send, run.

1. Install the SDK

Exemple de code
pip install messagebird-sdk
Exemple de code
# or
uv add messagebird-sdk
poetry add messagebird-sdk
Requires Python 3.10+. The import package is bird.

2. Send an email

Export your API key. The SDK reads BIRD_API_KEY from the environment and infers the region (us1 or eu1) from the bk_us1_ / bk_eu1_ prefix, so Bird() needs no arguments:
Exemple de code
export BIRD_API_KEY="bk_us1_..."
Create send.py:
Exemple de code
from bird import APIError, Bird

with Bird() as client:
    try:
        message = client.email.send(
            from_={"email": "onboarding@messagebird.dev", "name": "Bird"},
            to=["delivered@messagebird.dev"],
            subject="Hello from Bird",
            html="<p>My first Bird email.</p>",
        )
        print(message.id, message.status)
    except APIError as err:
        print("send failed:", err)
from_ is the Python spelling of the from field (from is a reserved word). onboarding@messagebird.dev is Bird's shared onboarding sender (no domain verification needed) and delivered@messagebird.dev is a sandbox recipient that always delivers.
Transient failures retry automatically, and a retried send reuses one idempotency key across attempts, so it never double-applies.

3. Run it

Exemple de code
python send.py
The script prints the message ID and status:
Exemple de code
em_01ky7ma8y2es1s2akzk53tmjn0 accepted
accepted is the API's 202: Bird has the message and delivers it asynchronously. Fetch it by its em_ ID with client.email.get(message.id) and watch the status move from accepted to delivered.

Next steps