Skip to content

Cooper Email is an email API that gives each AI agent its own inbox. Free is $0 and includes 5 inboxes and 5,000 emails a month.

Updated 2026-10-18

Cooper Email costs $0, $12, or $99 a month.

More inbox and more mail than AgentMail, at a lower price.

Free is $0 with 5 inboxes and 5,000 emails a month. Starter is $12 with 25 inboxes, 25,000 emails, and 15 custom domains. Pro is $99 with 300 inboxes, 250,000 emails, and 200 domains.

Start here

Free

$0
  • 5 inboxes
  • 5,000 emails/month
  • no daily cap
  • Custom domain not included
  • 5 GB storage
  • Search, webhooks, MCP, HTML and attachments

Most agents

Starter

$12/mo
  • 25 inboxes
  • 25,000 emails/month
  • no daily cap
  • 15 custom domains
  • 25 GB storage
  • Search, webhooks, MCP, HTML and attachments

POST /api/v1/billing/checkout
{"plan":"starter"}

Fleet

Pro

$99/mo
  • 300 inboxes
  • 250,000 emails/month
  • no daily cap
  • 200 custom domains
  • 100 GB storage
  • Search, webhooks, MCP, HTML and attachments

POST /api/v1/billing/checkout
{"plan":"pro"}

Your agent gets a phone number

Starter and Pro agents can buy a US local number through the API or MCP and receive SMS on that inbox. Each billable number is $3 a month. Pro includes 3 numbers.

What works today

  • Buy a US number with POST /api/v1/inboxes/{id}/phone-number {"area_code":"415"} or the MCP tool cooper_provision_phone_number. A verified owner is required (HTTP 409 owner_required). Idempotency-Key is supported. GET reads the number and DELETE releases it.
  • Inbound texts are stored on the inbox as messages with channel sms. Cooper sends a message.received webhook. otp_candidates lists codes found in the text.
  • Wait with the MCP tool cooper_wait_for_sms (default 20 seconds, maximum 25). GET /api/v1/inboxes/{id}/events?types=message.received&wait=25 waits for the next received message on the inbox, email or SMS. It does not filter to SMS.
  • STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, QUIT, OPTOUT, and REVOKE opt that sender out. START, YES, or UNSTOP clears the opt-out. A send to an opted-out recipient returns HTTP 409 recipient_opted_out.
  • Price: $3 a month per billable number on Starter and Pro, with 100 segments on that number.
  • Phone number: Free includes none.
  • Phone number: up to 3 US numbers, each $3 a month with 100 segments. None are included.
  • Phone number: 3 US numbers and 1,500 segments included, up to 25 numbers. Each extra number is $3 a month with 100 segments.
A phone receives a one-time code by textSMS482913Agent numberStored on the inboxwebhook or wait
An OTP or 2FA text arrives on the agent’s number, is stored on the inbox, and can wake the agent by webhook or wait.

Phone numbers · SMS docs · Owner SMS alerts

Who each plan is for

Use cases by plan names the personas. The short version is below.

Agent to inbox to webhookAgentPOST /onboardInboxbot@cooperemail.comWebhookmessage.received (signed)
No public URL? Use /wait, /wait-for-code, or SSE instead of a webhook.

Free: one builder, a few agents

Free is for a builder who wants a few agents to have their own address, without a card or a custom domain.

  • Personal agent address
  • Signup + OTP codes
  • Approve before send

5 inboxes · 5,000 emails/mo · 0 domains

See all use cases →

Starter: a production agent on your domain

Starter is for a small team running one production agent from its own domain.

  • support@ on your domain
  • Invoice & receipt inbox
  • Test inbox per CI run

25 inboxes · 25k emails/mo · 15 domains · up to 3 US numbers

See all use cases →

Pro: an inbox for every customer or agent

Pro is for products and fleets that give every customer or agent its own inbox.

  • Inbox per customer (workspaces)
  • Agent fleets
  • Outbound across many domains

300 inboxes · 250k emails/mo · 200 domains · 3 US numbers included

See all use cases →

Starter and Pro can buy a US number and receive texts.

Add-ons

Starter and Pro can add capacity on the subscription they already have. $1 per extra inbox / month, $1 per extra custom domain / month, $1 per 1,000 extra emails / month. POST /api/v1/billing/addons with {"inboxes":1}, {"domains":1}, or {"email_packs":1} replaces that quantity, from 0 to 100. An increase is invoiced immediately, and the cap rises only after Stripe confirms payment. A decrease is not credited and cannot drop below live usage. The MCP tool is cooper_set_addons. Free stays at the included cap and that call returns HTTP 402. AgentMail’s published unit is $2 (pay as you go, 2026-10-10).

Side by side with AgentMail

AgentMailCooper
Free$0 · 3 inboxes · 3,000/mo · 100/day · 0 domains$0 · 5 inboxes · 5,000/mo · no daily cap · 0 domains
Entry paidDeveloper $20/mo · 10 inboxes · 10,000/mo · 10 domainsStarter $12/mo · 25 inboxes · 25,000/mo · 15 domains
Team paidStartup $200/mo · 150 inboxes · 150,000/mo · 150 domains · SOC 2 reportPro $99/mo · 300 inboxes · 250,000/mo · 200 domains · SOC 2 not included
Overage unit$2$1

AgentMail figures are their public list, retrieved 2026-10-10 from AgentMail pricing, AgentMail pay as you go, AgentMail rate limits. AgentMail Startup includes a SOC 2 report. Cooper does not have a SOC 2 report. Startup monthly sends are stated as 150,000 in AgentMail’s pay-as-you-go post and rate-limits doc. The pricing page leaves Emails/month blank and lists 15,000 emails/day. Enterprise on both products is custom — email ops@avatar33.com. Full write-up: /compare/agentmail.

SMS

A number is $3/month and includes 100 segments. Starter starts at zero included numbers and caps at 3. Pro includes 3 numbers and 1,500 segments, and caps at 25. Numbers past the included three are $3/month and add 100 segments each. Extra segments are $10 per 500. Numbers are added to your Cooper subscription in Stripe and prorated; releasing a number takes it off. Segment packs are invoiced immediately on an increase, and a decrease is not credited.

A number can receive SMS. Inbound texts are stored on the inbox, with webhooks and wait. Account notification texts are sent on Avatar 8 LLC's verified campaign. POST /api/v1/inboxes/{id}/sms returns HTTP 409 outbound_not_registered. Details are on /docs/sms.

FreeStarterPro
NumbersNoneUp to 3 at $3/mo each3 included, up to 25
SegmentsNone100 per number / month1,500 included, plus 100 per extra number
Extra segments—$10 per 500$10 per 500

Voice

Each number includes 30 voice minutes a month on Starter. Pro includes 300 minutes, plus 30 for each number past the included three. Free has no voice minutes. Extra minutes are $10 per 250. POST /api/v1/billing/voice-minutes returns HTTP 404 and does not call Stripe.

A caller hears a short greeting, then leaves a voicemail of at most 120 seconds. Once the allowance is used, inbound stays voicemail-only and the recording cap is 60 seconds. Outbound calls past the allowance return HTTP 402. Calls are limited to US and Canada numbers, and an account can place at most 100 calls per day. Details are on /docs/phone.

FreeStarterPro
MinutesNone30 per number / month300 included, plus 30 per extra number
Extra minutes—$10 per 250$10 per 250

Agents ask

Pricing FAQ

Starter and Pro can buy a US number and receive texts. Plan, limits, and checkout. The same answers are on the FAQ.

How much does Cooper Email cost?

Free is $0, no card: 5,000 emails/month and 5 inboxes. Starter is $12/month: 25 inboxes, 25,000 emails/month, and 15 custom domains. Pro is $99/month: 300 inboxes, 250,000 emails/month, and 200 custom domains. Checkout is POST /api/v1/billing/checkout. Details: https://cooperemail.com/pricing.

What are the rate limits?

Free is 5,000 emails/month and 5 inboxes. Starter is 25,000/month. Pro is 250,000/month. Cooper does not publish a separate daily cap (AgentMail Free is 100/day, 2026-10-10). Over the inbox, domain, or monthly send cap, the API returns HTTP 402 with upgrade_url. On Starter or Pro, POST /api/v1/billing/addons raises that cap. Free cannot buy add-ons. Details: https://cooperemail.com/limits.

Are custom domains included?

Not on Free. Starter includes 15 custom domains and Pro includes 200. POST /api/v1/domains {"domain":"agents.example.com"} returns SPF, DKIM, DMARC, and MX records. GET /api/v1/domains/:id shows status. The daily cron sends domain.verified when the records match. Cooper writes DNS for an active zone already on the operator Cloudflare account. A hostname that is not a zone on that account uses external DNS: you publish the returned records at your DNS host, and Cooper checks them with public DNS. Onboard still issues username@cooperemail.com with no DNS.

What happens at the limit?

Creating an inbox, sending, or adding a domain past the cap returns HTTP 402 plan_limit_exceeded with upgrade_url. On Free, the message names POST /api/v1/billing/checkout. On Starter or Pro, the message names POST /api/v1/billing/addons. Idempotent retries of a client_id that already sent still return the stored message. Grandfathered accounts (present when billing launched) are not capped.

Is overage automatic?

No. Included limits stop at HTTP 402. Free cannot buy add-ons. On Starter or Pro, POST /api/v1/billing/addons sets the quantity, and the MCP tool is cooper_set_addons. {"inboxes":N} is $1 per extra inbox each month. {"domains":N} is $1 per extra domain each month. {"email_packs":N} is $1 per 1,000 emails each month. N replaces the previous quantity, from 0 to 100. An increase is invoiced immediately, and the cap rises only after Stripe confirms payment. A decrease is not credited. A quantity below live usage returns HTTP 409 addon_below_usage. Email, SMS, and voice packs already used stay locked until the Stripe period ends, including after the calendar month rolls. A past_due, unpaid, or incomplete subscription returns HTTP 402 subscription_not_current. Grandfathered accounts are not capped and cannot buy inbox, domain, or email add-ons. Lookup keys are cooper_overage_inbox_monthly, cooper_overage_domain_monthly, and cooper_overage_sends_1000_monthly. npm run stripe:setup creates those prices. Cooper does not silently bill past the cap.

How does an agent start a paid plan?

POST /api/v1/billing/checkout with {"plan":"starter"} or {"plan":"pro"} and the account’s Bearer key. The response is a Stripe Checkout URL the agent can hand to a person. GET /api/v1/billing returns the plan, usage, and limits. On Starter or Pro, POST /api/v1/billing/addons {"inboxes":N}, {"domains":N}, or {"email_packs":N} sets extra capacity. MCP tools: cooper_billing_status, cooper_upgrade_link, and cooper_set_addons.

Which Cooper plan do I need?

Free if you are testing up to 5 agents and do not need your own domain. Starter if one production agent needs your domain. Pro if your product gives every customer or agent its own inbox.

Can I use my own domain on Free?

No. Free includes 0 custom domains. Starter includes 15 and Pro includes 200.

Can my agent receive text messages?

Yes on Starter and Pro. Buy a US number with POST /api/v1/inboxes/{id}/phone-number. Inbound texts are stored on the inbox, with a message.received webhook and cooper_wait_for_sms. Each billable number is $3 a month. Pro includes 3. Free includes none.

Can my agent have a phone number?

Yes on Starter and Pro. Buy a US number with POST /api/v1/inboxes/{id}/phone-number or cooper_provision_phone_number, after a verified owner is on the inbox. Inbound texts are stored on the inbox, with a message.received webhook and wait. Each billable number is $3 a month. Pro includes 3. Free includes none. STOP and START are honored.

More answers on the FAQ