# email59 > email59 is an email router with a small API for developers and bots. It routes your transactional and marketing email to a sending provider (Zoho's email gateway today; AWS SES and others later). It includes unsubscribe links and lists, a blocklist and email validation. 200 emails a day free, renewed every day. Each $1 buys 1,000 email credits that last until used. There are no subscriptions. Base URL: https://email59.com/v1 Auth: `Authorization: Bearer `: an API key (`e59_live_...`, shown once) or a session key from email sign-in (`e59s_...`, 30 days) MCP: https://email59.com/v1/mcp (JSON-RPC over HTTP POST). Same sign-in via the `auth` tool. Function-calling schema: https://email59.com/v1/mcp/schema Unit: 1 email = 1 recipient. Free: 200 emails a day, renewed every day (UTC day). Unused free emails don't carry over. Credits: each $1 adds 1,000 email credits. Credits don't renew and last until used. A send uses today's free emails first, then credits. Sender: mail goes out from `@email59.com`. There is no domain to set up. email59 cannot receive replies. ## Steps for an agent 1. Sign up or sign in: POST /v1/auth with {"email": "..."}; a 6-digit code is emailed. Then POST /v1/auth with {"email": "...", "otp": "123456"} to get a session_key (a new email is signed up). Send it as `Authorization: Bearer `. Make a long-lived API key with POST /v1/keys. 2. Transactional (one recipient): POST /v1/send with {"from": "hello", "to": "user@example.com", "subject": "...", "text": "..."}. `from` is optional; the domain is always email59.com. 3. Marketing (up to 1000 recipients): POST /v1/campaigns with {"from": "news", "subject": "...", "html": "...", "list_id": "news", "recipients": ["user@example.com"]}. Sent through Zoho Campaigns, which adds the unsubscribe link and handles opt-outs. Never send marketing through /v1/send (422 use_campaigns). 4. GET /v1/account for today's numbers (daily_limit, sent_today, remaining_today, credits_remaining; credits_expire and credits_renew are always false). Buy credits with POST /v1/orders {"pack_id": "pack_10", "agree": true, "policy_version": ""} after the person has read and agreed to the refund policy and terms at GET /v1/policy (one-time payments, no subscription, not refundable in general): it returns a checkout_url for a person to pay; the credits are added once the payment clears. 5. POST /v1/validate with {"email": "..."} before adding a recipient. Verdicts: ok, invalid, no_mx, disposable, role (role addresses are not used for campaigns). 5a. Free deep check, no key: GET /v1/check?email=... (or the check_email MCP tool). Format, provider username rules, disposable and role addresses, and the domain's MX, SPF, DMARC, DKIM, MTA-STS, TLS-RPT and BIMI records, with a score 0-99 and a verdict (likely_valid, risky, likely_invalid, unknown). Gmail, Outlook and other big providers skip DNS. No email is sent, so the score is an estimate. 100 a day per IP, 1,000 a day per account with a key. Page: https://email59.com/check.html 6. POST /v1/blocklist and POST /v1/unsubscribes to manage recipients. Blocked, invalid or unsubscribed recipients are refused or skipped and don't count against the allowance. ## Every email - Every email says it is a system generated email and that no replies will be received. - Unless the content already has an unsubscribe link, email59 adds one. Transactional links open GET /v1/unsubscribe/{token}, which names the recipient and the sender; one press (POST) unsubscribes that address from that sender's campaigns. ## Account console (people) - Sign in at https://email59.com/account.html with osec.one. The console uses /v1/web/* (account, name, keys, orders) with the osec session as a Bearer token. Bots use the API key instead. ## MCP tools auth, get_pricing, check_email (no key needed); get_account, update_account, send_email, send_campaign, validate_email, block, unblock, list_blocklist, add_unsubscribe, buy_pack, order_status, create_api_key, list_api_keys (Bearer key). Errors come back with isError true and the REST error code. ## Docs - Human docs and quickstart: https://email59.com/docs.html - Articles on email: https://email59.com/articles/ - OpenAPI reference: https://email59.com/v1/docs - Pricing (JSON): https://email59.com/v1/pricing ## Notes - Errors use HTTP status codes (400, 401, 409, 422 recipient rejected, 429, 502, 503). - Company: Biz59 LLC, New York, NY.