Email that just works.

One request to send. Verified domains, signed webhooks and a full event log, with your data stored in the EU. Nothing to babysit.

Free for 5,000 emails a month. No card required.

Emails · Acme
Emails
Recipient, subject, email id or message id
AllProblemsDeliveredIn flightCancelled
Today6
Queuedjane@example.comYour receipt10:12
Deliveredsam@example.orgYour order has shipped10:11
Deliveredlee@example.netSign in to Acme10:09
send.tsRun
201 Created{ "id": "9c1f4a52-6f6e-4b8f…" }
Webhook delivered200
POST acme.com/hooks/avelto
type email.delivered
Avelto-Signature t=1758190329,v1=5f1c…

One request. Everything else is handled.

POST /v1/emails answers 201 with an id, and the message is queued, sent and tracked from there. The parts you would otherwise build yourself are already in the request.

Idempotency keys

Retry anything. A repeat with the same key returns the original email instead of sending twice.

POST/v1/emailsIdempotency-Key: receipt-1042201 Created
network timeout, retrying
POST/v1/emailsIdempotency-Key: receipt-1042200 Same id, not sent again
id 9c1f4a52…both times
Batch sends

Up to 100 messages in one call, each validated on its own, with a result for every one.

207 Multi-Statusaccepted 99failed 1 · recipient_suppressed
Scheduled sends

Up to 30 days ahead, and cancellable until they go.

Your trial ends tomorrow
scheduled_at 2026-10-01T09:00:00Z
scheduled
Templates

Store the subject and body once; send with variables.

subject Welcome, {{name}}
html <p>Hello {{name}}</p>
template_slug "welcome"
Address validation

Check an address before you send to it. Nothing is sent or stored.

POST /v1/emails/validate
  • ada@acme.devdeliverable
  • info@acme.devrisky
  • old@acme.devundeliverable
POST /v1/emails/validate
ada@acme.devdeliverable
reason: null

Your domain, verified on its own.

Add a domain and you get the records to publish: one TXT record that proves the domain is yours, then three DKIM CNAMEs, with SPF and DMARC alongside. Publish them and we keep checking in the background, then tell you when it verifies. There is nothing to click.

  • Each record printed for you, with what it is for
  • Checked in the background, with a notice when it verifies
  • Send from the sandbox domain in the meantime
mail.acme.comeu-north-1Pending
TXT
_avelto.mail.acme.com
avelto-verification=q4h8w2…
CNAME
k7x2p4qz._domainkey
CNAME
m3r9t1vb._domainkey
CNAME
w5n8c6hd._domainkey
TXT
mail.acme.com
v=spf1 include:spf.avelto.dev ~all
TXT
_dmarc.mail.acme.com
v=DMARC1; p=none;
Checking DNS…

Signed, retried, and on the record.

Every state change can be posted to your app, signed with an Avelto-Signature header that the SDK verifies in one call. Failed deliveries retry with backoff, and every attempt is logged with its response, so you can see what went wrong and send it again.

email.sentemail.deliveredemail.delivery_delayedemail.bouncedemail.complainedemail.rejectedemail.failedemail.cancelled
Incoming requestacme.com
POST /hooks/avelto
Content-Type: application/json
Avelto-Signature: t=1758103929,v1=5f1c2a9b7e3d4c6f8a0b…
{ "type": "email.bounced", "data": { … } }
verifyWebhookSignature()
  • Timestamp within five minutes
  • HMAC-SHA256 of t.body with your secret
  • Signature matches v1
verifying…
Delivery attempts
  • 503attempt 1212 ms
  • 200attempt 287 ms
Up to eight attempts, with backoff.

Break things on purpose.

In test mode, test keys run the whole pipeline, events and webhooks included, without delivering anything. Three simulator addresses deliver, bounce or complain on demand, in live mode too.

av_test_…
Real events, no real email
av_live_…
Simulators work here too
SimulatorTest mode
POST /v1/emails to delivered@sandbox.avelto.dev

    Sent from Stockholm. Kept in the EU.

    Your email goes out from Europe, and everything we hold about it is stored in the EU. Nothing to configure, on any plan.

    Europe (Stockholm)

    Mail leaves through the eu-north-1 sending region.

    Stored in the EU

    Account data, email records and events, on every plan.

    In writing on Enterprise

    EU data residency is part of the Enterprise contract.

    DPA and sub-processors

    Published, so your review starts with the paperwork done.

    Stockholm · eu-north-1

    Your language, your editor, your agent.

    Official SDKs for Node, Python, Go and PHP, a plain HTTP API and an SMTP relay for everything else, and an MCP server so an AI agent can integrate Avelto into your project and set your account up for you.

    send.ts
    $npm install @avelto/sdk
    import { Avelto } from "@avelto/sdk";
    const avelto = new Avelto(process.env.AVELTO_API_KEY!);
    const { id } = await avelto.emails.send({
    from: "Acme <hello@mail.acme.com>",
    to: "jane@example.com",
    subject: "Your receipt",
    html: "<p>Thanks for your order.</p>",
    });
    MCP serverDocs
    $AVELTO_API_KEY=av_test_... npx -y @avelto/mcp
    →check_setuptest key · sandbox ready
    →send_email{ "id": "9c1f4a52…" }
    →get_emailstatus "delivered"
    31 tools, including
    get_quickstartadd_domainget_domain_statuscreate_webhookcreate_templatelist_suppressionsupdate_account_settingscreate_api_keyread_docs

    Start free. Pay by volume.

    Free covers 5,000 emails a month with no card. Paid plans step up by volume to 2,500,000, with published overage.

    Free
    £0/mo
    5,000 emails a month
    • 1 sending domain
    • 1 team member
    • 1-day log retention
    Start free
    Pro
    from£12/mo
    50,000 emails a month
    • Unlimited sending domains
    • 5 team members
    • 7-day log retention
    Choose Pro
    Growth
    from£60/mo
    250,000 emails a month
    • 30-day log retention
    • 10 team members
    • Priority email support
    Choose Growth
    Enterprise
    Custom
    From 3,000,000 emails a month
    • 90-day log retention
    • 99.9% uptime SLA
    • Priority support with a named contact
    Talk to us

    Prices in GBP, excluding VAT. Test-mode sends never count. Compare every plan

    Send your first email in five minutes.

    A test key, one request, and a full event log. Free to start, with plans that grow when you do.