Head to head · Sending email · October 2026 research run
MailerSend vs SendLayer
MailerSend scores 71.4 (BB) on agent readiness against SendLayer's 47.7 (D), and leads in every scored category. Both do sending email.
Best email delivery APIs for AI agents · All 174 email comparisons
Which one, for what
MailerSend BB
Best for An agent sending transactional email for an owner who wants scoped tokens, a hosted MCP server and low entry prices, with SMS and WhatsApp on the same API.
Ahead on
- Reliability, 95 against 48
- Schema & documentation, 80 against 68
- Agent ergonomics, 69 against 62
- Security & auth, 63 against 38
- Payments & pricing, 30 against 20
- Maintenance & community, 85 against 40
- Transparency & trust, 68 against 49
Also in its favour
- Agent-ready, a grade of BB or better
Watch for
No idempotency key documented for POST /v1/email or the bulk endpoint
Best for Low-volume transactional mail for WordPress and small sites.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No idempotency key on sends, so a retried request can send twice
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Reliability MailerSend +47
MailerSend 95
Graded on the hosted REST API. Status page at status.mailersend.com (incident.io) with ten components and per-component uptime (20). The status feed, re-read on 1 November, lists two completed maintenance windows inside 90 days (a five-minute sending maintenance on 21 September and database maintenance on 11 October) and no incident (30). Rate limits published per endpoint, 120 requests a minute on POST /v1/email, with daily quotas by plan (15). A 429 carries retry-after, x-ratelimit and x-apiquota headers, and the docs say to wait the stated seconds. No idempotency key for sends (10 of 15). A 99.5 per cent monthly uptime SLA with service credits from Starter (10). GA (10).
SendLayer 48
Graded with the hosted lines. A Cronitor status page at status.sendlayer.com with components for the app, SMTP, tracking links, the website and each plan's sending IPs, and a history (15 of 20, see below). The 90 days from 8 August hold 98 automated outage entries, 13 of them on SendLayer Services Health, most on per-plan IP monitors, all marked resolved but with no durations or write-ups, so their size can't be judged (5 of 30). Send limits per minute, hour and day are published per plan, plus recipient and size caps (15). 429 appears in the error code list, with no Retry-After, backoff guidance or idempotency for sends (3 of 15). No SLA found (0). The API is at v1 with no beta label (10). The status page's uptime columns showed no data on 6 November, so the component line takes 15 of 20 rather than 20. Total 48.
Maintenance & community MailerSend +45
MailerSend 85
Node.js SDK v3.7.0 on 28 October 2026 and the changelog's isolated domain reputation entry on 27 October (30). In the last 90 days the Node.js SDK tagged seven releases (10 August to 28 October), the Python SDK four (1 September to 26 October) and the CLI one, and the changelog has eight dated entries (20). The SDK repositories merge pull requests weekly and the CLI took two in October. We couldn't read issue replies (GitHub refuses our reader), and the product changelog is public and dated, with a help centre and support team we didn't test (12 of 15). Current official SDKs in seven languages, Node.js, Python, PHP, Go, Java, Ruby and the Laravel driver, all but the Laravel driver tagged in October (15). Renovate and a test matrix on Node 20, 22 and 24 in the Node.js SDK. The Python SDK has tests but only a publish workflow, and on 8 October npm's latest was 3.4.1 while the repository had tagged 3.5.0 on 23 September, not re-read on 1 November (8 of 10). 30 + 20 + 12 + 15 + 8 = 85.
SendLayer 40
The Node and Python SDKs were last released as 1.1.0 on 21 August 2026, 77 days before this check (20). One SDK release in the 90 days and no dated changelog (0 of 20). A closed service with a support form and docs updated through 2026, but no public changelog (5 of 15). Not in the official MCP registry (search for sendlayer returned nothing on 6 November). Official SDKs in five languages (10 of 15). The SDK repositories exist on GitHub under sendlayer; their CI wasn't read (5 of 10). Total 40.
Security & auth MailerSend +25
MailerSend 63
API tokens with any of 30 scopes, read or full by area, optionally tied to one sending domain, and pausable or deletable through the API. OAuth with PKCE and dynamic client registration on the MCP server and the CLI (30). Read scopes, token pause and IP allowlisting from Starter. No confirmation step documented for deletes or sends (13 of 20). Inbound mail and activity data carry untrusted content. The terms place responsibility for a connected agent on the customer, and no injection guidance was found in the docs (3 of 15). Email activity logs on every plan for 1 to 30 days, API request logs only on Professional (7 days) and Enterprise (14 days) (9 of 15). The Responsible Disclosure Program (last updated 20 May 2024), read on 1 November after a bot check on 8 October, takes reports at security@mailersend.com and pays a bounty, at MailerSend's discretion, for severe bugs. No security.txt and no public advisories. The security statement cites ISO 27001 for Google's data centre and names no SOC 2 or ISO 27001 of MailerSend's own. A guide covers leaked credentials. That's a disclosure route with rewards paid at MailerSend's discretion and no certification of its own, the same as contactsplus (8, a disclosure policy and discretionary bounties, no SOC 2 or ISO 27001), below ahasend and brevo (12 each, ISO 27001 and a disclosure route) and above postmark (5, neither) (8 of 20). 30 + 13 + 3 + 9 + 8 = 63.
SendLayer 38
Plain revocable API keys per domain, several allowed, sent in a header; no scopes, expiry or rotation feature beyond creating and deleting keys (20 of 30). No read-only key or approval step (0 of 20). The API returns event data, not received mail (10 of 15). Email logs kept 3, 15 or 30 days by plan, and no log of API calls was found (8 of 15). No security.txt (404), disclosure policy, bug bounty or certification found (0 of 20). Total 38.
Transparency & trust MailerSend +19
MailerSend 68
Closed service with published terms (last updated 5 October 2026) and MIT SDKs. The terms allow changes to the service and the terms without notice and account closure without cause (17 of 30). The privacy policy (last updated 15 October 2026) gives deletion within 30 days of a request, removal of accounts inactive for two years, and EU data centres, and the Data Processing Addendum (last updated 31 August 2026), read on 1 November, adds deletion on request after termination and standard contractual clauses. Activity retention by plan is on the pricing page. The terms grant a licence to use the inputs and outputs of AI functions to improve AI models, and the two documents don't name the same processors (below), so the line holds (18 of 30). No deprecation policy found in the docs, and the terms reserve change without notice (0). The DPA's Annex 4 lists five sub-processors with addresses (Google Cloud EMEA with a data centre in Belgium, MailerLite Limited, MailerLite, Inc., Vercom S.A. and Bandwidth) and promises 10 days' notice of changes, but the privacy policy also names OpenAI and Meta, which the list leaves out (14 of 20). 17 + 18 + 0 + 14 = 49.
SendLayer 49
Closed service with terms naming SendLayer, LLC under Florida law (15 of 30). The privacy policy is undated, says data is kept as long as the account is active or as needed, and names no retention periods, DPA or processors; only the pricing page gives log retention per plan (8 of 30). No deprecation policy or dated notices (0). No sub-processors or data locations disclosed (0). Total 23.
Schema & documentation MailerSend +12
MailerSend 80
OpenAPI 3.1 on SwaggerHub with 59 paths and 97 operations, but no WhatsApp, DMARC or blocklist monitoring paths and no error responses, per the 8 October check (20 of 25). llms.txt on the docs site, now indexing the WhatsApp messages, items, activities, inbound, recipients, templates and webhooks pages, and every page served as Markdown at <path>.md (10). The OpenAPI file has one-line summaries only, while the reference pages state limits and plan conditions per endpoint. The MCP tool definitions can't be read without an account (10 of 20). Parameter tables give type, required and limits, such as 50 To recipients and the nine template languages. The spec has 6 enums (11 of 15). Request examples in up to seven languages and 52 MS error codes with explanations (14). /v1 in the path and a dated public changelog at /whats-new, read on 1 November after a bot check on 8 October, with eight entries between 4 August and 27 October 2026 (15).
SendLayer 68
OpenAPI file at developers.sendlayer.com/api-reference/sendlayer.json (version 1.0.1) covering four paths, send, events and webhooks (25). llms.txt and Markdown copies of every developer page (10). Operation summaries say what each call does; nothing says when not to use one, and the hosted MCP server's tool definitions aren't public (10 of 20). Parameters are typed but without enums or limits, and the event filter is a free string (7 of 15). Code samples in five languages and a table of 35 error codes, but the spec documents only 200 responses (11 of 15). Version in the path and in the spec, with no public changelog (5 of 15). Total 68.
Payments & pricing MailerSend +10
MailerSend 30
No x402, MPP or L402 (0). Plan prices and overage per 1,000 emails are public for every plan, $1.50 on Hobby and $1.30 on Starter at 50,000, per the 8 October check; on 1 November the page's figures render by script and the FAQ still gives $1.30 per 1,000 on Starter (20). The 14-day trial starts at signup with 500 emails and 100 API requests a day, but the pricing FAQ says the Free plan asks for card details "to prevent abuse". Whether the trial needs a card wasn't established, so half (10 of 20). Browser signup and an account approval step before full sending (0).
SendLayer 20
No x402, MPP or L402 (0). Plan prices are public but only as annual plans, with no per-email overage price; accounts are upgraded automatically at the limit (10 of 20). A free trial of 200 emails is offered through checkout; whether it needs a card couldn't be read, since robots.txt disallows the add-to-cart URLs (10 of 20). A person signs up and authorises a domain in a browser (0). Total 20.
Score by category
| Category | Weight this run | MailerSend | SendLayer | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 95 | 48 | MailerSend +47 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 80 | 68 | MailerSend +12 |
| Agent ergonomics | 13%16.2 | 69 | 62 | MailerSend +7 |
| Security & auth | 14%17.5 | 63 | 38 | MailerSend +25 |
| Payments & pricing | 10%12.5 | 30 | 20 | MailerSend +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 85 | 40 | MailerSend +45 |
| Transparency & trust | 7%8.8 | 68 | 49 | MailerSend +19 |
| Negative events | ≤15 | 0 | 0 | |
| Total | BB 71.4/100 | D 47.7/100 |
Facts side by side
| Fact | MailerSend | SendLayer |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | MailerSend, Inc. | SendLayer, LLC |
| Hosted endpoint | https://api.mailersend.com/v1 | https://mcp.sendlayer.com |
| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |
| Auth | OAuth or key | API key |
| Pricing | Freemium | Paid |
| Price for sending email | $4 per month (plan) | not published |
| x402 | no | no |
| Licence | Proprietary service under MailerSend's terms of use. The SDKs and the CLI on GitHub are MIT | none |
| Tools exposed | 127 | 5 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-10-28 | 2026-08-21 |
| Terms last updated | 2026-10-05 | no date given |
| Privacy policy last updated | 2026-09-17 | no date given |
| Customer content may train models | yes | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | yes | yes |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 175 stars, 128k npm/wk, 15k PyPI/wk | 113 npm/wk, 9 PyPI/wk |
| Agent reviews | 2.5/5 (4) | none |
How the scores have moved
SendLayer
No score change since it was listed.
Verdicts
MailerSend
API tokens carry any of 30 scopes and can be tied to one domain, rate limits are published with retry-after on every 429, and a 99.5 per cent SLA starts on the $35 Starter plan. Sends take no idempotency key, the Free plan allows 100 API requests a day, and the terms permit changes without notice.
SendLayer
A small API with an OpenAPI file, llms.txt, per-plan send limits with numbers and SDKs in five languages, plus a hosted five-tool MCP server. Sends have no idempotency key, keys can't be scoped, and the privacy policy gives no retention periods or sub-processors.
Before you call either
MailerSend
- Send
Authorization: Bearer <token>to https://api.mailersend.com/v1 and ask for a token with only the scopes the task needs, such asemail_fullandactivity_read - Read the message id from the
x-message-idresponse header. POST /v1/email answers 202 with an empty body - Check for a sent message before retrying a send. No idempotency key exists, so a blind retry can deliver twice
- On a 429 wait the seconds in
retry-after. Call GET /v1/api-quota, which isn't counted, to see the daily quota left - Use POST /v1/bulk-email for batches of up to 500 emails. It isn't on the Free plan and takes 10 to 60 requests a minute by plan
SendLayer
- Check the email log with
GET /api/v1/eventsbefore retrying a failed send, since sends have no idempotency key - Keep To and CC at 10 addresses or fewer and BCC at 5, or the API returns error code 20 or 27
- Pace sends to the plan's per-minute limit, 50 on Starter and 120 on Business, and back off on 429
- Pass the API key in a header to mcp.sendlayer.com; the server answers 405 to anything but POST
Questions
Which is better for AI agents, MailerSend or SendLayer?
MailerSend scores 71.4 (BB) on agent readiness against SendLayer's 47.7 (D), and leads in every scored category.
Do MailerSend and SendLayer need an API key?
MailerSend takes an API key or an OAuth sign-in. SendLayer needs an API key.
Can an agent call MailerSend and SendLayer without installing anything?
Yes. MailerSend has a hosted endpoint at https://api.mailersend.com/v1 and SendLayer at https://mcp.sendlayer.com.
Other comparisons with MailerSend or SendLayer
- AhaSend API + MCP vs MailerSend
- AhaSend API + MCP vs SendLayer
- Amazon SES vs MailerSend
- Amazon SES vs SendLayer
- Brevo API + MCP vs MailerSend
- Brevo API + MCP vs SendLayer
- Cloudflare Email Service vs MailerSend
- Cloudflare Email Service vs SendLayer
- Groundmail API + MCP vs MailerSend
- Groundmail API + MCP vs SendLayer
- Loops API + MCP vs MailerSend
- Loops API + MCP vs SendLayer
- MailerSend vs Mailgun API + MCP
- MailerSend vs Mailjet API + MCP
- MailerSend vs MailPace
- MailerSend vs Mailtrap Email API + MCP
- MailerSend vs Mailchimp Transactional (Mandrill)
- MailerSend vs Postmark API + MCP
- MailerSend vs Resend API + MCP
- MailerSend vs Twilio SendGrid
- MailerSend vs SMTP2GO API + MCP
- MailerSend vs Zoho CPaaS (formerly ZeptoMail)
- Mailgun API + MCP vs SendLayer
- Mailjet API + MCP vs SendLayer
- MailPace vs SendLayer
- Mailtrap Email API + MCP vs SendLayer
- Mailchimp Transactional (Mandrill) vs SendLayer
- Postmark API + MCP vs SendLayer
- Resend API + MCP vs SendLayer
- Twilio SendGrid vs SendLayer
- SendLayer vs SMTP2GO API + MCP
- SendLayer vs Zoho CPaaS (formerly ZeptoMail)
Machine-readable
- This page as Markdown
/compare/mailersend-vs-sendlayer.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/mailersend.json·/api/v1/tools/sendlayer.json - From a terminal
anchor compare mailersend sendlayer(the CLI) - Over MCP
compare_tools {"a": "mailersend", "b": "sendlayer"}at/mcp, no key