Add email to your app in minutes.One key, one DNS record, done.
Sign-in codes, receipts, password links. One request and letr.dev delivers it. CHF 12 a month for 10'000 recipients.
The simplest request
From, to, subject, text. The response is a 202 and an id you can follow in the dashboard or through the webhook.
Send your first emailcurl https://api.letr.dev/v1/emails \
-H "Authorization: Bearer letr_..." \
-H "Content-Type: application/json" \
-d '{
"from": "Acme <[email protected]>",
"to": "[email protected]",
"subject": "Your sign-in link",
"text": "Sign in: https://acme.dev/l/7Fq2"
}'202 Accepted
{
"id": "em_gk3lx0aqw2rz9vb7nc1ep4ty",
"status": "queued"
}What you can count on
Five promises. Each one is a thing you can look at in the dashboard, and a page where the rule is written down.
Live in minutes
Pay, add one DNS record, create a key, send. Or paste one prompt into your coding agent and it wires letr.dev into the project you already have.
Quickstart# everything letr.dev needs from you letr._domainkey.mail.acme.dev TXT v=DKIM1; k=rsa; p=MIIC… POST https://api.letr.dev/v1/emails
Your mail keeps going
Past 10'000 a month, sending continues at CHF 0.50 per started 1'000, up to the ceiling you set. Emails at 80 % and 100 % of the plan, and at 90 % of the ceiling.
Plan and ceilingsNo silent suspension
The pause thresholds are public: 5 % bounces, or 0.3 % complaints with at least 2, over 7 days. The dashboard shows how far you are from them.
Every limit and status codeYou see everything
30 days of messages and events, a signed webhook for every delivery, bounce and complaint, metrics by day and domain.
Webhook guide- [email protected] · Receipt #10492delivered
- [email protected] · Your sign-in linkdelivered
- [email protected] · Your sign-in linkbounced
- [email protected] · Order #10493 confirmedqueued
- webhook email.delivered · em_gk3lx0aq · webhook-signature v1,K5…c8=
A person answers
First answer within 1 Swiss business day; a stopped or paused account within 4 business hours.
Support termsletr.devYour account is paused: 5.4 % bounces over the last 7 days, 2'610 sent. 141 of them went to addresses on one list imported on 28.10.
letr.dev supportWe have resumed the account. The 141 addresses are on your suppression list now; sending to the rest continues. Reply here if the list was intentional.
How you start
Pay, and you are live
CHF 12 a month. Live the moment the payment is confirmed; a person reads your sign-up afterwards.
Add your domain, create a key
One DNS record per domain. A key for sending, reading or both, limited to one domain if you want.
Send, and the limit grows
50 recipients a day to begin with. 500 once we have reviewed your account and you have 3 clean days and 200 delivered recipients behind you, 2'000 after 2 more weeks and 2'000 delivered, no daily limit from your first renewal.
Limits and the trust ladderOne plan
CHF 12a month
Founding offer:
- For companies and private persons
- Past 10'000 your mail keeps going, up to the ceiling you set: 10'000 or 25'000 a month
- Emails at 80 % and 100 % of the plan and at 90 % of the ceiling
- A person reads your sign-up after you are live. If we decline it: full refund, with the reason
For developers
API reference
Every endpoint with parameters, schemas, responses and code samples.
Open the referenceWebhooks
Standard Webhooks signatures with Node and Python examples, retries and mutual TLS.
Webhook guideAPI keys and permissions
Sending, read-only and full access, keys limited to one domain, rolling without downtime.
Key guideMCP server
Claude, ChatGPT, Cursor and other MCP clients, with the same rules as the API.
Connect a clientSMTP
smtp.letr.dev for tools that only speak SMTP, with an API key as the password.
SMTP guideStatus page
Health of the API and the mail pipeline, measured by Starwatch.
status.letr.devStart sending today
CHF 12 a month, cancel monthly, live the moment the payment is confirmed.
Coming soonFirst answer within 1 Swiss business day. A stopped or paused account within 4 business hours.
HeadquartersViascom GmbHWeissbadstrasse 8b9050 Appenzell
Switzerland