# Resend Python SDK
[](https://github.com/psf/black)

[](https://codecov.io/gh/drish/resend-py)
[](https://opensource.org/licenses/MIT)
[](https://pypi.org/project/resend/)
[](https://pypi.org/project/resend)
---
## Installation
To install Resend Python SDK, simply execute the following command in a terminal:
```
pip install resend
```
## Setup
First, you need to get an API key, which is available in the [Resend Dashboard](https://resend.com).
```py
import resend
import os
resend.api_key = "re_yourkey"
```
## Example
You can get an overview about all parameters in the [Send Email](https://resend.com/docs/api-reference/emails/send-email) API reference.
```py
import os
import resend
resend.api_key = "re_yourkey"
params: resend.Emails.SendParams = {
"from": "onboarding@resend.dev",
"to": ["delivered@resend.dev"],
"subject": "hi",
"html": "hello, world!",
"reply_to": "to@gmail.com",
"bcc": "bcc@resend.dev",
"cc": ["cc@resend.dev"],
"tags": [
{"name": "tag1", "value": "tagvalue1"},
{"name": "tag2", "value": "tagvalue2"},
],
}
email: resend.Emails.SendResponse = resend.Emails.send(params)
print(email)
```
## Async Support
The SDK supports async operations via `httpx`. Install the async extra:
```bash
pip install resend[async]
```
Once installed, async methods (suffixed with `_async`) work automatically — no extra setup needed:
```py
import asyncio
import resend
resend.api_key = "re_yourkey"
async def main():
params: resend.Emails.SendParams = {
"from": "onboarding@resend.dev",
"to": ["delivered@resend.dev"],
"subject": "hi",
"html": "hello, world!",
}
email: resend.Emails.SendResponse = await resend.Emails.send_async(params)
print(email)
if __name__ == "__main__":
asyncio.run(main())
```
### Custom async client
To use a custom async HTTP client or configure options like timeouts, set `resend.default_async_http_client`:
```py
import resend
resend.api_key = "re_yourkey"
resend.default_async_http_client = resend.HTTPXClient(timeout=60)
```