Documentation

Receiver.email gives your test suites and AI agents inboxes they can program: create any address on the fly, wait for the email, and get the code or link back as JSON.

How It Works

  1. Create a project: it gets an address suffix, so every address like [email protected] is one of its inboxes.
  2. Mint an address and use it: your app or your agent signs up, resets a password or places an order with it.
  3. Wait for the email: get it back with its links and the verification code already extracted.

Four Ways In

  • REST API: everything, over HTTPS with a Bearer key
  • TypeScript SDK and Python SDK: for test suites and code
  • MCP Server: tools for AI agents in Claude, Cursor, VS Code and any MCP client
  • CLI: for shells, scripts and agents that run commands

Quick Example

TypeScript
import { ReceiverClient } from "@receiverdotemail/sdk";

const receiver = new ReceiverClient(); // reads RECEIVER_API_KEY

const inbox = await receiver.inboxes.create({ prefix: "reset" });
await app.requestPasswordReset(inbox.address);

const email = await receiver.emails.waitFor({
  recipient: inbox.address,
  since: inbox.createdAt,
  timeout: 30,
});

console.log(email.subject);   // "Reset your password"
console.log(email.links[0]);  // "https://app.example.com/reset?token=..."

Key Concepts

  • Projects: own mail and API keys. One per test suite, agent or team.
  • Inboxes: any address under a project. Unlimited, nothing to register.
  • API keys: scoped to one project. Enough on their own to mint addresses and read mail.
  • Since: waits match mail received strictly after this timestamp, so old mail never satisfies a new wait.

Next Steps