The email API that shows its work
Send transactional and marketing mail through a clean API. Inspect delivery, manage audiences, and operate domains from one console.
3,000 emails/month free. No credit card required.
Password reset
bouncedSomeone asked to reset your Acme password. Link expires in 30 min.
- email.sent12m ago
- email.bounced550 5.1.1 <sam@northwind.co>: Recipient address rejected: user unknown in virtual mailbox table12m ago
- Status
- bounced
- From
- Acme <hello@acme.com>
- To
- sam@northwind.co
- Created
- 12m ago
- Sent
- 12m ago
- Message ID
- 0100019a3f2c8d41-7b2e4c09
Send, inspect, operate. One API call in, the whole delivery story out.
The console shows you everything that happens to a message after you send it, and keeps the domains underneath it healthy.
Send
REST, SMTP, templates, and broadcasts. Queue a message and watch it land through Amazon SES.
Inspect
Events, webhooks, and API logs for every message.
Operate
Domains, keys, contacts, and suppressions in one place.
Check any domain, free→
SPF, DKIM, DMARC, and DNSBL checks, header analysis, and DNS lookups. No account needed, at tools.sendsignal.dev.
Send with three lines of code
First-class SDKs for TypeScript, Python (zero dependencies), and Go, plus a drop-in SMTP relay for anything that already speaks SMTP: set the password to your API key and you're done.
Prefer raw HTTP? The whole surface is a clean REST API with an OpenAPI spec and an interactive reference. Batch up to 100 messages per call, schedule sends, and retry safely with idempotency keys.
import { SendSignal } from "@sendsignal/sdk"; const sendsignal = new SendSignal("ss_..."); await sendsignal.emails.send({ from: "Acme <billing@acme.com>", to: ["sam@example.com"], template_id: "tpl_invoice", tags: { name: "Sam", amount: "$49.00" }, scheduled_at: "2026-09-01T09:00:00Z", });
See exactly what happened to every message
Open any message and read its life story: acceptance, delivery, opens, clicks, and every webhook attempt with its response code. A live SSE stream lets you tail events during development.
Webhooks are HMAC-signed with full attempt history, and per-request API logs mean "what did we send?" is a lookup, not an archaeology project.
Domains that stay healthy
Add a domain and SendSignal generates the DKIM, SPF, and tracking records for you; verification polls until DNS propagates. Bounces and complaints are suppressed automatically on every send path.
Pro accounts add dedicated IPs with managed warmup and BIMI logo records: the reputation work most teams put off, running by default.
And everything after hello-world
Broadcasts & automations
Target a segment or topic, schedule it, or trigger event-driven workflows: on contact created, delivered, opened, clicked, or received.
Inbound parsing
Point MX at us and received mail arrives parsed (headers, bodies, and attachments), ready to read via API or to trigger an automation.
Verified domains
DKIM, SPF, and tracking records provisioned for you; verification polls until DNS is right. BIMI logos supported out of the box.
Suppression built in
Bounces and complaints are suppressed automatically, and every send is checked against the list before it leaves.
One-click unsubscribe
RFC 8058 List-Unsubscribe headers and signed unsubscribe links added to every marketing send: the Gmail/Yahoo requirement, handled.
SDKs & tooling
TypeScript, Python, and Go SDKs, a CLI, an MCP server for agents, and free deliverability tools at tools.sendsignal.dev.
Send your first email
The same send, in whatever your stack speaks. Anything that talks HTTP or SMTP works; pick yours for the exact setup.
import { SendSignal } from "@sendsignal/sdk"; const sendsignal = new SendSignal("ss_..."); await sendsignal.emails.send({ from: "Acme <hi@acme.com>", to: "user@example.com", subject: "Hello", html: "<p>Hi</p>", });
https://api.sendsignal.devFree deliverability tools
The diagnostics we run for our own delivery, open to everyone. No account, no rate-limit games.
SPF checker
tools.sendsignal.dev/authentication/spf
Fetch a domain's SPF record, expand every include and count DNS lookups.
Open toolDKIM checker
tools.sendsignal.dev/authentication/dkim
Fetch a published DKIM key by selector and validate it.
Open toolDMARC checker
tools.sendsignal.dev/authentication/dmarc
Fetch a domain's DMARC policy and verify report destinations.
Open toolBlocklist check
tools.sendsignal.dev/deliverability/blacklist
Check an IP or domain against the major DNS blocklists.
Open toolHeader analyzer
tools.sendsignal.dev/deliverability/headers
Paste raw headers for the hop chain, delays and auth verdicts.
Open toolMoreBrowse all toolsStart sending in minutes
3,000 emails a month free, a real test mode, and a console that shows you exactly what happened to every message.
No credit card required.