Resend

Email API for sending transactional and marketing email, with SDKs, SMTP relay, inbound email and webhooks.

Free tier

3,000 transactional emails per month, capped at 100 per day, with up to 3 verified domains.

  • 3,000 transactional emails per month
  • 100 emails per day (UTC calendar day)
  • 3 verified domains
  • 1 webhook endpoint
  • 30-day data retention
  • 1,000 marketing contacts
  • 10 API requests per second per team

Gotchas

  • Received (inbound) emails and every To, CC and BCC recipient count against the daily and monthly quota.
  • Until a domain is verified you can only send test emails from onboarding@resend.dev to your own account address; other recipients get a 403.
  • API keys with "Sending access" can only send email; creating and verifying domains needs a "Full access" key.
  • Going over the quota returns a 429 (daily_quota_exceeded or monthly_quota_exceeded); the daily quota resets at midnight UTC.
  • A domain's region and return path can't be changed after it is created.

Setup

What you do

  1. Sign up at https://resend.com/signup (Google, GitHub or email).
  2. Create an API key at https://resend.com/api-keys (Full access if the agent will set up domains), or approve the MCP server's OAuth login.
  3. Add the DNS records Resend lists for your sending domain at your DNS provider, unless the agent can edit DNS.

How your agent gets access

API key

Install
npm install -g resend-cli
Get it at
resend.com/api-keys
Env var
RESEND_API_KEY

The Resend CLI and local MCP server read RESEND_API_KEY; resend login stores a pasted key instead. The key is shown only once.

OAuth

Run
claude plugin install resend@claude-plugins-official

Adds the hosted MCP server (https://mcp.resend.com/mcp); run /mcp and log in through the browser. For Codex, codex mcp add resend --url https://mcp.resend.com/mcp.

Check it worked

resend doctor

Sources

Something out of date?