Email for apps, businesses, and AI agents.
Transactional Email API for Developers
Send, receive, and automate email from your code or AI assistant. Transactional and marketing email with less integration work and deliverability built in.
POST api.send.io/emailsAcme <billing@acme.dev> → ravi@ochrebay.dev
email.sent
Spend less timeintegrating email.
Start with native SDKs, or switch with less rework using supported request formats from Resend, Postmark, SendGrid, and more.
Work from your code, terminal, or AI assistant.
# Supported operations work unchangedRESEND_BASE_URL=https://api.send.ioRESEND_API_KEY=mx_your_api_key- resendNode.js
- resendPython
- resend-phpPHP
- Laravel
- resendRuby
- resend-goGo
- Java
- .NET
- Rust
- Elixir
Give your agentsa free inbox.
Receive-only mailboxes for verification codes, magic links, and automated tests. No account or API key required.
Connect your mailbox to a workspace to enable sending and replies with credits.
- Acme <security@acme.dev>Your code is 482913verification code
- Acme <hello@acme.dev>Your magic link to sign in to Acmemagic link
- CI <tests@acme.dev>Welcome to Acme · test run #212automated test
One API to send now, scale up with batch sending, or plan ahead with scheduled sends.
Run product email, marketing campaigns, and event-triggered customer journeys in one place, with shared contacts and templates.
const { data } = await resend.emails.send({from: 'Acme <security@acme.dev>',to: 'you@example.com',subject: 'Your code is 482913',html: '<p>It expires in <b>10 minutes</b>.</p>',tags: [{ name: 'priority', value: 'otp' }], // jumps the queue});

Login codes take priorityover newsletters.
Priority built in.
Keep time-sensitive emails moving when traffic builds up, with less custom queueing to build and maintain.
First: Login codes
Next: Transactional
After: Batch
- otp482913 · Magic link
- txReceipt #1042 · Welcome
- batchNewsletter
- 01
OTP first
Give sign-in emails priority when messages are waiting to send.
- 02
Campaigns after
Keep queued bulk sends behind login codes and transactional email.
- 03
Safely queued
Accepted messages are stored before delivery is attempted.
Emails that look as goodas your product.
Create beautiful, personalized templates in the editor and reuse them across your product.
Update your email designs and copy without touching your app’s code.
SUBJECT
Your code is 482913
482913
Use this code to finish signing in. It expires in 10 minutes. If you did not try to sign in, you can ignore this email.
to kai@pinewharf.com
em_up9njf
Welcome to Acme

- Create a key
- Send to the test inbox
- Add your domain
to kai@pinewharf.com
TX
Receipt #1042

- $40 for 50,000 credits
- Credits never expire
- One balance for every service
to kai@pinewharf.com

Built forthe inbox.
Protect your sender reputation and help your emails land where they belong.
Authenticated domains, automatic suppression, and Amazon SES delivery provide the foundation for deliverability. Dedicated IPs are available on request as your sending needs grow.
- DKIM
- 3 × CNAME · pending
- Return path
- MX · send · pending
- SPF
- TXT · send · pending
- DMARC
- TXT · _dmarc · pending
acme.dev · pending
See what happensafter you send.
See which emails are queued, sent, or delivered. Follow updates in your dashboard or get them through webhooks.
Addresses that bounce or generate spam complaints are automatically excluded from future sends.
- 01
Queued
- 02
Sent
- 03
Delivered
Everything asending team needs.
The controls, collaboration, and agent tools to keep email running as your product grows.

- schedule
Scheduled sends
Queue an email for later with scheduled_at, or cancel it before it goes.
scheduled_at
- suppress
Suppression list
Bounced and complaining addresses are held back automatically, per team.
jonas@ferrowind.dev
- keys
Scoped API keys
Full access, or sending only, optionally limited to a single domain.
mx_your_api_key
- teams
Teams
Share domains and templates with your team. Organize separate clients or products with subaccounts.
templates / login-code
- mcp
AI assistants
Create templates, manage contacts, and run email automations from Claude, Cursor, or Codex through MCP.
Hosted MCP tools
- retry
Safe retries
Idempotency keys make a repeated request return the first result, not a second email.
em_4ef9a417
Start free.Your credits never expire.
Buy more when you need them, with no monthly subscription. Unused credits never expire.
1 credit = 1 email recipient

Start free
0credits on sign-up
1 credit = 1 email recipient
- 100 emails per day until your first purchase
- Built-in test inbox
- API access and email templates
- Delivery events in the dashboard
Credits · for growing teams
$40for 50,000 credits
Packs from 10,000 to 1,000,000
- Credits never expire
- One balance for every service
- Subaccounts share your balance
- No monthly plan or subscription
Your stack
Buildwith send.io
- Resend SDK
- HTTP
- MCP
Resend SDK · HTTP · MCP
- Familiar email API
- Supported Resend SDK operations
- Hosted MCP tools
- HTTP automation connections
Good to know beforeyour first send.
How do I get started?
Create a key, send to the test inbox, and watch it land.
Then add your domain when you are ready for real people.
Can I move from another email provider?
Send.io accepts request formats from Resend, Postmark, SendGrid, Mailgun, Mailchimp Transactional, Brevo, and Mailjet.
How does Send.io support deliverability?
Send.io combines domain authentication, automatic suppression, and Amazon SES delivery.
Delivery events give you visibility into performance, and dedicated IPs are available on request.
Do I need a monthly subscription?
No. Buy credits when you need them.
Unused credits never expire, and subaccounts can share the same balance.
Can I connect an AI assistant or automation tool?
The hosted MCP endpoint supports selected email and resource operations, and automation tools can call the HTTP API with a send.io key.
Native marketplace connectors are not available yet.
Your first email is afew minutes away
Start sending for free with the tools you already use.
