Transactional email API

Send receipts, login codes and notifications from your app

Included on every SendFox plan. Free for 3,000 emails a month, paid plans from $19 a month for 100,000. Already on Resend? Switch by changing two environment variables.

# Send your first email
curl https://api.sendfox.com/transactional/emails \
  -H "Authorization: Bearer $SENDFOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Acme <[email protected]>",
    "to": ["[email protected]"],
    "subject": "Your login code",
    "html": "<p>Your code is <b>483 920</b></p>",
    "tag": "login_code"
  }'

# 202 Accepted
{ "id": "tm_4f0c9b2e7d1a5c3e8b6f2a9d", "status": "queued" }
What it is: SendFox's email API sends the one-to-one email your app triggers, like receipts, login codes, password resets and notifications. It's an HTTPS JSON API that also accepts Resend's request format. It's included on every SendFox plan: the Free plan covers 3,000 emails a month, and paid plans start at $19 a month for 100,000 sends, shared with your campaigns.

Included on every plan

Transactional email counts toward your plan's monthly sends, the same pool your campaigns use. No separate limit, no daily cap, no add-on. Every address in to, cc and bcc is one email. Test addresses are free.

Free
$0 forever
  • 3,000 sends a month
  • No daily cap
  • Webhooks, logs, verified domains
Pro
$19 a month
  • 100,000 sends a month, shared with campaigns
  • No daily cap, no overage
  • See every plan

For comparison, Resend is $20/mo for 50,000 (checked October 13, 2026). See Resend pricing explained and the best Resend alternatives.

What you get

Resend drop-in

Set RESEND_BASE_URL and RESEND_API_KEY and your existing resend.emails.send() code sends through SendFox. No rewrite.

Its own IP pool

Transactional mail never shares an IP with marketing campaigns, so a newsletter can't hurt your login codes.

Signed webhooks

Sent, delivered, delayed, bounced, complained and failed events, HMAC-signed, retried four times. Resend's event format is one setting away.

Sandbox and test addresses

Send before you touch DNS. delivered@, bounced@ and [email protected] fake each outcome and never count toward your plan's sends.

Safe retries

Idempotency keys for 24 hours, batch sends of up to 100, and a sends-remaining header on every response when your plan has a cap.

Errors that say the fix

Every error has a stable name, a message and a fix field telling you what to change.

No surprise bills

Emails count toward your plan's monthly sends. At the cap, sends stop with a clear 429 until you upgrade. No overage, so a retry loop can't send you an invoice.

Built for AI assistants

The SendFox MCP server lets Claude, Cursor and other assistants send, look up and debug emails for you.

Already on Resend?

SendFox accepts Resend's request shape, so your code stays the same. Change two environment variables, verify your domain and deploy:

RESEND_BASE_URL=https://api.sendfox.com/transactional/resend
RESEND_API_KEY=<your SendFox key>

The full switch, step by step →

Not there yet

So you can rule it out quickly:

  • No scheduled sends or inline images. Requests that use them get a 422 rather than a send without them. Regular attachments work.
  • No SMTP. HTTPS only, so tools that can only speak SMTP can't use it yet.
  • No inbound email parsing.
  • Logs kept 30 days.

FAQ

Is the SendFox email API free?

Yes. Transactional email is included on every SendFox plan, including Free, which covers 3,000 emails a month. Paid plans start at $19 a month for 100,000 sends, shared with your campaigns. No daily cap on any plan.

How is an email counted?

Every address in to, cc and bcc is one email, the same way Resend counts. Emails to the sandbox test addresses are never counted.

What happens when I go over my limit?

Sends past your plan's monthly cap get a 429 with the error monthly_quota_exceeded, plus remaining and requested counts in the body, until you upgrade or the month resets. There is no overage, so a retry loop can never run up a bill.

Can I use it with the Resend SDK?

Yes. Point RESEND_BASE_URL at https://api.sendfox.com/transactional/resend and use your SendFox key as RESEND_API_KEY. Sends, batch sends and lookups keep working, and webhooks can use Resend's format.

Does it support SMTP or attachments?

Attachments, yes: up to 10 files and 5 MB per email, sent as base64 the way Resend takes them. SMTP, no. It is an HTTPS API only, so if your tool can only send over SMTP, it is not a fit today. Scheduled sends and inline images are refused with a 422 rather than sent without them.

Can I send newsletters with it?

Transactional is for messages your users trigger: password resets, receipts, notifications about their own account. Newsletters, promotions, re-engagement and review requests belong in SendFox campaigns. Campaigns live in the same account and send from a separate IP pool.

Send your first email in two minutes.

Included on every SendFox plan. Free for 3,000 emails a month, paid plans from $19 a month for 100,000 sends. Already on Resend? Change two environment variables.

Get your free API key