Introduction
Understand general concepts, response codes, and authentication strategies.
Base URL
Section titled “Base URL”The Resend API is built on REST principles. HTTPS is enforced in every request to improve data security, integrity, and privacy. The API does not support HTTP.
All requests contain the following base URL:
https://api.resend.comAuthentication
Section titled “Authentication”To authenticate you need to add an Authorization header with the contents of the header being Bearer re_xxxxxxxxx where re_xxxxxxxxx is your API Key.
Authorization: Bearer re_xxxxxxxxxUser-Agent
Section titled “User-Agent”All API requests must include a User-Agent header. Requests without this header will be rejected with a 403 status code. Most HTTP clients, all Resend SDKs, and the Resend CLI include this header automatically, but if you're making direct HTTP requests, make sure to set it:
User-Agent: my-app/1.0Response codes
Section titled “Response codes”Resend uses standard HTTP codes to indicate the success or failure of your requests.
In general, 2xx HTTP codes correspond to success, 4xx codes are for user-related failures, and 5xx codes are for infrastructure issues.
| Status | Description |
|---|---|
200 |
Successful request. |
400 |
Check that the parameters were correct. |
401 |
The API key used was missing. |
403 |
The API key used was invalid. |
404 |
The resource was not found. |
429 |
The rate limit was exceeded. |
5xx |
Indicates an error with Resend servers. |
Rate limit
Section titled “Rate limit”The default maximum rate limit is 10 requests per second per team. This limit applies across all API keys associated with your team. This number can be increased for trusted senders by request. You can view your team's current rate limit on the Settings Usage page. After that, you'll hit the rate limit and receive a 429 response error code.
Learn more about our rate limits.
How does pagination work with the API?
Some endpoints support cursor-based pagination to help you browse through large datasets efficiently. Check our pagination guide for detailed information on how to use pagination parameters.
How do you handle API versioning?
Currently, there's no versioning system in place. We plan to add versioning via calendar-based headers in the future.