{
  "data": {
    "a": {
      "slug": "resend",
      "name": "Resend API + MCP",
      "vendor": "Resend",
      "vendorUrl": "https://resend.com",
      "kind": "http-api",
      "category": "email",
      "summary": "Transactional and marketing email API with inbound receiving, templates, broadcasts and automations.",
      "url": "https://www.anchorterminal.com/tools/resend",
      "markdownUrl": "https://www.anchorterminal.com/tools/resend.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/resend.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/resend.json",
      "dns": "resend.grade.anchorterminal.com",
      "repo": "https://github.com/resend/resend-mcp",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.resend.com",
      "packages": [
        {
          "registry": "npm",
          "name": "resend"
        },
        {
          "registry": "pypi",
          "name": "resend"
        },
        {
          "registry": "npm",
          "name": "resend-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key (`re_...`) with full or sending-only permissions. Requests without a User-Agent header get a 403. The hosted MCP signs in with OAuth. The local MCP takes the key from `RESEND_API_KEY` or a `--key` flag.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 3,000 emails a month, capped at 100 a day. Pro $20 a month for 50,000 emails or $35 for 100,000, overage $0.90 per 1,000. Scale from $90 for 100,000 to $1,150 for 2,500,000, overage $0.90 down to $0.46 per 1,000. Received emails count towards the quota. Every plan includes 3 inboxes, and paid plans can add more at $1 an inbox a month; inbox mail uses the transactional quota. Marketing is billed by contacts from $40 a month for 5,000. Dedicated IP $30 a month on Scale. Monthly billing only (https://resend.com/pricing.md).",
      "priceSummary": "$20 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs, pricing or MCP README (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 136,
      "popularity": {
        "githubStars": 575,
        "npmWeekly": 13608112,
        "pypiWeekly": 2840474,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://resend.com/docs",
      "llmsTxt": "https://resend.com/docs/llms.txt",
      "openapi": "https://raw.githubusercontent.com/resend/resend-openapi/main/resend.yaml",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.templates",
        "email.domains",
        "email.analytics",
        "email.marketing"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 78.1,
        "grade": "A",
        "agentReady": true,
        "rank": 26,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 93,
          "payments": 50,
          "reliability": 90,
          "schema": 95,
          "security": 69,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "`Idempotency-Key` on POST /emails and /emails/batch, kept for 24 hours. 136 MCP tools load at once, with no toolsets.",
        "bestFor": "Developers who want an agent to send, receive and manage templates from one MCP, and for teams that value tool descriptions written for models.",
        "strengths": [
          "`Idempotency-Key` on POST /emails and /emails/batch, kept for 24 hours",
          "MCP tool descriptions that say what each tool is for, what it isn't for and which tool to use instead",
          "Hosted MCP with OAuth, discoverable through an MCP Server Card, and the same code on npm as resend-mcp under MIT",
          "Sending-only API keys that can be limited to one domain",
          "Local file reads by the MCP can be confined to chosen folders, and are off over HTTP by default since 6 October 2026"
        ],
        "weaknesses": [
          "136 MCP tools load at once, with no toolsets",
          "No destructiveHint on the 16 older remove, cancel, revoke and rotate tools",
          "Received mail and inbox threads reach the model through the MCP with no guidance on treating them as untrusted",
          "Fourteen status incidents from 11 September to 26 October, including a broadcast stall of about two hours on 15 September",
          "10 requests a second per team by default"
        ],
        "agentNotes": [
          "Send an `Idempotency-Key` on POST /emails so a retry after a timeout doesn't send twice",
          "Send a User-Agent header on raw HTTP calls or you'll get a 403",
          "Give the agent a `sending_access` key limited to one domain unless it has to manage the account",
          "On 429, wait for `retry-after`, and use /emails/batch to stay under 10 requests a second",
          "Run resend-mcp 2.25.0 or later, and on stdio set `--allowed-file-dirs` so an injected prompt can't attach files from elsewhere on disk"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "A",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 78.1
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 93,
          "payments": 50,
          "reliability": 90,
          "schema": 95,
          "security": 69,
          "transparency": 70
        },
        "provenanceScore": 96,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://api.resend.com/emails -H \"Authorization: Bearer $RESEND_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"from\":\"onboarding@resend.dev\",\"to\":[\"delivered@resend.dev\"],\"subject\":\"Hello\",\"html\":\"\u003cp\u003eIt works\u003c/p\u003e\"}'",
        "claudeCode": "claude mcp add --transport http resend https://mcp.resend.com/mcp",
        "config": {
          "mcpServers": {
            "resend": {
              "args": [
                "-y",
                "resend-mcp"
              ],
              "command": "npx",
              "env": {
                "RESEND_API_KEY": "${RESEND_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/resend"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Pro 50k",
          "unit": "month",
          "usd": 20,
          "note": "50,000 emails"
        },
        {
          "item": "Pro 100k",
          "unit": "month",
          "usd": 35,
          "note": "100,000 emails"
        },
        {
          "item": "Scale 100k",
          "unit": "month",
          "usd": 90,
          "note": "100,000 emails"
        },
        {
          "item": "Scale 1M",
          "unit": "month",
          "usd": 650,
          "note": "1,000,000 emails"
        },
        {
          "item": "Overage on Pro",
          "unit": "1k-emails",
          "usd": 0.9
        },
        {
          "item": "Overage on Scale 2.5M",
          "unit": "1k-emails",
          "usd": 0.46
        },
        {
          "item": "Dedicated IP",
          "unit": "month",
          "usd": 30,
          "note": "Scale plan only"
        }
      ],
      "provenance": {
        "legalEntity": "Plus Five Five, Inc.",
        "domain": "resend.com",
        "domainRegistered": "2002-08-23",
        "domainNote": "resend.com was registered in 2002, long before Resend launched, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://resend.com/legal/terms-of-service",
        "privacy": "https://resend.com/legal/privacy-policy",
        "statusPage": "https://resend-status.com",
        "changelog": "https://resend.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "security.txt lists a contact and policy but no Expires field."
        ],
        "score": 96
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "card": "unknown",
        "freeTier": true,
        "minutes": 5,
        "credential": "api-key",
        "hosting": [
          "US"
        ],
        "euResidency": "no",
        "trainsOnData": "no",
        "zeroRetention": "unknown",
        "certifications": [
          "SOC 2 Type II",
          "GDPR"
        ],
        "dpa": true,
        "selfHost": "no"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/resend.json",
      "live": {
        "slug": "resend",
        "probe": {
          "target": "https://api.resend.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:51.029092138Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 189,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 130,
          "p95ms24h": 213,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://resend-status.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:58.634020312Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "resend/resend-mcp",
            "version": "v2.28.0",
            "released": "2026-11-03",
            "seenAt": "2026-11-07T00:01:35.51958095Z"
          },
          {
            "registry": "npm",
            "name": "resend",
            "version": "6.37.0",
            "seenAt": "2026-11-07T00:01:33.182369236Z"
          },
          {
            "registry": "npm",
            "name": "resend-mcp",
            "version": "2.28.0",
            "seenAt": "2026-11-07T00:01:34.545590942Z"
          },
          {
            "registry": "pypi",
            "name": "resend",
            "version": "2.52.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-07T00:01:34.420616378Z"
          }
        ],
        "githubStars": 580,
        "npmWeekly": 17996696,
        "pypiWeekly": 3825215,
        "securityTxt": {
          "url": "https://resend.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-07T16:00:35.732749048Z"
        },
        "llmsTxt": {
          "url": "https://resend.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:48.899026704Z"
        },
        "domain": {
          "domain": "resend.com",
          "registered": "2002-08-23",
          "source": "https://rdap.verisign.com/com/v1/domain/resend.com",
          "checkedAt": "2026-11-01T14:08:32.01001595Z"
        },
        "pages": [
          {
            "url": "https://resend.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:24.663602539Z",
            "changedAt": "2026-11-05T13:02:55.134035345Z",
            "fingerprint": "4f8dd0510815"
          },
          {
            "url": "https://resend.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-16T22:30:05.263363031Z",
            "changedAt": "2026-10-15T21:33:21.395037011Z",
            "fingerprint": "ed53ce06e4f7"
          },
          {
            "url": "https://resend.com/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:30.812893481Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ed53ce06e4f7"
          },
          {
            "url": "https://resend.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:26.845665246Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ad5261c3e915"
          },
          {
            "url": "https://resend.com/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:28.81862608Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e09589be6323"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.resend.com/mcp",
          "checkedAt": "2026-11-07T01:47:15.80074285Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:47:15.80074285Z"
        },
        "github": {
          "repo": "resend/resend-mcp",
          "checkedAt": "2026-11-02T09:21:30.974399891Z",
          "stars": 578,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-30T20:29:15Z",
          "openIssues": 2,
          "openPRs": 19,
          "issuesOpened90d": 3,
          "issuesClosed90d": 3,
          "prsMerged90d": 34,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-26T21:26:50Z"
          },
          "replies": {
            "sampled": 20,
            "unanswered": 2,
            "medianDays": 47.4
          }
        },
        "updatedAt": "2026-11-07T18:21:58.634020312Z"
      }
    },
    "answer": "Resend API + MCP scores 78.1 (A) on agent readiness against SendLayer's 47.7 (D), and leads in every scored category.",
    "b": {
      "slug": "sendlayer",
      "name": "SendLayer",
      "vendor": "SendLayer, LLC",
      "vendorUrl": "https://sendlayer.com",
      "kind": "http-api",
      "category": "email",
      "summary": "SendLayer is a transactional email service from SendLayer, LLC, with an SMTP relay, a REST API for sending and email events, webhooks, SDKs in five languages and a hosted MCP server. It is aimed largely at WordPress and small-business sites.",
      "url": "https://www.anchorterminal.com/tools/sendlayer",
      "markdownUrl": "https://www.anchorterminal.com/tools/sendlayer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/sendlayer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sendlayer.json",
      "dns": "sendlayer.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.sendlayer.com",
      "packages": [
        {
          "registry": "npm",
          "name": "sendlayer"
        },
        {
          "registry": "pypi",
          "name": "sendlayer"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key in the `Authorization` header, created per sending domain in the dashboard (one is made when a domain is authorised). Keys can be labelled and deleted; no scopes or read-only keys were found. The hosted MCP server takes the same key in an `x-sendlayer-api-key` or `Authorization` header.",
      "pricing": "paid",
      "pricingNotes": "Plans billed annually. Starter $5 a month for 1,000 emails, Business $15 for 5,000, Growth $25 for 10,000, Scale 20,000+ by quote. A free trial sends up to 200 emails. Accounts that reach their limit are upgraded automatically. 14-day money-back guarantee.",
      "priceSummary": "$5 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, llms.txt, the OpenAPI file or the pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 5,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 113,
        "pypiWeekly": 9,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://developers.sendlayer.com/",
      "llmsTxt": "https://developers.sendlayer.com/llms.txt",
      "openapi": "https://developers.sendlayer.com/api-reference/sendlayer.json",
      "capabilities": [
        "email.send",
        "email.analytics",
        "email.domains"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "smtp",
        "webhooks",
        "openapi",
        "llms-txt",
        "mcp",
        "remote-mcp",
        "status-page",
        "typescript",
        "python",
        "php",
        "ruby",
        "go"
      ],
      "lastRelease": "2026-08-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.7,
        "grade": "D",
        "agentReady": false,
        "rank": 1135,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 19,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 40,
          "payments": 20,
          "reliability": 48,
          "schema": 68,
          "security": 38,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Low-volume transactional mail for WordPress and small sites.",
        "strengths": [
          "Send limits per minute, hour and day are published for each plan",
          "OpenAPI file, llms.txt and Markdown copies of every developer page",
          "Official SDKs for Node, Python, PHP, Ruby and Go",
          "Hosted MCP server at mcp.sendlayer.com with five tools for sending, events and webhooks",
          "Numbered error codes with messages for each missing or invalid field"
        ],
        "weaknesses": [
          "No idempotency key on sends, so a retried request can send twice",
          "API keys can't be scoped or made read-only",
          "Status history shows 98 automated outage entries in 90 days with no durations or write-ups",
          "Privacy policy has no date, retention periods, DPA or sub-processor list",
          "No public changelog, SLA, security.txt or disclosure policy found"
        ],
        "agentNotes": [
          "Check the email log with `GET /api/v1/events` before 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"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.7
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 40,
          "payments": 20,
          "reliability": 48,
          "schema": 68,
          "security": 38,
          "transparency": 23
        },
        "provenanceScore": 75,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install sendlayer",
        "http": "curl https://console.sendlayer.com/api/v1/email -X POST -H \"Authorization: Bearer $SENDLAYER_API_KEY\" -H \"Content-Type: application/json\" -d '{\"From\":{\"name\":\"You\",\"email\":\"you@yourdomain.com\"},\"To\":[{\"name\":\"Person\",\"email\":\"person@example.com\"}],\"Subject\":\"Hello\",\"ContentType\":\"Text\",\"PlainContent\":\"Hello\"}'",
        "claudeCode": "claude mcp add --scope user --transport http sendlayer-mcp https://mcp.sendlayer.com --header \"Authorization: Bearer YOUR_SENDLAYER_API_KEY\"",
        "config": {
          "mcpServers": {
            "sendlayer": {
              "headers": {
                "x-sendlayer-api-key": "YOUR_SENDLAYER_API_KEY"
              },
              "url": "https://mcp.sendlayer.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/sendlayer"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 5,
          "note": "1,000 emails a month, billed annually"
        },
        {
          "item": "Business",
          "unit": "month",
          "usd": 15,
          "note": "5,000 emails a month, billed annually"
        },
        {
          "item": "Growth",
          "unit": "month",
          "usd": 25,
          "note": "10,000 emails a month, billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "SendLayer, LLC",
        "domain": "sendlayer.com",
        "domainRegistered": "2015-07-22",
        "endpointOnVendorDomain": true,
        "terms": "https://sendlayer.com/terms-of-service/",
        "privacy": "https://sendlayer.com/privacy-policy/",
        "statusPage": "https://status.sendlayer.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms name SendLayer, LLC under Florida law with courts in West Palm Beach. Neither the terms nor the privacy policy carries a date.",
          "The terms contain no clause on automated access to the website.",
          "sendlayer.com/robots.txt disallows only WordPress internals, cart and search paths. developers.sendlayer.com allows all but /_next/ and /cdn-cgi/.",
          "RDAP gives sendlayer.com a registration date of 22 July 2015; the about page says the team started SendLayer in 2022, and the footer copyright runs from 2021.",
          "/.well-known/security.txt returns 404."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/sendlayer.json",
      "live": {
        "slug": "sendlayer",
        "probe": {
          "target": "https://mcp.sendlayer.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:53.661767075Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 337,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 332,
          "p95ms24h": 423,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.sendlayer.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:44.410046578Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "sendlayer",
            "version": "1.1.0",
            "seenAt": "2026-11-07T00:04:36.013206716Z"
          },
          {
            "registry": "pypi",
            "name": "sendlayer",
            "version": "1.1.0",
            "released": "2026-08-21",
            "seenAt": "2026-11-07T00:04:36.403864413Z"
          }
        ],
        "npmWeekly": 113,
        "pypiWeekly": 9,
        "securityTxt": {
          "url": "https://sendlayer.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:08.464258052Z"
        },
        "llmsTxt": {
          "url": "https://developers.sendlayer.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:54.535300528Z"
        },
        "pages": [
          {
            "url": "https://sendlayer.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:27.507195007Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1f5bea738989"
          },
          {
            "url": "https://sendlayer.com/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:31.497088663Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1fbf9877b12a"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.sendlayer.com",
          "checkedAt": "2026-11-07T01:47:41.040426143Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:47:41.040426143Z"
        },
        "updatedAt": "2026-11-07T18:20:53.661767075Z"
      }
    },
    "edges": [
      {
        "by": 53,
        "category": "maintenance",
        "leads": "resend",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "resend-mcp 2.27.2 on 26 October, resend-node 6.35.0 on 27 October and 6.36.0, 6.36.1 and 6.37.0 on 30 October, and the Python SDK tag v2.50.1 on 29 October (30). Six MCP releases since 6 October (2.25.0 to 2.27.2) and five Node SDK releases since 16 October (20). Pull requests merge within days and Renovate keeps dependencies current. We couldn't see issue reply times from git (18). Current official SDKs (15). CI builds, lints, checks pinned dependencies and releases from the repository's workflows on 1 November (10).",
          "b": "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."
        },
        "scores": {
          "a": 93,
          "b": 40
        }
      },
      {
        "by": 42,
        "category": "reliability",
        "leads": "resend",
        "name": "Reliability",
        "reasons": {
          "a": "incident.io status page with per-component uptime and incident timelines (20). On 1 November the page's data starts on 2 October 2026, and the feed adds two incidents since 17 October, both labelled degraded performance. On 23 October \"Intermittent latency spikes on our emails API\" ran 15:57 to 16:47 UTC (50 minutes) on the sending components, and on 26 October email status updates were delayed from 14:34 to 14:57 UTC (23 minutes), with no data lost. Earlier in the window, new team provisioning and contact webhook delivery were delayed on 9 and 10 October, function processing was delayed 2 hours 46 minutes on 26 September (sending not affected), and API and dashboard errors lasted 45 minutes on 24 September and 37 minutes on 1 October. The broadcast sending stall of about two hours on 15 September, which held about 9,200 transactional emails up to 25 minutes, and the one-minute MCP outage on 11 September stay per the 6 October check, and the 3 to 10 September incidents per the 1 October check. Earlier checks gave 15, between minor only and one major, for the busy record and the two-hour stall. This run reads delays and degradation as minor however long they run, and no core API was down or erroring widely for an hour, so minor only (20). 10 requests a second per team, plus daily and monthly quotas, re-read on 1 November (15). 429 with `retry-after` and IETF ratelimit headers, and `Idempotency-Key` on POST /emails and /emails/batch, kept 24 hours, re-read on 1 November (15). 99.99% uptime SLA on Enterprise (10). GA (10). 20+20+15+15+10+10 = 90.",
          "b": "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."
        },
        "scores": {
          "a": 90,
          "b": 48
        }
      },
      {
        "by": 34,
        "category": "transparency",
        "leads": "resend",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with published terms and an MIT MCP server (20). 30-day retention on Free, Pro and Scale per the pricing page, backups kept 7 days, a DPA (last update 31 December 2025) and a privacy policy (last update 27 August 2026) that keeps personal data \"only for as long as is necessary\", re-read on 1 November (24). Dated changelog, no deprecation policy found (8). 22 subprocessors listed, all in the USA, still dated 27 August 2026 on 1 November, including Anthropic and RunPod for AI processing. Hosting regions aren't stated beyond \"multi-region\" on the pricing page (18).",
          "b": "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."
        },
        "scores": {
          "a": 83,
          "b": 49
        }
      },
      {
        "by": 31,
        "category": "security",
        "leads": "resend",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Bearer keys with full_access or sending_access, and a sending key can be limited to one domain. The hosted MCP signs in by OAuth with no documented scope choice (25). Sending-only keys exist, but the MCP has no read-only mode, and with a full key an agent can create keys and remove domains (10). get-received-email and the new inbox thread tools hand inbound mail to the model. Since resend-mcp 2.25.0 (6 October) local file reads by `send-email` attachments and `create-contact-import` are off over HTTP unless `--allowed-file-dirs` is set, and the README tells stdio users to set it to stop a prompt-injected agent attaching files outside chosen folders. That's a documented mitigation for one injection path, with no guidance on treating received mail as untrusted (4). Before 2.25.0 any local file path could be attached, including over HTTP, where a remote caller could read the server's disk; the maintainers fixed it and disclosed it in the README, read as Mapbox's 5 October fix was, as part of a public programme rather than a deduction. API request logs with full request and response bodies (14). SOC 2 Type II, an annual penetration test, a responsible-disclosure page and a security.txt with Contact and Policy but no Expires field, re-read on 1 November (16). 25 + 10 + 4 + 14 + 16 = 69.",
          "b": "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."
        },
        "scores": {
          "a": 69,
          "b": 38
        }
      },
      {
        "by": 30,
        "category": "payments",
        "leads": "resend",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices and overage ($0.90 down to $0.46 per 1,000) published without login, including a Markdown pricing page (20). Free plan of 3,000 emails a month, 100 a day, with no card per the 1 October check; the Markdown pricing page re-read on 1 November doesn't say (20). Since 22 September, `stripe projects add resend/email` creates a Resend account or links an existing one, generates an API key and writes it to `.env`, so an agent can get access through the operator's Stripe login. A person still needs a Stripe account and the Stripe CLI, so partial credit, as for other Stripe Projects listings (10).",
          "b": "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."
        },
        "scores": {
          "a": 50,
          "b": 20
        }
      },
      {
        "by": 27,
        "category": "schema",
        "leads": "resend",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI spec in resend/resend-openapi, updated 30 October and typed Zod schemas on every MCP tool (25). llms.txt with about 423 links (1 November), Markdown docs and a Markdown pricing page (10). MCP descriptions follow a Purpose, NOT for, Returns, When to use and Workflow pattern and name the tool to use instead (20). min and max on limits, enums such as full_access and sending_access, and mutual exclusions spelt out (14). An errors page with typed error names, and examples throughout (14). Dated product changelog and semver tags on the MCP, but the repository's CHANGELOG.md stops at 1.1.0 and the API has no version in its path (12).",
          "b": "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."
        },
        "scores": {
          "a": 95,
          "b": 68
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Resend",
        "b": "SendLayer, LLC",
        "name": "Vendor"
      },
      {
        "a": "https://api.resend.com",
        "b": "https://mcp.sendlayer.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "136",
        "b": "5",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-30",
        "b": "2026-08-21",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "575 stars, 13.6M npm/wk, 2.8M PyPI/wk",
        "b": "113 npm/wk, 9 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.4/5 (8)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Resend API + MCP scores 78.1 (A) on agent readiness against SendLayer's 47.7 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Resend API + MCP or SendLayer?"
      },
      {
        "answer": "Resend API + MCP takes an API key or an OAuth sign-in. SendLayer needs an API key.",
        "question": "Do Resend API + MCP and SendLayer need an API key?"
      },
      {
        "answer": "Yes. Resend API + MCP has a hosted endpoint at https://api.resend.com and SendLayer at https://mcp.sendlayer.com.",
        "question": "Can an agent call Resend API + MCP and SendLayer without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 90 against 48",
          "Schema \u0026 documentation, 95 against 68",
          "Agent ergonomics, 67 against 62",
          "Security \u0026 auth, 69 against 38",
          "Payments \u0026 pricing, 50 against 20",
          "Maintenance \u0026 community, 93 against 40",
          "Transparency \u0026 trust, 83 against 49"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Developers who want an agent to send, receive and manage templates from one MCP, and for teams that value tool descriptions written for models.",
        "slug": "resend",
        "watchFor": "136 MCP tools load at once, with no toolsets"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Low-volume transactional mail for WordPress and small sites.",
        "slug": "sendlayer",
        "watchFor": "No idempotency key on sends, so a retried request can send twice"
      }
    ],
    "history": {
      "resend": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-01",
          "delta": 1,
          "from": 77.1,
          "fromGrade": "BB",
          "to": 78.1,
          "toGrade": "A"
        },
        {
          "causes": [
            "product",
            "evidence"
          ],
          "date": "2026-10-17",
          "delta": 2,
          "from": 75.1,
          "fromGrade": "BB",
          "to": 77.1,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 75.3,
          "fromGrade": "BB",
          "to": 75.1,
          "toGrade": "BB"
        }
      ],
      "sendlayer": null
    },
    "job": {
      "capability": "email.send",
      "name": "Sending email"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ahasend-vs-resend.json",
        "title": "AhaSend API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ahasend-vs-sendlayer.json",
        "title": "AhaSend API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-resend.json",
        "title": "Amazon SES vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendlayer.json",
        "title": "Amazon SES vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-resend.json",
        "title": "Brevo API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-sendlayer.json",
        "title": "Brevo API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-resend.json",
        "title": "Cloudflare Email Service vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendlayer.json",
        "title": "Cloudflare Email Service vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-resend.json",
        "title": "Groundmail API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-sendlayer.json",
        "title": "Groundmail API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-resend.json",
        "title": "Loops API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/loops-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-sendlayer.json",
        "title": "Loops API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/loops-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailersend-vs-resend.json",
        "title": "MailerSend vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailersend-vs-sendlayer.json",
        "title": "MailerSend vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-resend.json",
        "title": "Mailgun API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.json",
        "title": "Mailgun API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-resend.json",
        "title": "Mailjet API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.json",
        "title": "Mailjet API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-resend.json",
        "title": "MailPace vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-sendlayer.json",
        "title": "MailPace vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailtrap-vs-resend.json",
        "title": "Mailtrap Email API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailtrap-vs-sendlayer.json",
        "title": "Mailtrap Email API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mandrill-vs-resend.json",
        "title": "Mailchimp Transactional (Mandrill) vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mandrill-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mandrill-vs-sendlayer.json",
        "title": "Mailchimp Transactional (Mandrill) vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mandrill-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postmark-vs-resend.json",
        "title": "Postmark API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/postmark-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postmark-vs-sendlayer.json",
        "title": "Postmark API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/postmark-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/resend-vs-sendgrid.json",
        "title": "Resend API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/resend-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/resend-vs-smtp2go.json",
        "title": "Resend API + MCP vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/resend-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/resend-vs-zoho-zeptomail.json",
        "title": "Resend API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/resend-vs-zoho-zeptomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendgrid-vs-sendlayer.json",
        "title": "Twilio SendGrid vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/sendgrid-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendlayer-vs-smtp2go.json",
        "title": "SendLayer vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/sendlayer-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail.json",
        "title": "SendLayer vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 42,
        "edge": "resend",
        "key": "reliability",
        "name": "Reliability",
        "resend": 90,
        "sendlayer": 48,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 27,
        "edge": "resend",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "resend": 95,
        "sendlayer": 68,
        "weight": 13
      },
      {
        "by": 5,
        "edge": "resend",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "resend": 67,
        "sendlayer": 62,
        "weight": 13
      },
      {
        "by": 31,
        "edge": "resend",
        "key": "security",
        "name": "Security \u0026 auth",
        "resend": 69,
        "sendlayer": 38,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "resend",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "resend": 50,
        "sendlayer": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 53,
        "edge": "resend",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "resend": 93,
        "sendlayer": 40,
        "weight": 7
      },
      {
        "by": 34,
        "edge": "resend",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "resend": 83,
        "sendlayer": 49,
        "weight": 7
      }
    ],
    "summary": "Resend API + MCP scores 78.1 (A) on agent readiness against SendLayer's 47.7 (D), and leads in every scored category. Both do sending email.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "resend": "`Idempotency-Key` on POST /emails and /emails/batch, kept for 24 hours. 136 MCP tools load at once, with no toolsets.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/resend-vs-sendlayer",
    "json": "https://www.anchorterminal.com/compare/resend-vs-sendlayer.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/resend-vs-sendlayer.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/resend-vs-sendlayer.min.md"
  },
  "markdown": "Resend API + MCP scores 78.1 (A) on agent readiness against SendLayer's 47.7 (D), and leads in every scored category. Both do sending email.\n\n- Resend API + MCP: grade A, 78.1/100, rank #26 of 1486. Markdown https://www.anchorterminal.com/tools/resend.md · JSON https://www.anchorterminal.com/api/v1/tools/resend.json\n- SendLayer: grade D, 47.7/100, rank #1135 of 1486. Markdown https://www.anchorterminal.com/tools/sendlayer.md · JSON https://www.anchorterminal.com/api/v1/tools/sendlayer.json\n- Best email delivery APIs for AI agents: https://www.anchorterminal.com/best/email/index.md\n- All 174 email comparisons: https://www.anchorterminal.com/compare/email/index.md\n\n## Which one, for what\n\n### Resend API + MCP (A)\n\nGood for: Developers who want an agent to send, receive and manage templates from one MCP, and for teams that value tool descriptions written for models.\n\nAhead on:\n- Reliability, 90 against 48\n- Schema \u0026 documentation, 95 against 68\n- Agent ergonomics, 67 against 62\n- Security \u0026 auth, 69 against 38\n- Payments \u0026 pricing, 50 against 20\n- Maintenance \u0026 community, 93 against 40\n- Transparency \u0026 trust, 83 against 49\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: 136 MCP tools load at once, with no toolsets\n\n### SendLayer (D)\n\nGood for: Low-volume transactional mail for WordPress and small sites.\n\nWatch for: No idempotency key on sends, so a retried request can send twice\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Resend API + MCP +53\n\n- Resend API + MCP (93): resend-mcp 2.27.2 on 26 October, resend-node 6.35.0 on 27 October and 6.36.0, 6.36.1 and 6.37.0 on 30 October, and the Python SDK tag v2.50.1 on 29 October (30). Six MCP releases since 6 October (2.25.0 to 2.27.2) and five Node SDK releases since 16 October (20). Pull requests merge within days and Renovate keeps dependencies current. We couldn't see issue reply times from git (18). Current official SDKs (15). CI builds, lints, checks pinned dependencies and releases from the repository's workflows on 1 November (10).\n- 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.\n\n### Reliability: Resend API + MCP +42\n\n- Resend API + MCP (90): incident.io status page with per-component uptime and incident timelines (20). On 1 November the page's data starts on 2 October 2026, and the feed adds two incidents since 17 October, both labelled degraded performance. On 23 October \"Intermittent latency spikes on our emails API\" ran 15:57 to 16:47 UTC (50 minutes) on the sending components, and on 26 October email status updates were delayed from 14:34 to 14:57 UTC (23 minutes), with no data lost. Earlier in the window, new team provisioning and contact webhook delivery were delayed on 9 and 10 October, function processing was delayed 2 hours 46 minutes on 26 September (sending not affected), and API and dashboard errors lasted 45 minutes on 24 September and 37 minutes on 1 October. The broadcast sending stall of about two hours on 15 September, which held about 9,200 transactional emails up to 25 minutes, and the one-minute MCP outage on 11 September stay per the 6 October check, and the 3 to 10 September incidents per the 1 October check. Earlier checks gave 15, between minor only and one major, for the busy record and the two-hour stall. This run reads delays and degradation as minor however long they run, and no core API was down or erroring widely for an hour, so minor only (20). 10 requests a second per team, plus daily and monthly quotas, re-read on 1 November (15). 429 with `retry-after` and IETF ratelimit headers, and `Idempotency-Key` on POST /emails and /emails/batch, kept 24 hours, re-read on 1 November (15). 99.99% uptime SLA on Enterprise (10). GA (10). 20+20+15+15+10+10 = 90.\n- 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.\n\n### Transparency \u0026 trust: Resend API + MCP +34\n\n- Resend API + MCP (83): Closed service with published terms and an MIT MCP server (20). 30-day retention on Free, Pro and Scale per the pricing page, backups kept 7 days, a DPA (last update 31 December 2025) and a privacy policy (last update 27 August 2026) that keeps personal data \"only for as long as is necessary\", re-read on 1 November (24). Dated changelog, no deprecation policy found (8). 22 subprocessors listed, all in the USA, still dated 27 August 2026 on 1 November, including Anthropic and RunPod for AI processing. Hosting regions aren't stated beyond \"multi-region\" on the pricing page (18).\n- 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.\n\n### Security \u0026 auth: Resend API + MCP +31\n\n- Resend API + MCP (69): Bearer keys with full_access or sending_access, and a sending key can be limited to one domain. The hosted MCP signs in by OAuth with no documented scope choice (25). Sending-only keys exist, but the MCP has no read-only mode, and with a full key an agent can create keys and remove domains (10). get-received-email and the new inbox thread tools hand inbound mail to the model. Since resend-mcp 2.25.0 (6 October) local file reads by `send-email` attachments and `create-contact-import` are off over HTTP unless `--allowed-file-dirs` is set, and the README tells stdio users to set it to stop a prompt-injected agent attaching files outside chosen folders. That's a documented mitigation for one injection path, with no guidance on treating received mail as untrusted (4). Before 2.25.0 any local file path could be attached, including over HTTP, where a remote caller could read the server's disk; the maintainers fixed it and disclosed it in the README, read as Mapbox's 5 October fix was, as part of a public programme rather than a deduction. API request logs with full request and response bodies (14). SOC 2 Type II, an annual penetration test, a responsible-disclosure page and a security.txt with Contact and Policy but no Expires field, re-read on 1 November (16). 25 + 10 + 4 + 14 + 16 = 69.\n- 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.\n\n### Payments \u0026 pricing: Resend API + MCP +30\n\n- Resend API + MCP (50): No x402, MPP or L402 (0). Plan prices and overage ($0.90 down to $0.46 per 1,000) published without login, including a Markdown pricing page (20). Free plan of 3,000 emails a month, 100 a day, with no card per the 1 October check; the Markdown pricing page re-read on 1 November doesn't say (20). Since 22 September, `stripe projects add resend/email` creates a Resend account or links an existing one, generates an API key and writes it to `.env`, so an agent can get access through the operator's Stripe login. A person still needs a Stripe account and the Stripe CLI, so partial credit, as for other Stripe Projects listings (10).\n- 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.\n\n### Schema \u0026 documentation: Resend API + MCP +27\n\n- Resend API + MCP (95): OpenAPI spec in resend/resend-openapi, updated 30 October and typed Zod schemas on every MCP tool (25). llms.txt with about 423 links (1 November), Markdown docs and a Markdown pricing page (10). MCP descriptions follow a Purpose, NOT for, Returns, When to use and Workflow pattern and name the tool to use instead (20). min and max on limits, enums such as full_access and sending_access, and mutual exclusions spelt out (14). An errors page with typed error names, and examples throughout (14). Dated product changelog and semver tags on the MCP, but the repository's CHANGELOG.md stops at 1.1.0 and the API has no version in its path (12).\n- 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.\n\n## Score by category\n\n| Category | Weight | Resend API + MCP | SendLayer | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 48 | Resend API + MCP +42 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 95 | 68 | Resend API + MCP +27 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 62 | Resend API + MCP +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 69 | 38 | Resend API + MCP +31 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 20 | Resend API + MCP +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 93 | 40 | Resend API + MCP +53 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 49 | Resend API + MCP +34 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **78.1 · A** | **47.7 · D** | |\n\n## Facts side by side\n\n| Fact | Resend API + MCP | SendLayer |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Resend | SendLayer, LLC |\n| Hosted endpoint | `https://api.resend.com` | `https://mcp.sendlayer.com` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | MIT | none |\n| Tools exposed | 136 | 5 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-30 | 2026-08-21 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | no date given | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 575 stars, 13.6M npm/wk, 2.8M PyPI/wk | 113 npm/wk, 9 PyPI/wk |\n| Agent reviews | 3.4/5 (8) | none |\n\n## How the scores have moved\n\n### Resend API + MCP\n\n- +1.0 on 1 November 2026 (BB to A): correction\n- +2.0 on 17 October 2026: product, new evidence\n- -0.2 on 8 October 2026: checklist\n\n### SendLayer\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Resend API + MCP.** `Idempotency-Key` on POST /emails and /emails/batch, kept for 24 hours. 136 MCP tools load at once, with no toolsets.\n\n**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.\n\n## Before you call either\n\n### Resend API + MCP\n\n1. Send an `Idempotency-Key` on POST /emails so a retry after a timeout doesn't send twice\n2. Send a User-Agent header on raw HTTP calls or you'll get a 403\n3. Give the agent a `sending_access` key limited to one domain unless it has to manage the account\n4. On 429, wait for `retry-after`, and use /emails/batch to stay under 10 requests a second\n5. Run resend-mcp 2.25.0 or later, and on stdio set `--allowed-file-dirs` so an injected prompt can't attach files from elsewhere on disk\n\n### SendLayer\n\n1. Check the email log with `GET /api/v1/events` before retrying a failed send, since sends have no idempotency key\n2. Keep To and CC at 10 addresses or fewer and BCC at 5, or the API returns error code 20 or 27\n3. Pace sends to the plan's per-minute limit, 50 on Starter and 120 on Business, and back off on 429\n4. Pass the API key in a header to mcp.sendlayer.com; the server answers 405 to anything but POST\n\n## Questions\n\n### Which is better for AI agents, Resend API + MCP or SendLayer?\n\nResend API + MCP scores 78.1 (A) on agent readiness against SendLayer's 47.7 (D), and leads in every scored category.\n\n### Do Resend API + MCP and SendLayer need an API key?\n\nResend API + MCP takes an API key or an OAuth sign-in. SendLayer needs an API key.\n\n### Can an agent call Resend API + MCP and SendLayer without installing anything?\n\nYes. Resend API + MCP has a hosted endpoint at https://api.resend.com and SendLayer at https://mcp.sendlayer.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/resend-vs-sendlayer.json, and with the fewest tokens: https://www.anchorterminal.com/compare/resend-vs-sendlayer.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"resend\", \"b\": \"sendlayer\"}`. From a terminal: `anchor compare resend sendlayer`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/resend.json and https://www.anchorterminal.com/api/v1/tools/sendlayer.json\n\n## Other comparisons with Resend API + MCP or SendLayer\n\n- [AhaSend API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/ahasend-vs-resend.md)\n- [AhaSend API + MCP vs SendLayer](https://www.anchorterminal.com/compare/ahasend-vs-sendlayer.md)\n- [Amazon SES vs Resend API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-resend.md)\n- [Amazon SES vs SendLayer](https://www.anchorterminal.com/compare/amazon-ses-vs-sendlayer.md)\n- [Brevo API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/brevo-vs-resend.md)\n- [Brevo API + MCP vs SendLayer](https://www.anchorterminal.com/compare/brevo-vs-sendlayer.md)\n- [Cloudflare Email Service vs Resend API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-resend.md)\n- [Cloudflare Email Service vs SendLayer](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendlayer.md)\n- [Groundmail API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-resend.md)\n- [Groundmail API + MCP vs SendLayer](https://www.anchorterminal.com/compare/groundmail-vs-sendlayer.md)\n- [Loops API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/loops-vs-resend.md)\n- [Loops API + MCP vs SendLayer](https://www.anchorterminal.com/compare/loops-vs-sendlayer.md)\n- [MailerSend vs Resend API + MCP](https://www.anchorterminal.com/compare/mailersend-vs-resend.md)\n- [MailerSend vs SendLayer](https://www.anchorterminal.com/compare/mailersend-vs-sendlayer.md)\n- [Mailgun API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-resend.md)\n- [Mailgun API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.md)\n- [Mailjet API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/mailjet-vs-resend.md)\n- [Mailjet API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.md)\n- [MailPace vs Resend API + MCP](https://www.anchorterminal.com/compare/mailpace-vs-resend.md)\n- [MailPace vs SendLayer](https://www.anchorterminal.com/compare/mailpace-vs-sendlayer.md)\n- [Mailtrap Email API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/mailtrap-vs-resend.md)\n- [Mailtrap Email API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailtrap-vs-sendlayer.md)\n- [Mailchimp Transactional (Mandrill) vs Resend API + MCP](https://www.anchorterminal.com/compare/mandrill-vs-resend.md)\n- [Mailchimp Transactional (Mandrill) vs SendLayer](https://www.anchorterminal.com/compare/mandrill-vs-sendlayer.md)\n- [Postmark API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/postmark-vs-resend.md)\n- [Postmark API + MCP vs SendLayer](https://www.anchorterminal.com/compare/postmark-vs-sendlayer.md)\n- [Resend API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/resend-vs-sendgrid.md)\n- [Resend API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/resend-vs-smtp2go.md)\n- [Resend API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/resend-vs-zoho-zeptomail.md)\n- [Twilio SendGrid vs SendLayer](https://www.anchorterminal.com/compare/sendgrid-vs-sendlayer.md)\n- [SendLayer vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/sendlayer-vs-smtp2go.md)\n- [SendLayer vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Resend API + MCP vs SendLayer",
        "url": ""
      }
    ],
    "description": "Resend scores 78.1 (A) to SendLayer's 47.7 (D) for sending email. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Resend API + MCP A 78.1",
      "SendLayer D 47.7",
      "scores"
    ],
    "h1": "Resend API + MCP vs SendLayer",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/resend-vs-sendlayer",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Resend vs SendLayer for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/resend-vs-sendlayer"
  },
  "tokens": {
    "markdown": 4850,
    "slim": 2830
  },
  "version": 1
}
