Skip to content

An email API that works with the HTTP client you already have.

No SDK to install: curl, fetch or requests is enough. An OpenAPI schema, structured errors and a test mode make the rest predictable.

  • No card needed to test
  • Prices in euros, excluding VAT
curl -X POST https://api.outstamp.dev/v1/emails \
  -H "Authorization: Bearer $OUTSTAMP_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: welcome-42" \
  -d '{
    "from": "Acme <[email protected]>",
    "to": "[email protected]",
    "subject": "Welcome to Acme",
    "html": "<p>Your account is ready.</p>"
  }'

Built for the way you work.

  • Errors you can act on

    Every error has a type, a stable code, the parameter at fault, a request_id, and whether it is retryable.

  • An OpenAPI schema

    One canonical schema describes every endpoint, field and error, for your client generator or your tests.

  • Docs your coding agent can read

    llms.txt and llms-full.txt give AI coding tools the whole documentation in one request.

  • Test keys with known outcomes

    os_test_ keys and simulator addresses let your test suite check bounces and complaints, not only the happy path.

When you may want something else.

We would rather you choose well than switch twice.

  • You want a typed SDK in your language today. Outstamp has none yet, though the OpenAPI schema can generate one.
  • Your stack only speaks SMTP. Outstamp has no SMTP relay yet.

From key to first email.

  1. 1

    Copy a test key

    Create it in the dashboard and keep it in your server's environment.

  2. 2

    Make one request

    POST /v1/emails with from, to, subject and html. You get 202 and an id.

  3. 3

    Read the events

    GET /v1/emails/{id}/events, or subscribe a webhook endpoint.

Questions from developers.

Which languages can I use?

Any language that can make an HTTPS request. The docs show curl, Node.js and Python.

Is there a rate limit?

Yes, per project, and it grows as your sending history builds up. The limits and their error codes are in Limits and errors.

How do I find out what went wrong with a request?

Log the request_id from the error. It links the request to the email in your dashboard.

Make your first request in test mode.

No card, no DNS and no SDK.

  • No card needed to test
  • Prices in euros, excluding VAT