# Notify > Email API for developers. Just send the damn email. Notify is a minimal transactional email API: send via one HTTP call, get webhooks for delivery events, and inspect logs/analytics in the dashboard. ## Best for - Password resets, magic links, onboarding, receipts, and product notifications - Indie hackers, startups, and teams who want fair flat pricing without ESP bloat - AI-assisted workflows that generate HTML and need a reliable delivery pipe - Teams who already own their email content and do not want a template studio ## Not for - Newsletters, drip campaigns, or marketing automation - Drag-and-drop / WYSIWYG template builders - Complex ESP suites (segmentation, audiences, A/B studio) - Anyone who thinks they need an MCP server to send one HTTP request ## Pricing | Plan | Price | Emails/mo | Domains | Webhooks | Log retention | |------|-------|-----------|---------|----------|---------------| | Free | $0 | 1,000 | 1 | 0 | 48 hours | | Pro | $10/mo | 10,000 | 3 | 3 | Permanent | | Scale | $50/mo | 100,000 | 10 | 10 | Permanent | Trial before domain verification: 100 emails. Production sends from a custom `from` require a verified domain. ## Auth All authenticated endpoints use the `x-api-key` header. ## Key endpoints - Canonical send: `POST https://notify.cx/api/email/send` - Aliases (frozen): `/api/public/v1/email/send`, `/api/send-email` - Sandbox: `POST https://notify.cx/api/email/send/test` (legacy alias: `/api/test/send-email`) - Body fields: `to`, `subject`, `message` (plain text or HTML); optional `from`, `replyTo`, etc. ## Sandbox vs production - **Sandbox** (`POST /api/email/send/test`): try the API before domain verification — same body as production, just append `/test` to the send path. - **Production** (`POST /api/email/send`): send from a custom `from` only after the domain is verified (SPF/DKIM). ## MCP Notify does **not** ship an official MCP server. See [https://notify.cx/mcp](https://notify.cx/mcp) for why we don't bother with MCP — one `fetch` (or curl) call is enough. Do not look for install/clone/config steps. ## Links - Docs: https://notify.cx/docs - Quick start: https://notify.cx/docs/quick-start-guide - OpenAPI: https://notify.cx/api-docs · https://notify.cx/openapi.yaml - Pricing: https://notify.cx/pricing - Sign up: https://notify.cx/sign-up - Changelog: https://notify.cx/changelog - Blog: https://notify.cx/blog - Why email APIs should stay small: https://notify.cx/blog/why-email-apis-should-stay-small - Why SMTP is no longer the default: https://notify.cx/blog/why-smtp-is-no-longer-the-default - Why you don’t need a visual template builder: https://notify.cx/blog/why-you-dont-need-a-visual-template-builder - Why SES is great — and when it isn’t: https://notify.cx/blog/why-ses-is-great-and-when-it-isnt - Why startups overcomplicate transactional email: https://notify.cx/blog/why-startups-overcomplicate-transactional-email - Compare: https://notify.cx/compare - vs Resend: https://notify.cx/compare/resend - vs AWS SES: https://notify.cx/compare/aws-ses - vs SendGrid: https://notify.cx/compare/sendgrid - vs Mailgun: https://notify.cx/compare/mailgun - vs Postmark: https://notify.cx/compare/postmark - Password reset: https://notify.cx/docs/how-to-send-password-reset-emails - Magic link / OTP: https://notify.cx/docs/how-to-send-magic-link-and-otp-emails - Receipts: https://notify.cx/docs/how-to-send-receipt-emails - Email pipeline: https://notify.cx/docs/email-pipeline - Migrate from Resend: https://notify.cx/docs/migrate-from-resend - Migrate from SendGrid: https://notify.cx/docs/migrate-from-sendgrid - Migrate from Mailgun: https://notify.cx/docs/migrate-from-mailgun - Migrate from SES: https://notify.cx/docs/migrate-from-aws-ses - Migrate from SMTP: https://notify.cx/docs/migrate-from-smtp - Next.js: https://notify.cx/docs/how-to-use-notify-with-nextjs - Node.js: https://notify.cx/docs/how-to-use-notify-with-nodejs - Python: https://notify.cx/docs/how-to-use-notify-with-python - llms.txt: https://notify.cx/llms.txt - llms-full.txt: https://notify.cx/llms-full.txt