Send email in minutes. Get the replies back.
One typed call to send. Delivery events and replies come back as signed webhooks.
3,000 emails a month free. No card.
Email Samva, get a reply
Get a demo address, email it, and watch Samva reply in the same thread.
- Your email arrivesWe reply to mail that passes DMARC.
- We reply in the same threadOne call to the send API.
- We confirm deliveryAccepted by your mail server.
- Your reply comes backHit reply and say anything.
Preparing security verification.
Sending is the easy half.
Most email setups are a one-way pipe. Your app sends, the API returns a 200, and that is the last you hear. If the email bounces or gets suppressed, you find out when a user says their login link never came. When a customer hits reply, the answer lands in a noreply box or someone's Gmail, not in your app.
Silent failures
Every call comes back 200, and nothing tells you the email never arrived.
Dead-end replies
Customers answer your email. The reply never reaches the record it belongs to.
Plumbing you build
Bounce handling, suppression, and a script to match replies to users. It works until it doesn't.
- SAMVA APImessages.send() · POST /v1/messages
- YOUR CUSTOMERreceives it, replies
- INBOUNDreply threaded into conv_5nz8qd3hv6r0wxkt
- SIGNED WEBHOOKmessage.received to your app
- DELIVERYmessage.delivered or message.bounced
sent 18 · delivered 18 · replies threaded 3
Live in minutes, in three steps.
Verify your domain.
Add it, and Samva generates the DKIM and SPF records and checks your DMARC policy. If Cloudflare or Vercel hosts your DNS, connect it and they are added for you.
Send.
One typed call from the SDK, REST, or the CLI. Or hand the setup to your coding agent through hosted MCP.
Hear back.
Delivery events and replies arrive at your webhook, signed and retried. Replies thread to the email they answer.
import { createClient } from "samva";
const samva = createClient({ apiKey: process.env.SAMVA_API_KEY });
const { contact } = await samva.contacts.findOrCreate({
lookup: { type: "email", value: "ada@example.com" },
});
await samva.messages.send({
to: [contact],
channel: "email",
email: {
subject: "Your invoice is ready",
html: "<p>Invoice #1042 is ready.</p>",
text: "Invoice #1042 is ready.",
},
});Everything the one-way pipe leaves out.
Send in one typed call
One call returns a message id, and the email's status follows it from queued to sent to delivered.
Replies come back to your app
Inbound email on your domain is parsed, threaded to the email it answers, and posted to your webhook. Answer in the same thread.
Know what happened to every email
Sent, delivered, bounced, complained, received: signed webhook events, retried with backoff. Opens, clicks, and a timeline per send in the dashboard.
Change the email without a deploy
Versioned templates in a Git-backed project. Publish, roll back, or edit in the AI email editor.
Send from your own domain
Samva generates the DKIM and SPF records and checks your DMARC policy. On Cloudflare or Vercel, it adds them for you.
Announcements from the same API
Campaigns send one email to a list of contacts, now or on a schedule, using the same templates, domain and events as your transactional mail.
Your agent can run it
Hosted MCP and the CLI. Your agent edits a template, you review the diff, and you publish that exact version.
Your own sending reputation
Each account sends with its own reputation. Bounces and complaints are suppressed per account, and you can see and lift a suppression.
A bill with a ceiling
Extra emails cost exactly $0.50 per 1,000, under a spend limit you set.
An inbox for your agent
Give your app or your agent its own inbox on samva.email or your domain, like support@ or agent@. It reads, searches, and replies through the API, CLI, or MCP with a key that reaches only that mailbox.
One thread, from send to reply.
The email you send, its delivery events, and the reply your customer sends back land on one conversation. Send the next email with that conversation id and it joins the thread. Your app reads it the way your support team would.
- 09:14message.sent“Your invoice is ready”
- 09:14message.deliveredada@example.com
- 11:02message.received“Can you add our VAT number to this?”
- 11:20message.sent“Re: Your invoice is ready”
Numbers we publish, and the code that enforces them.
Free tier
Every month, no card
Past your allowance
Any paid plan, one rate
Webhook delivery
Automatic attempts, then the log
Signed events
What reaches your endpoint for one email
- 09:41:02message.sentmsg_8f2c1qd3hv6r0wxk
- 09:41:04message.deliveredmsg_8f2c1qd3hv6r0wxk
- 10:17:55message.receivedconv_5nz8qd3hv6r0wxkt
Send latency
p50, production, API to accepted
Prices, limits, and retries are read from the code that enforces them.
A bill you can predict.
You are billed on emails sent. Past your plan, each extra email costs exactly $0.50 per 1,000, up to a spend limit you set ($50 by default). Raise it, lower it, or pause it in billing settings.
- 3,000 emails/month
- 1 sending domain
- 1,000 contacts
- 15,000 emails/month
- Templates, inbound, and webhooks
- 5 sending domains
- 50,000 emails/month
- Templates, inbound, and webhooks
- 5 team members
- 300,000 emails/month
- Templates, inbound, and webhooks
- Priority support
Sending, templates, inbound, and webhooks come with every plan. Each plan includes an active-contact allowance. Pay in your own currency at checkout.
See full pricingCheck it before you sign up.
Send a real email
Try the demo at the top of this page. It runs on the same API.
Read the API
The full OpenAPI spec, plus llms.txt and auth.md for your agent.
See the comparisons
Samva against Amazon SES, AutoSend, inbound.new, Mailgun, Postmark, Resend, and SendGrid, with dated sources.
Talk to the founder
Every message is read by the founder, who replies by email, usually within a day.
SPF, DKIM, and DMARC on your own domain, and your own sending reputation. Guides: Email authentication explained, Why emails go to spam.
Common questions.
What is Samva?
An email API for your app. You send transactional and product email with one typed call, and delivery events and customer replies come back to your app as signed webhooks, and replies thread to the email they answer. A dashboard shows every send.
How do replies get back to my app?
Turn on receiving for your domain. Replies are parsed, attached to the same conversation as the email they answer, and posted to your webhook as message.received. You can answer in the same thread.
Is there a free plan?
Yes. 3,000 emails a month, no card. Paid plans start at $5 a month for 15,000 emails.
Do you bill per contact?
You are billed on emails sent. Each plan also includes an active-contact allowance, listed on the pricing page.
What happens if I go over my plan?
Paid plans bill extra emails at exactly $0.50 per 1,000, up to a monthly spend limit ($50 by default) you can raise, lower, or pause. The free plan stops at 3,000.
Can my coding agent set it up?
Yes. Point an MCP client at mcp.samva.dev, or run samva login in the CLI. Your agent can send, read events, and edit templates; you publish what you reviewed.
Can I send from my own domain?
Yes. Add it, publish the records Samva generates (or connect Cloudflare or Vercel and they are added for you), and mail goes out from your address, signed with DKIM.
What about deliverability?
SPF, DKIM, and DMARC on your domain, bounces and complaints suppressed for you, and your own sending reputation. Every send has events you can check.
Send your first email in minutes.
Free for 3,000 emails a month. When a customer replies, you will see it land.

