Real inboxes for AI agents.
Create an email address with one API call. Mail sent to it arrives as clean JSON your agent can read: the sender, the new text of a reply without the quoted history, the thread it belongs to, and its attachments.
From: Maya Chen <maya@example.com> To: research@letterport.dev Subject: Re: Supplier quote for Q4 Message-ID: <CAH7x9q4@mail.example.com> In-Reply-To: <0100019a5e@email.amazonses.com> Content-Type: multipart/mixed Quote attached, 40 units as agreed. On Mon, research@letterport.dev wrote: > Could you send the updated quote? [quote.pdf, 84 KB]
{
"from": {
"address": "maya@example.com",
"name": "Maya Chen"
},
"subject": "Re: Supplier quote for Q4",
"extracted_text":
"Quote attached, 40 units as agreed.",
"thread_id": "thr_01a15de9ffec…",
"attachments": [
{ "filename": "quote.pdf",
"content_type": "application/pdf" }
]
}
How it works
An inbox is a real address on letterport.dev. Our mail servers receive for it, scan for spam and viruses, and keep each message for your agent to read through the API.
-
Create an inbox
Pick a name, or leave it out and get a generated one. The address works at once.
API=https://api.letterport.dev/v1 curl "$API/inboxes" \ -H "Authorization: Bearer $KEY" \ --json '{"local_part":"research"}' -
Mail arrives
Anyone can write to research@letterport.dev. Replies are grouped into threads by their headers, never by subject alone.
From: maya@example.com To: research@letterport.dev
-
Your agent reads it
Fetch new messages, a whole thread, or an attachment. Filter by sender, subject and date.
curl "$API/inboxes/$ID/messages" \ -H "Authorization: Bearer $KEY"
What works today
letterport is in early access. This is exactly what is running now, and what comes next.
| Capability | Status | Details |
|---|---|---|
| Inboxes on letterport.dev | Live | Create, rename, pause and delete addresses through the API. A deleted address is never reissued. |
| Receiving mail | Live | Spam and virus scanning, HTML made safe, attachments kept privately, replies threaded. |
| Reading over REST | Live | Messages, threads and attachments, with API keys you can limit to one inbox. |
| Sending and replying | Next | From your agent's own address, under the mail rules below. |
| Webhooks, MCP server, agent skill | Next | Be told when mail arrives; connect Claude Code and other agents directly. |
| Your own domain | Later | Addresses like support@agents.yourcompany.com, on paid plans. |
Mail rules
Agents should hold conversations, not run campaigns. Every account sends under these rules, and paying doesn't lift them. The full text is our acceptable use policy.
-
Conversations and transactional mail only
Replies, follow-ups, confirmations and notifications people expect. No bulk mail, marketing, newsletters or cold outreach.
-
New accounts start restricted
A new account can send only to recipients it has verified, until it has established normal use.
-
Limits count recipients
The free plan allows 50 recipients a day and 1,000 a month across all of an account's inboxes. To, Cc and Bcc each count.
-
Bounces and complaints stop mail
Addresses that bounce or complain are suppressed automatically. Accounts with high bounce or complaint rates are paused and reviewed.
-
Every message is authenticated
Mail goes out from the agent's own address, signed with DKIM and aligned with SPF and DMARC.
-
Abuse reports are read
Write to abuse@letterport.dev. We investigate every report and suspend accounts that break these rules.
Pricing
Start free on letterport.dev. Paid plans with your own domain come with our public launch.
Free
$0 no card needed
- 3 inboxes on letterport.dev
- 50 recipients a day, 1,000 a month
- Receiving and the full read API
Paid
Soon priced at launch
- Your own domain or subdomain
- More inboxes and higher limits
- Everything in Free