Resend Python SDK
Project Links
Meta
Author: Derich Pacheco
Requires Python: >=3.7
Classifiers
Intended Audience
- Developers
License
- OSI Approved :: MIT License
Natural Language
- English
Operating System
- OS Independent
Programming Language
- Python :: 3.7
- Python :: 3.8
- Python :: 3.9
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
- Python :: 3.14
Resend Python SDK
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.
import resend
import os
resend.api_key = "re_yourkey"
Example
You can get an overview about all parameters in the Send Email API reference.
import os
import resend
resend.api_key = "re_yourkey"
params: resend.Emails.SendParams = {
"from": "onboarding@resend.dev",
"to": ["delivered@resend.dev"],
"subject": "hi",
"html": "<strong>hello, world!</strong>",
"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:
pip install resend[async]
Once installed, async methods (suffixed with _async) work automatically — no extra setup needed:
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": "<strong>hello, world!</strong>",
}
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:
import resend
resend.api_key = "re_yourkey"
resend.default_async_http_client = resend.HTTPXClient(timeout=60)
2.48.0
Sep 25, 2026
2.47.0
Sep 18, 2026
2.46.0
Sep 15, 2026
2.45.1
Sep 15, 2026
2.45.0
Sep 14, 2026
2.44.0
Sep 10, 2026
2.43.0
Sep 04, 2026
2.42.0
Aug 26, 2026
2.41.0
Aug 26, 2026
2.40.2
Aug 25, 2026
2.40.1
Aug 24, 2026
2.40.0
Aug 24, 2026
2.39.0
Aug 21, 2026
2.38.0
Aug 20, 2026
2.37.0
Aug 18, 2026
2.36.0
Aug 12, 2026
2.35.0
Jul 27, 2026
2.34.0
Jul 17, 2026
2.33.0
Jul 13, 2026
2.32.2
Jun 17, 2026
2.32.1
Jun 17, 2026
2.32.0
Jun 17, 2026
2.31.0
Jun 17, 2026
2.30.1
May 13, 2026
2.30.0
May 04, 2026
2.29.0
Apr 16, 2026
2.28.1
Apr 15, 2026
2.28.0
Apr 13, 2026
2.28.0a1
Apr 11, 2026
2.27.0
Apr 01, 2026
2.26.0
Mar 20, 2026
2.25.0
Mar 18, 2026
2.24.0
Mar 16, 2026
2.23.0
Feb 23, 2026
2.22.0
Feb 16, 2026
2.21.0
Jan 22, 2026
2.19.0
Oct 31, 2025
2.18.0
Oct 29, 2025
2.18.0a3
Oct 29, 2025
2.18.0a2
Oct 28, 2025
2.18.0a1
Oct 26, 2025
2.17.0
Oct 14, 2025
2.16.0
Oct 08, 2025
2.15.0
Sep 24, 2025
2.14.0
Sep 20, 2025
2.13.1
Aug 26, 2025
2.13.0
Aug 13, 2025
2.12.0
Aug 06, 2025
2.11.0
Jul 10, 2025
2.10.0
May 15, 2025
2.9.0
May 06, 2025
2.8.0
Apr 27, 2025
2.7.0
Mar 25, 2025
2.6.0
Jan 23, 2025
2.5.1
Dec 17, 2024
2.4.0
Aug 14, 2024
2.3.0
Jul 24, 2024
2.2.0
Jul 05, 2024
2.1.0
Jun 10, 2024
2.0.0
May 27, 2024
1.2.0
May 24, 2024
1.1.0
May 17, 2024
1.0.2
May 14, 2024
1.0.1
May 09, 2024
1.0.0
May 09, 2024
0.8.0
Mar 06, 2024
0.7.2
Jan 18, 2024
0.7.1
Jan 15, 2024
0.7.0
Jan 10, 2024
0.6.0
Oct 21, 2023
0.5.2
Jul 25, 2023
0.5.1
Jun 14, 2023
0.4.0
May 20, 2023
0.3.0
May 02, 2023
0.2.0
Apr 26, 2023
0.1.1
Apr 19, 2023
0.1.0
Jan 17, 2023