Sign up or sign in to email59. Pass email to have a 6-digit code emailed, then call again with email and otp to get a session key (a new email is signed up with 200 free emails a day). Or pass api_key to swap an API key for a session key. Send the key as the HTTP header 'Authorization: Bearer <session_key>'.
Parametersotpemailapi_key
Free daily emails (renewed every day), email credits per dollar, and the packs on sale. No sign-in needed.
Takes no parameters.
The signed-in account: email, daily_limit, sent_today, remaining_today, credits_remaining, resets_at.
Takes no parameters.
update_account
Update account name, company or brand
Set the name, company or brand (the look of every email the account sends) on the account.
Parametersnamebrandcompany
Send one email to one recipient: transactional (receipt, code, alert) or marketing (category). It goes out as HTML in a branded template with a text part; give text, html or both. Uses 1 email of today's allowance. Many recipients at once: send_campaign.
Parameterstorequiredcodefromhtmltextbrandheadinglist_idsubjectrequiredcategoryreply_totemplate+3 more
send_campaign
Send a marketing campaign
Send a marketing email to up to 1,000 recipients; the unsubscribe link is added for you. Invalid, role, blocked or unsubscribed recipients are skipped and cost nothing; each accepted recipient uses 1 email of today's allowance. A campaign that doesn't fit what's left today is refused whole.
Parametersfromhtmltextlist_idsubjectrequiredrecipientsrequired
check_email
Deep-check an email address
Free deep check of an email address, no sign-in needed: format, provider username rules, disposable and role addresses, and the domain's MX, SPF, DMARC, DKIM, MTA-STS, TLS-RPT and BIMI records. Returns a report with a score (0-99, likelihood the address is real) and a verdict (likely_valid, risky, likely_invalid, unknown). Gmail, Outlook and other big providers skip DNS. No email is sent.
Parametersemailrequired
check_list
Check a mailing list
List check for a mailing list: up to 1,000 different addresses a call, as emails or the text of a CSV (the column headed email). One status each: valid, risky, role, disposable, no_mx or invalid, with a reason, plus counts per status. Format, provider rules and one MX lookup per domain; no email is sent. Daily limit per account; the answer's quota shows what is left today.
Parameterscsvemails
validate_email
Validate an email address
Check an address before sending. Verdicts: ok, invalid, no_mx, disposable, role.
Parametersemailrequired
block
Block an address or domain
Block an email address or a whole domain for this account. Sends to it are refused.
Parameterskindrequiredvaluerequiredreason
unblock
Unblock an address or domain
Remove an email address or domain from the blocklist.
Parameterskindrequiredvaluerequired
list_blocklist
List blocked addresses
The account's blocked addresses and domains.
Takes no parameters.
add_unsubscribe
Record an unsubscribe
Record an opt-out. Campaigns to that list (or every list, if list_id is empty) skip the address.
Parametersemailrequiredlist_id
buy_pack
Start buying an email pack
Start buying a pack (pack_5 = $5, pack_10 = $10, pack_50 = $50; each $1 adds 3,636 email credits, which don't renew and last until used, plus a purchase fee of 5% or at least $0.50 at checkout; GET /v1/pricing has the totals). Returns a checkout_url for a person to pay; the credits arrive once the payment clears. First show the person the refund policy and terms from GET /v1/policy; pass agree=true and its version only after they agree.
Parametersagreerequiredpack_idrequiredpolicy_versionrequired
order_status
Get order status
Status of an order from buy_pack: pending or paid.
Parametersorder_idrequired
create_api_key
Create an API key
Create a long-lived API key (max 10 per account). It is shown only once. mode 'test' makes an e59_test_ key for staging and CI: its sends are accepted and stored, never delivered, and use no allowance.
Parametersmodelabel
list_test_messages
List test-key emails
Emails sent with a test key (e59_test_...), newest first: accepted, stored, never delivered. Pass id for one email with its html and text (a verify_start code is in there), or to to filter by recipient.
Parametersidtolimit
list_api_keys
List API keys
The account's API keys (ids and labels, never the keys themselves).
Takes no parameters.
verify_start
Send a verification code
Email a one-time verification code to an address (sign-up, sign-in, confirming an email). email59 makes the code, sends it, limits resends and expires it; the code is never returned to you. Returns an id. Uses 1 email of today's allowance. A new code to the same address replaces the one waiting there. Then call verify_check with what the person typed.
Parameterstorequiredfromapp_nameexpires_incode_length
verify_check
Check a verification code
Check a code from verify_start. Give to (checks the newest code sent there) or id, and code. Returns valid true or false and a status: approved, wrong_code, expired, too_many_attempts (5 wrong codes lock it), already_used, replaced or not_found. A right code works once. Uses no allowance.
Parametersidtocoderequired