API Reference

Base URL

The Resend API is built on REST principles. We enforce HTTPS in every request to improve data security, integrity, and privacy. The API does not support HTTP.

All requests contain the following base URL:



To authenticate you need to add an Authorization header with the contents of the header being Bearer re_123456789 where re_123456789 is your API Key.

Authorization: Bearer re_123456789

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.

200Successful request.
400Check that the parameters were correct.
401The API key used was missing.
403The API key used was invalid.
404The resource was not found.
429The rate limit was exceeded.
5xxIndicates an error with Resend servers.

Check Error Codes for a comprehensive breakdown of all possible API errors.

Rate limit

The response headers describe your current rate limit following every request in conformance with the IETF standard:

Header nameDescription
ratelimit-limitMaximum number of requests allowed within a window.
ratelimit-remainingHow many requests you have left within the current window.
ratelimit-resetHow many seconds until the limits are reset.
retry-afterHow many seconds you should wait before making a follow-up request.

The maximum number of requests that users can send is 10 requests per second.

After that, you’ll hit the rate limit and receive a 429 response error code.

To prevent this, we recommend reducing the rate at which you request the API. This can be done by introducing a queue mechanism or reducing the number of concurrent requests per second. If you have specific requirements, contact support to request a rate increase.