Get started
send0 documentation
Give any agent a real email inbox in one API call. It can send, receive, thread replies and wait for codes.
Before you start
You need a send0 API key. During the private beta, keys are issued to people on the waitlist. Keys look like s0_live_… (sends real mail) or s0_test_… (goes through every check but never sends). See API keys for scopes and per-inbox keys.
Install
npm install @send0/sdkThe whole idea in ten lines
import { Send0 } from "@send0/sdk";
const send0 = new Send0(process.env.SEND0_API_KEY);
const inbox = await send0.inboxes.create({ name: "signup-agent" }); // signup-agent@send0.email
await browser.fill("#email", inbox.address);
await browser.click("Create account");
const msg = await send0.inboxes.wait(inbox.id, { from: "*@github.com", timeout: 60 });
console.log(msg?.extracted?.otp); // "482913"Pick a quickstart
TypeScript SDK
Create an inbox, wait for a verification email, reply in the thread.
MCP
Give Claude Code, Claude Desktop or Cursor its own inbox.
cURL
The same flow with plain HTTP, from any language.
Webhooks
Get a signed POST for every new message.
Know when it works
inboxes.create()returns an address likesignup-agent@send0.email.- Email that address from your own mailbox.
GET /v1/inboxes/{id}/messageslists it within a few seconds. wait()returns the message withextracted.otpandextracted.action_linkfilled in when the email contains a code or a verification link.- Your reply shows up in the same conversation in Gmail or Outlook.
If a request fails, the error has a stable code (for example recipient_not_allowed) and a request_id. See Errors & limits.