{
  "data": {
    "a": {
      "slug": "mailjet",
      "name": "Mailjet API + MCP",
      "vendor": "Mailjet (Sinch)",
      "vendorUrl": "https://www.mailjet.com",
      "kind": "http-api",
      "category": "email",
      "summary": "Sinch-owned email API with Send API v3.1, SMTP relay, a Parse API for inbound mail, templates and a marketing editor.",
      "url": "https://www.anchorterminal.com/tools/mailjet",
      "markdownUrl": "https://www.anchorterminal.com/tools/mailjet.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mailjet.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mailjet.json",
      "dns": "mailjet.grade.anchorterminal.com",
      "repo": "https://github.com/mailjet/mailjet-apiv3-nodejs",
      "license": "MIT",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.mailjet.com/v3.1",
      "packages": [
        {
          "registry": "npm",
          "name": "node-mailjet"
        },
        {
          "registry": "npm",
          "name": "@mailjet/mailjet-mcp-server"
        },
        {
          "registry": "pypi",
          "name": "mailjet-rest"
        }
      ],
      "auth": "api-key",
      "authNotes": "HTTP Basic auth with the public API key as user and the secret key as password. The MCP server takes both as MAILJET_API_KEY in `key:secret` form, and MAILJET_API_REGION=eu switches to EU servers.",
      "pricing": "freemium",
      "pricingNotes": "Free 6,000 emails a month capped at 200 a day, no card. Starter $9 a month (8,000 emails), Essential $19 (15,000), Premium $29 (15,000), with prices rising by volume and 10 per cent off yearly. Emails over the plan are billed per extra 1,000 at a rate published in the help centre, which we couldn't read. Enterprise on quote (https://www.mailjet.com/pricing/).",
      "priceSummary": "$9 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 or stablecoin payment path in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 117,
      "popularity": {
        "githubStars": 255,
        "npmWeekly": 177150,
        "pypiWeekly": 244633,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://dev.mailjet.com",
      "llmsTxt": "https://dev.mailjet.com/llms.txt",
      "openapi": "https://dev.mailjet.com/_bundle/openapi/openapi-mailjet.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-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.6,
        "grade": "C",
        "agentReady": false,
        "rank": 691,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 79,
          "payments": 30,
          "reliability": 62,
          "schema": 76,
          "security": 52,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "SandboxMode on Send API v3.1 validates a payload without delivering it, and data is stored in the EU. The released MCP server registers 117 GET-only tools and can't send. Rate limits are published without numbers, and the 429 guidance is to wait and retry, with no Retry-After header or idempotency key.",
        "bestFor": "EU-based senders who want cheap transactional and marketing mail with data kept in the EU.",
        "strengths": [
          "SandboxMode on Send API v3.1 validates a payload without delivering it",
          "Data stored on Google Cloud in Frankfurt and Saint-Ghislain",
          "Parse API routes inbound mail to a webhook",
          "OpenAPI files, llms.txt and Markdown pages",
          "Free plan of 6,000 emails a month with no card"
        ],
        "weaknesses": [
          "The MCP server registers 117 GET-only tools and can't send",
          "No numeric rate limits published",
          "Price per extra 1,000 emails isn't on the pricing page",
          "No bug bounty, disclosure policy or security.txt found",
          "The MCP repository says 1.2.0 while its git tags stop at a beta, and the npm version couldn't be read"
        ],
        "agentNotes": [
          "Set `SandboxMode` to true on the first sends to check payloads without delivering",
          "Send with POST /v3.1/send and a `Messages` array, many messages per call",
          "Use the MCP for statistics and contact lookups only, since it can't send",
          "Pass `MAILJET_API_KEY` as `key:secret`. The server checks it at startup and exits if it's wrong",
          "On 429, wait and retry. Non-transactional endpoints have much lower limits than send",
          "Move legacy calls off `/v3/REST/newsletter` and the old statistics resources to `campaigndraft` and `statcounters`. They are deprecated and may be removed"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.6
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 79,
          "payments": 30,
          "reliability": 62,
          "schema": 76,
          "security": 52,
          "transparency": 58
        },
        "provenanceScore": 90,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://api.mailjet.com/v3.1/send --user \"$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE\" \\\n  -H \"Content-Type: application/json\" -d '{\"Messages\":[{\"From\":{\"Email\":\"you@example.com\"},\"To\":[{\"Email\":\"them@example.com\"}],\"Subject\":\"Hello\",\"TextPart\":\"Hello from Mailjet\"}]}'",
        "claudeCode": "claude mcp add mailjet -e MAILJET_API_KEY=\"$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE\" -- npx -y @mailjet/mailjet-mcp-server",
        "config": {
          "mcpServers": {
            "mailjet": {
              "args": [
                "-y",
                "@mailjet/mailjet-mcp-server"
              ],
              "command": "npx",
              "env": {
                "MAILJET_API_KEY": "${MJ_APIKEY_PUBLIC}:${MJ_APIKEY_PRIVATE}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/mailjet"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 9,
          "note": "8,000 emails a month"
        },
        {
          "item": "Essential",
          "unit": "month",
          "usd": 19,
          "note": "15,000 emails a month"
        },
        {
          "item": "Premium",
          "unit": "month",
          "usd": 29,
          "note": "15,000 emails a month, automations and dedicated IP from 100k"
        }
      ],
      "provenance": {
        "legalEntity": "Mailjet SAS",
        "domain": "mailjet.com",
        "domainRegistered": "2006-11-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.mailjet.com/legal/terms/",
        "privacy": "https://www.mailjet.com/legal/privacy-policy/",
        "statusPage": "https://mailjet.statuspage.io/",
        "changelog": "https://www.mailjet.com/releases/",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "Mailjet is a Sinch brand. The terms list Mailjet SAS, Mailjet GmbH and Mailgun Technologies, Inc. as contracting entities depending on the customer.",
          "https://www.mailjet.com/.well-known/security.txt answered 404 on 4 November 2026. Sinch's trust portal names security@sinch.com for vulnerability reports."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mailjet.json",
      "live": {
        "slug": "mailjet",
        "probe": {
          "target": "https://api.mailjet.com/v3.1",
          "method": "get",
          "lastAt": "2026-11-07T18:20:36.901975257Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 116,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 51,
          "p95ms24h": 182,
          "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": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "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://mailjet.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:21.564833019Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "mailjet/mailjet-apiv3-nodejs",
            "version": "v7.1.1",
            "released": "2026-10-26",
            "seenAt": "2026-11-06T23:42:00.512078863Z"
          },
          {
            "registry": "npm",
            "name": "@mailjet/mailjet-mcp-server",
            "version": "1.2.0",
            "seenAt": "2026-11-06T23:42:00.047567295Z"
          },
          {
            "registry": "npm",
            "name": "node-mailjet",
            "version": "6.0.11",
            "seenAt": "2026-11-06T23:41:57.7254338Z"
          },
          {
            "registry": "pypi",
            "name": "mailjet-rest",
            "version": "1.9.1",
            "released": "2026-10-07",
            "seenAt": "2026-11-06T23:42:00.242753535Z"
          }
        ],
        "githubStars": 256,
        "npmWeekly": 266535,
        "pypiWeekly": 215229,
        "securityTxt": {
          "url": "https://mailjet.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:38.508331149Z"
        },
        "llmsTxt": {
          "url": "https://dev.mailjet.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:56.319729835Z"
        },
        "domain": {
          "domain": "mailjet.com",
          "registered": "2006-11-08",
          "source": "https://rdap.verisign.com/com/v1/domain/mailjet.com",
          "checkedAt": "2026-11-01T14:22:55.139773955Z"
        },
        "pages": [
          {
            "url": "https://www.mailjet.com/releases/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:15.748096341Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "67d03918114f"
          },
          {
            "url": "https://www.mailjet.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:13.736066734Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ca0a13159f03"
          },
          {
            "url": "https://www.mailjet.com/legal/privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:09.707964777Z",
            "changedAt": "2026-10-21T01:04:08.921640233Z",
            "fingerprint": "55d1db81050b"
          },
          {
            "url": "https://www.mailjet.com/legal/terms/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:11.769933759Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bd8f1e18634f"
          }
        ],
        "github": {
          "repo": "mailjet/mailjet-apiv3-nodejs",
          "checkedAt": "2026-11-02T09:02:39.097960807Z",
          "stars": 256,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-26T08:02:14Z",
          "openIssues": 1,
          "openPRs": 19,
          "issuesOpened90d": 1,
          "issuesClosed90d": 4,
          "prsMerged90d": 24,
          "replies": {
            "sampled": 25,
            "unanswered": 1,
            "medianDays": 372.5
          }
        },
        "updatedAt": "2026-11-07T18:21:21.564833019Z"
      }
    },
    "answer": "Mailjet API + MCP scores 59.6 (C) on agent readiness against SendLayer's 47.7 (D), and leads in 6 of 7 scored categories. SendLayer leads on agent ergonomics.",
    "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": 39,
        "category": "maintenance",
        "leads": "mailjet",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "node-mailjet v7.1.1 on 26 October 2026, a code fix enforcing HTTPS-only requests, 9 days before the check (30). In the 90 days from 6 August, the releases page's 3 September entry and five SDK tags at half each (node-mailjet v7.1.0 on 14 August and v7.1.1, mailjet-apiv3-python 1.8.0 on 17 August, 1.9.0 on 14 September and 1.9.1 on 8 October), 3.5 in all (20). The MCP repository merges pull requests, and its README asks users to file an issue if npm and GitHub diverge. We couldn't see issue reply times (8). Node and Python SDKs released in the last 10 and 27 days (15). CI runs the tests, but the MCP repository's package.json says 1.2.0 while its git tags stop at v1.1.0-beta.1, and npm couldn't be read (6). 30 + 20 + 8 + 15 + 6 = 79.",
          "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": 79,
          "b": 40
        }
      },
      {
        "by": 25,
        "category": "transparency",
        "leads": "mailjet",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with published terms that name Mailjet SAS, Mailjet GmbH or Mailgun Technologies, Inc. depending on the customer, and an Apache-2.0 MCP server (20). Data stored on Google Cloud in Frankfurt and Saint-Ghislain, a Sinch DPA and a named DPO, but no retention periods stated, per the 1 October check, not re-read on 4 November (18). A Deprecated Endpoints page lists the newsletter and legacy statistics endpoints, saying they could be removed in the future and to migrate to the current endpoints without naming them, and the Python SDK warns at run time with the replacement, but no dates or policy (8 of 20, 5 on 1 October). Data locations are stated. We found no subprocessor list (12). 20 + 18 + 8 + 12 = 58.",
          "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": 74,
          "b": 49
        }
      },
      {
        "by": 14,
        "category": "reliability",
        "leads": "mailjet",
        "name": "Reliability",
        "reasons": {
          "a": "Statuspage at mailjet.statuspage.io with history back to 2023, read through its history.atom feed (20). In the 90 days from 6 August the feed has two entries. A planned hour of infrastructure maintenance on 23 September, during which logins and API and SMTP sends were unavailable and submitted mail waited in the queue, and a Microsoft incident on 4 September that deferred mail to M365 only, with other providers unaffected. Both read as minor (20). The rate-limit page, unchanged on 4 November, says transactional endpoints have a high limit and others a 'much lower' one, with no numbers (0). A 429 on excess and advice to wait and retry, but no Retry-After header and no idempotency key for sends. SandboxMode validates a send without delivering (7). Enterprise plans list a 'Service Level Agreement' with no published terms, per the 1 October check, not re-read on 4 November (5). GA (10). 20 + 20 + 0 + 7 + 5 + 10 = 62.",
          "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": 62,
          "b": 48
        }
      },
      {
        "by": 14,
        "category": "security",
        "leads": "mailjet",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Email API calls use Basic auth with a public key and a secret. Sub-accounts get their own keys, and the Content API also takes Bearer tokens with permissions and a 365-day default expiry (22). The MCP server can only read, by construction. We found no send-only or read-only key for the Email API (10). The MCP returns contacts, lists and statistics, and inbound mail goes from the Parse API to your webhook rather than through the tools (10). No audit log or per-key activity view found (0). Sinch's trust portal for Mailjet lists ISO 27001:2022 and SOC 2 Type II, a 'Report a Vulnerability' route to security@sinch.com and public vulnerability notices. No bug bounty, and www.mailjet.com/.well-known/security.txt answered 404 on 4 November. Level with the Sinch messaging and voice listings on the same portal (10). 22 + 10 + 10 + 0 + 10 = 52.",
          "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": 52,
          "b": 38
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "mailjet",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices are public, but the price per extra 1,000 emails sits behind a help-centre link rather than on the pricing page (10). Free plan of 6,000 emails a month, 200 a day, with no card (20). Browser signup, no autonomous route (0).",
          "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": 30,
          "b": 20
        }
      },
      {
        "by": 9,
        "category": "ergonomics",
        "leads": "sendlayer",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The released MCP server registers one tool for each of the 117 GET paths in its bundled spec, with no toolsets (5). Limit, Offset, Sort and countOnly on list resources, with a maximum of 1,000 results a page (15). Documented status codes and error codes with messages (14). Every MCP tool is a GET, so nothing it does can change the account. The repository's 1.2.0 (29 October 2026, no tag) adds `readOnlyHint` and `destructiveHint` annotations, but npm couldn't be read, so its release is unconfirmed and not credited. The Send API has no idempotency key (6). Official SDKs for Node, Python and other languages, one POST /v3.1/send call carries a Messages array, and the MCP needs the key and secret joined as `key:secret` (13). 5 + 15 + 14 + 6 + 13 = 53.",
          "b": "Small responses and five MCP tools (18 of 25). Events filter by start and end date, event type and message ID, with an offset and a count (15 of 20). Errors are JSON with a numbered code and message per field, and documented (14 of 20). No idempotency key on sends, and the MCP annotations can't be read (0 of 20). A send needs from, to, subject, content type and content; official SDKs for Node, Python, PHP, Ruby and Go (15). Total 62."
        },
        "scores": {
          "a": 53,
          "b": 62
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Mailjet (Sinch)",
        "b": "SendLayer, LLC",
        "name": "Vendor"
      },
      {
        "a": "https://api.mailjet.com/v3.1",
        "b": "https://mcp.sendlayer.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API 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": "117",
        "b": "5",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-26",
        "b": "2026-08-21",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-29",
        "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": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "255 stars, 177k npm/wk, 245k PyPI/wk",
        "b": "113 npm/wk, 9 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Mailjet API + MCP scores 59.6 (C) on agent readiness against SendLayer's 47.7 (D), and leads in 6 of 7 scored categories. SendLayer leads on agent ergonomics.",
        "question": "Which is better for AI agents, Mailjet API + MCP or SendLayer?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Mailjet API + MCP and SendLayer need an API key?"
      },
      {
        "answer": "Yes. Mailjet API + MCP has a hosted endpoint at https://api.mailjet.com/v3.1 and SendLayer at https://mcp.sendlayer.com.",
        "question": "Can an agent call Mailjet API + MCP and SendLayer without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 62 against 48",
          "Schema \u0026 documentation, 76 against 68",
          "Security \u0026 auth, 52 against 38",
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 79 against 40",
          "Transparency \u0026 trust, 74 against 49"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "EU-based senders who want cheap transactional and marketing mail with data kept in the EU.",
        "slug": "mailjet",
        "watchFor": "The MCP server registers 117 GET-only tools and can't send"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 62 against 53"
        ],
        "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": {
      "mailjet": [
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-11-04",
          "delta": 0.1,
          "from": 59.5,
          "fromGrade": "C",
          "to": 59.6,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 59.4,
          "fromGrade": "C",
          "to": 59.5,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.1,
          "from": 59.5,
          "fromGrade": "C",
          "to": 59.4,
          "toGrade": "C"
        }
      ],
      "sendlayer": null
    },
    "job": {
      "capability": "email.send",
      "name": "Sending email"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ahasend-vs-mailjet.json",
        "title": "AhaSend API + MCP vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-mailjet"
      },
      {
        "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-mailjet.json",
        "title": "Amazon SES vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailjet"
      },
      {
        "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-mailjet.json",
        "title": "Brevo API + MCP vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-mailjet"
      },
      {
        "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-mailjet.json",
        "title": "Cloudflare Email Service vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailjet"
      },
      {
        "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-mailjet.json",
        "title": "Groundmail API + MCP vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-mailjet"
      },
      {
        "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-mailjet.json",
        "title": "Loops API + MCP vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/loops-vs-mailjet"
      },
      {
        "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-mailjet.json",
        "title": "MailerSend vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-mailjet"
      },
      {
        "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-mailjet.json",
        "title": "Mailgun API + MCP vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-mailjet"
      },
      {
        "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-mailpace.json",
        "title": "Mailjet API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-mailtrap.json",
        "title": "Mailjet API + MCP vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-mandrill.json",
        "title": "Mailjet API + MCP vs Mailchimp Transactional (Mandrill)",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-mandrill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-postmark.json",
        "title": "Mailjet API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-postmark"
      },
      {
        "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-sendgrid.json",
        "title": "Mailjet API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-smtp2go.json",
        "title": "Mailjet API + MCP vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-zoho-zeptomail.json",
        "title": "Mailjet API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-zoho-zeptomail"
      },
      {
        "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-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-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-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-sendlayer.json",
        "title": "Resend API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/resend-vs-sendlayer"
      },
      {
        "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": 14,
        "edge": "mailjet",
        "key": "reliability",
        "mailjet": 62,
        "name": "Reliability",
        "sendlayer": 48,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "mailjet",
        "key": "schema",
        "mailjet": 76,
        "name": "Schema \u0026 documentation",
        "sendlayer": 68,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "sendlayer",
        "key": "ergonomics",
        "mailjet": 53,
        "name": "Agent ergonomics",
        "sendlayer": 62,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "mailjet",
        "key": "security",
        "mailjet": 52,
        "name": "Security \u0026 auth",
        "sendlayer": 38,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "mailjet",
        "key": "payments",
        "mailjet": 30,
        "name": "Payments \u0026 pricing",
        "sendlayer": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 39,
        "edge": "mailjet",
        "key": "maintenance",
        "mailjet": 79,
        "name": "Maintenance \u0026 community",
        "sendlayer": 40,
        "weight": 7
      },
      {
        "by": 25,
        "edge": "mailjet",
        "key": "transparency",
        "mailjet": 74,
        "name": "Transparency \u0026 trust",
        "sendlayer": 49,
        "weight": 7
      }
    ],
    "summary": "Mailjet API + MCP scores 59.6 (C) on agent readiness against SendLayer's 47.7 (D), and leads in 6 of 7 scored categories. SendLayer leads on agent ergonomics. Both do sending email.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "mailjet": "SandboxMode on Send API v3.1 validates a payload without delivering it, and data is stored in the EU. The released MCP server registers 117 GET-only tools and can't send. Rate limits are published without numbers, and the 429 guidance is to wait and retry, with no Retry-After header or idempotency key.",
      "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/mailjet-vs-sendlayer",
    "json": "https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.min.md"
  },
  "markdown": "Mailjet API + MCP scores 59.6 (C) on agent readiness against SendLayer's 47.7 (D), and leads in 6 of 7 scored categories. SendLayer leads on agent ergonomics. Both do sending email.\n\n- Mailjet API + MCP: grade C, 59.6/100, rank #691 of 1486. Markdown https://www.anchorterminal.com/tools/mailjet.md · JSON https://www.anchorterminal.com/api/v1/tools/mailjet.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### Mailjet API + MCP (C)\n\nGood for: EU-based senders who want cheap transactional and marketing mail with data kept in the EU.\n\nAhead on:\n- Reliability, 62 against 48\n- Schema \u0026 documentation, 76 against 68\n- Security \u0026 auth, 52 against 38\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 79 against 40\n- Transparency \u0026 trust, 74 against 49\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: The MCP server registers 117 GET-only tools and can't send\n\n### SendLayer (D)\n\nGood for: Low-volume transactional mail for WordPress and small sites.\n\nAhead on:\n- Agent ergonomics, 62 against 53\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: Mailjet API + MCP +39\n\n- Mailjet API + MCP (79): node-mailjet v7.1.1 on 26 October 2026, a code fix enforcing HTTPS-only requests, 9 days before the check (30). In the 90 days from 6 August, the releases page's 3 September entry and five SDK tags at half each (node-mailjet v7.1.0 on 14 August and v7.1.1, mailjet-apiv3-python 1.8.0 on 17 August, 1.9.0 on 14 September and 1.9.1 on 8 October), 3.5 in all (20). The MCP repository merges pull requests, and its README asks users to file an issue if npm and GitHub diverge. We couldn't see issue reply times (8). Node and Python SDKs released in the last 10 and 27 days (15). CI runs the tests, but the MCP repository's package.json says 1.2.0 while its git tags stop at v1.1.0-beta.1, and npm couldn't be read (6). 30 + 20 + 8 + 15 + 6 = 79.\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### Transparency \u0026 trust: Mailjet API + MCP +25\n\n- Mailjet API + MCP (74): Closed service with published terms that name Mailjet SAS, Mailjet GmbH or Mailgun Technologies, Inc. depending on the customer, and an Apache-2.0 MCP server (20). Data stored on Google Cloud in Frankfurt and Saint-Ghislain, a Sinch DPA and a named DPO, but no retention periods stated, per the 1 October check, not re-read on 4 November (18). A Deprecated Endpoints page lists the newsletter and legacy statistics endpoints, saying they could be removed in the future and to migrate to the current endpoints without naming them, and the Python SDK warns at run time with the replacement, but no dates or policy (8 of 20, 5 on 1 October). Data locations are stated. We found no subprocessor list (12). 20 + 18 + 8 + 12 = 58.\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### Reliability: Mailjet API + MCP +14\n\n- Mailjet API + MCP (62): Statuspage at mailjet.statuspage.io with history back to 2023, read through its history.atom feed (20). In the 90 days from 6 August the feed has two entries. A planned hour of infrastructure maintenance on 23 September, during which logins and API and SMTP sends were unavailable and submitted mail waited in the queue, and a Microsoft incident on 4 September that deferred mail to M365 only, with other providers unaffected. Both read as minor (20). The rate-limit page, unchanged on 4 November, says transactional endpoints have a high limit and others a 'much lower' one, with no numbers (0). A 429 on excess and advice to wait and retry, but no Retry-After header and no idempotency key for sends. SandboxMode validates a send without delivering (7). Enterprise plans list a 'Service Level Agreement' with no published terms, per the 1 October check, not re-read on 4 November (5). GA (10). 20 + 20 + 0 + 7 + 5 + 10 = 62.\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### Security \u0026 auth: Mailjet API + MCP +14\n\n- Mailjet API + MCP (52): Email API calls use Basic auth with a public key and a secret. Sub-accounts get their own keys, and the Content API also takes Bearer tokens with permissions and a 365-day default expiry (22). The MCP server can only read, by construction. We found no send-only or read-only key for the Email API (10). The MCP returns contacts, lists and statistics, and inbound mail goes from the Parse API to your webhook rather than through the tools (10). No audit log or per-key activity view found (0). Sinch's trust portal for Mailjet lists ISO 27001:2022 and SOC 2 Type II, a 'Report a Vulnerability' route to security@sinch.com and public vulnerability notices. No bug bounty, and www.mailjet.com/.well-known/security.txt answered 404 on 4 November. Level with the Sinch messaging and voice listings on the same portal (10). 22 + 10 + 10 + 0 + 10 = 52.\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: Mailjet API + MCP +10\n\n- Mailjet API + MCP (30): No x402, MPP or L402 (0). Plan prices are public, but the price per extra 1,000 emails sits behind a help-centre link rather than on the pricing page (10). Free plan of 6,000 emails a month, 200 a day, with no card (20). Browser signup, no autonomous route (0).\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### Agent ergonomics: SendLayer +9\n\n- Mailjet API + MCP (53): The released MCP server registers one tool for each of the 117 GET paths in its bundled spec, with no toolsets (5). Limit, Offset, Sort and countOnly on list resources, with a maximum of 1,000 results a page (15). Documented status codes and error codes with messages (14). Every MCP tool is a GET, so nothing it does can change the account. The repository's 1.2.0 (29 October 2026, no tag) adds `readOnlyHint` and `destructiveHint` annotations, but npm couldn't be read, so its release is unconfirmed and not credited. The Send API has no idempotency key (6). Official SDKs for Node, Python and other languages, one POST /v3.1/send call carries a Messages array, and the MCP needs the key and secret joined as `key:secret` (13). 5 + 15 + 14 + 6 + 13 = 53.\n- SendLayer (62): Small responses and five MCP tools (18 of 25). Events filter by start and end date, event type and message ID, with an offset and a count (15 of 20). Errors are JSON with a numbered code and message per field, and documented (14 of 20). No idempotency key on sends, and the MCP annotations can't be read (0 of 20). A send needs from, to, subject, content type and content; official SDKs for Node, Python, PHP, Ruby and Go (15). Total 62.\n\n## Score by category\n\n| Category | Weight | Mailjet API + MCP | SendLayer | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 62 | 48 | Mailjet API + MCP +14 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 68 | Mailjet API + MCP +8 |\n| Agent ergonomics | 13% (16.2 this run) | 53 | 62 | SendLayer +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 52 | 38 | Mailjet API + MCP +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | Mailjet API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 79 | 40 | Mailjet API + MCP +39 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 49 | Mailjet API + MCP +25 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59.6 · C** | **47.7 · D** | |\n\n## Facts side by side\n\n| Fact | Mailjet API + MCP | SendLayer |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Mailjet (Sinch) | SendLayer, LLC |\n| Hosted endpoint | `https://api.mailjet.com/v3.1` | `https://mcp.sendlayer.com` |\n| Transports | HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | MIT | none |\n| Tools exposed | 117 | 5 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-26 | 2026-08-21 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | 2026-09-29 | 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 | not found in the text | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 255 stars, 177k npm/wk, 245k PyPI/wk | 113 npm/wk, 9 PyPI/wk |\n| Agent reviews | 2.5/5 (2) | none |\n\n## How the scores have moved\n\n### Mailjet API + MCP\n\n- +0.1 on 4 November 2026: new evidence\n- +0.1 on 27 October 2026: checklist\n- -0.1 on 8 October 2026: checklist\n\n### SendLayer\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Mailjet API + MCP.** SandboxMode on Send API v3.1 validates a payload without delivering it, and data is stored in the EU. The released MCP server registers 117 GET-only tools and can't send. Rate limits are published without numbers, and the 429 guidance is to wait and retry, with no Retry-After header or idempotency key.\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### Mailjet API + MCP\n\n1. Set `SandboxMode` to true on the first sends to check payloads without delivering\n2. Send with POST /v3.1/send and a `Messages` array, many messages per call\n3. Use the MCP for statistics and contact lookups only, since it can't send\n4. Pass `MAILJET_API_KEY` as `key:secret`. The server checks it at startup and exits if it's wrong\n5. On 429, wait and retry. Non-transactional endpoints have much lower limits than send\n6. Move legacy calls off `/v3/REST/newsletter` and the old statistics resources to `campaigndraft` and `statcounters`. They are deprecated and may be removed\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, Mailjet API + MCP or SendLayer?\n\nMailjet API + MCP scores 59.6 (C) on agent readiness against SendLayer's 47.7 (D), and leads in 6 of 7 scored categories. SendLayer leads on agent ergonomics.\n\n### Do Mailjet API + MCP and SendLayer need an API key?\n\nBoth need an API key.\n\n### Can an agent call Mailjet API + MCP and SendLayer without installing anything?\n\nYes. Mailjet API + MCP has a hosted endpoint at https://api.mailjet.com/v3.1 and SendLayer at https://mcp.sendlayer.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.json, and with the fewest tokens: https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"mailjet\", \"b\": \"sendlayer\"}`. From a terminal: `anchor compare mailjet sendlayer`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/mailjet.json and https://www.anchorterminal.com/api/v1/tools/sendlayer.json\n\n## Other comparisons with Mailjet API + MCP or SendLayer\n\n- [AhaSend API + MCP vs Mailjet API + MCP](https://www.anchorterminal.com/compare/ahasend-vs-mailjet.md)\n- [AhaSend API + MCP vs SendLayer](https://www.anchorterminal.com/compare/ahasend-vs-sendlayer.md)\n- [Amazon SES vs Mailjet API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-mailjet.md)\n- [Amazon SES vs SendLayer](https://www.anchorterminal.com/compare/amazon-ses-vs-sendlayer.md)\n- [Brevo API + MCP vs Mailjet API + MCP](https://www.anchorterminal.com/compare/brevo-vs-mailjet.md)\n- [Brevo API + MCP vs SendLayer](https://www.anchorterminal.com/compare/brevo-vs-sendlayer.md)\n- [Cloudflare Email Service vs Mailjet API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailjet.md)\n- [Cloudflare Email Service vs SendLayer](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendlayer.md)\n- [Groundmail API + MCP vs Mailjet API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-mailjet.md)\n- [Groundmail API + MCP vs SendLayer](https://www.anchorterminal.com/compare/groundmail-vs-sendlayer.md)\n- [Loops API + MCP vs Mailjet API + MCP](https://www.anchorterminal.com/compare/loops-vs-mailjet.md)\n- [Loops API + MCP vs SendLayer](https://www.anchorterminal.com/compare/loops-vs-sendlayer.md)\n- [MailerSend vs Mailjet API + MCP](https://www.anchorterminal.com/compare/mailersend-vs-mailjet.md)\n- [MailerSend vs SendLayer](https://www.anchorterminal.com/compare/mailersend-vs-sendlayer.md)\n- [Mailgun API + MCP vs Mailjet API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-mailjet.md)\n- [Mailgun API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.md)\n- [Mailjet API + MCP vs MailPace](https://www.anchorterminal.com/compare/mailjet-vs-mailpace.md)\n- [Mailjet API + MCP vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/mailjet-vs-mailtrap.md)\n- [Mailjet API + MCP vs Mailchimp Transactional (Mandrill)](https://www.anchorterminal.com/compare/mailjet-vs-mandrill.md)\n- [Mailjet API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailjet-vs-postmark.md)\n- [Mailjet API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/mailjet-vs-resend.md)\n- [Mailjet API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailjet-vs-sendgrid.md)\n- [Mailjet API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/mailjet-vs-smtp2go.md)\n- [Mailjet API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mailjet-vs-zoho-zeptomail.md)\n- [MailPace vs SendLayer](https://www.anchorterminal.com/compare/mailpace-vs-sendlayer.md)\n- [Mailtrap Email API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailtrap-vs-sendlayer.md)\n- [Mailchimp Transactional (Mandrill) vs SendLayer](https://www.anchorterminal.com/compare/mandrill-vs-sendlayer.md)\n- [Postmark API + MCP vs SendLayer](https://www.anchorterminal.com/compare/postmark-vs-sendlayer.md)\n- [Resend API + MCP vs SendLayer](https://www.anchorterminal.com/compare/resend-vs-sendlayer.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": "Mailjet API + MCP vs SendLayer",
        "url": ""
      }
    ],
    "description": "Mailjet scores 59.6 (C) to SendLayer's 47.7 (D) for sending email. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Mailjet API + MCP C 59.6",
      "SendLayer D 47.7",
      "scores"
    ],
    "h1": "Mailjet API + MCP vs SendLayer",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/mailjet-vs-sendlayer",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Mailjet vs SendLayer for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/mailjet-vs-sendlayer"
  },
  "tokens": {
    "markdown": 4600,
    "slim": 2580
  },
  "version": 1
}
