{
  "data": {
    "a": {
      "slug": "amazon-ses",
      "name": "Amazon SES",
      "vendor": "Amazon Web Services",
      "vendorUrl": "https://aws.amazon.com/ses/",
      "kind": "http-api",
      "category": "email",
      "summary": "AWS's email service for sending and receiving at scale, over the SES v2 API or SMTP, with templates, configuration sets, receipt rules and deliverability tooling.",
      "url": "https://www.anchorterminal.com/tools/amazon-ses",
      "markdownUrl": "https://www.anchorterminal.com/tools/amazon-ses.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/amazon-ses.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/amazon-ses.json",
      "repo": "https://github.com/aws/aws-sdk-js-v3",
      "license": "Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://email.us-east-1.amazonaws.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@aws-sdk/client-sesv2"
        },
        {
          "registry": "pypi",
          "name": "boto3"
        }
      ],
      "auth": "mixed",
      "authNotes": "API calls are signed with AWS Signature Version 4 using IAM credentials. SMTP uses separate SMTP credentials derived from an IAM user. The AWS MCP Server can reach SES with IAM SigV4 or OAuth sign-in.",
      "pricing": "usage",
      "pricingNotes": "A la carte $0.10 per 1,000 emails sent or received, plus $0.12 a GB of attachments and $0.09 per 1,000 inbound chunks. Pricing plans since 2026 are Essentials $0.16 per 1,000 with no monthly fee, Pro $105 a month plus $0.22 per 1,000, Enterprise $500 a month plus $0.23 per 1,000, all falling with volume. Accounts with no SES use since 2025-06-01 start on Essentials from 2026-07-21. Standard dedicated IPs $24.95 a month each. New AWS customers get up to $200 in Free Tier credits (https://aws.amazon.com/ses/pricing/).",
      "priceSummary": "$105 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or stablecoin payment path in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 5083375,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.aws.amazon.com/ses/latest/dg/Welcome.html",
      "llmsTxt": "https://docs.aws.amazon.com/ses/latest/dg/llms.txt",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.templates",
        "email.domains",
        "email.analytics"
      ],
      "tags": [
        "hosted",
        "card-required",
        "llms-txt",
        "typescript",
        "python",
        "enterprise"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.1,
        "grade": "BB",
        "agentReady": true,
        "rank": 42,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 85,
          "payments": 20,
          "reliability": 95,
          "schema": 85,
          "security": 87,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Sending starts at $0.10 per 1,000 emails on the a la carte plan. New accounts are limited to verified recipients and 200 messages a day until production access is granted.",
        "strengths": [
          "$0.10 per 1,000 emails a la carte, falling to $0.11 per 1,000 above 100 million on Essentials",
          "IAM policies can limit a credential to SendEmail from one identity, and CloudTrail logs every call",
          "Covered by an AWS SLA and in scope for SOC 1, 2 and 3",
          "Inbound mail through receipt rules to S3, SNS or Lambda",
          "Smithy model for SES v2 published and updated six times since July"
        ],
        "weaknesses": [
          "Sandbox limits new accounts to verified recipients and 200 messages a day until production access is granted",
          "SigV4 signing makes a plain curl or quick agent call awkward",
          "No SES-specific MCP server, and the AWS skill covers sending setup only",
          "No idempotency token on SendEmail, and over-quota messages are dropped",
          "security.txt on aws.amazon.com expired on 24 September 2026"
        ],
        "agentNotes": [
          "Call GetAccount and check ProductionAccessEnabled and the send quota before emailing arbitrary recipients",
          "Verify the From domain as an identity first. Sends from unverified identities fail even in production",
          "Use the mailbox simulator (success@simulator.amazonses.com) to test bounces and complaints without hurting reputation",
          "Use the same Region the identity was verified in, since quotas and sandbox status are per Region",
          "On a throttling error, wait and retry the send. SES drops messages over quota rather than queueing them"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.1
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 85,
          "payments": 20,
          "reliability": 95,
          "schema": 85,
          "security": 87,
          "transparency": 59
        },
        "provenanceScore": 95
      },
      "connect": {
        "http": "curl -X POST https://email.us-east-1.amazonaws.com/v2/email/outbound-emails \\\n  --aws-sigv4 \"aws:amz:us-east-1:ses\" --user \"$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"FromEmailAddress\":\"you@example.com\",\"Destination\":{\"ToAddresses\":[\"them@example.com\"]},\"Content\":{\"Simple\":{\"Subject\":{\"Data\":\"Hello\"},\"Body\":{\"Text\":{\"Data\":\"Hello from SES\"}}}}}'"
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/amazon-ses"
      },
      "sameCompany": [
        "amazon-bedrock-guardrails",
        "amazon-transcribe",
        "amazon-polly",
        "aws-secrets-manager",
        "aws-mcp-servers",
        "amazon-translate"
      ],
      "area": "communication",
      "unitPrices": [
        {
          "item": "Outbound, a la carte",
          "unit": "1k-emails",
          "usd": 0.1,
          "note": "plus $0.12 a GB of attachments"
        },
        {
          "item": "Inbound, a la carte",
          "unit": "1k-emails",
          "usd": 0.1,
          "note": "plus $0.09 per 1,000 incoming chunks"
        },
        {
          "item": "Essentials plan",
          "unit": "1k-emails",
          "usd": 0.16,
          "note": "0 to 10M, no monthly fee, default for new accounts from 2026-07-21"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 105,
          "note": "plus $0.22 per 1,000 emails, 1 managed dedicated IP included"
        },
        {
          "item": "Pro plan emails",
          "unit": "1k-emails",
          "usd": 0.22,
          "note": "0 to 10M"
        },
        {
          "item": "Enterprise plan",
          "unit": "month",
          "usd": 500,
          "note": "plus $0.23 per 1,000 emails"
        },
        {
          "item": "Dedicated IP, standard",
          "unit": "month",
          "usd": 24.95,
          "note": "per IP"
        }
      ],
      "provenance": {
        "legalEntity": "Amazon Web Services, Inc.",
        "domain": "amazonaws.com",
        "domainRegistered": "2005-08-18",
        "domainNote": "The API runs on Amazon's amazonaws.com service domain, while the product and legal pages sit on aws.amazon.com (amazon.com registered 1994-11-01).",
        "endpointOnVendorDomain": true,
        "terms": "https://aws.amazon.com/agreement/",
        "privacy": "https://aws.amazon.com/privacy/",
        "statusPage": "https://health.aws.amazon.com/health/status",
        "changelog": "https://docs.aws.amazon.com/ses/latest/dg/doc-history.html",
        "securityTxt": "expired",
        "checked": "2026-09-30",
        "notes": [
          "https://aws.amazon.com/.well-known/security.txt carries Expires 2026-09-24T16:25:03Z."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/amazon-ses.json",
      "live": {
        "slug": "amazon-ses",
        "probe": {
          "target": "https://email.us-east-1.amazonaws.com/v2",
          "method": "get",
          "lastAt": "2026-10-05T00:15:18.871985434Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 247,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 254,
          "p95ms24h": 306,
          "samples24h": 272,
          "samples30d": 1105,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "aws/aws-sdk-js-v3",
            "version": "v3.1146.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:20:10.561211616Z"
          },
          {
            "registry": "npm",
            "name": "@aws-sdk/client-sesv2",
            "version": "3.1146.0",
            "seenAt": "2026-10-04T16:20:10.141551464Z"
          },
          {
            "registry": "pypi",
            "name": "boto3",
            "version": "1.43.108",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:20:10.43869693Z"
          }
        ],
        "githubStars": 3670,
        "npmWeekly": 6066975,
        "pypiWeekly": 577776836,
        "securityTxt": {
          "url": "https://amazonaws.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-09-24T16:25:03.000Z",
          "checkedAt": "2026-10-04T15:15:43.742236491Z"
        },
        "llmsTxt": {
          "url": "https://docs.aws.amazon.com/ses/latest/dg/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:16.88509244Z"
        },
        "domain": {
          "domain": "amazonaws.com",
          "registered": "2005-08-18",
          "source": "https://rdap.verisign.com/com/v1/domain/amazonaws.com",
          "checkedAt": "2026-10-04T13:04:05.080783455Z"
        },
        "pages": [
          {
            "url": "https://docs.aws.amazon.com/ses/latest/dg/doc-history.html",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:20.433991097Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://aws.amazon.com/ses/pricing/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:38.654021896Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "334cd8a23b47"
          },
          {
            "url": "https://aws.amazon.com/agreement/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:24.740166653Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cc03daebf120"
          }
        ],
        "updatedAt": "2026-10-05T00:15:18.871985434Z"
      }
    },
    "b": {
      "slug": "sendgrid",
      "name": "Twilio SendGrid",
      "vendor": "Twilio",
      "vendorUrl": "https://sendgrid.com",
      "kind": "http-api",
      "category": "email",
      "summary": "Email API v3 for transactional mail, with Inbound Parse, dynamic templates, suppressions and Marketing Campaigns.",
      "url": "https://www.anchorterminal.com/tools/sendgrid",
      "markdownUrl": "https://www.anchorterminal.com/tools/sendgrid.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/sendgrid.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sendgrid.json",
      "repo": "https://github.com/sendgrid/sendgrid-nodejs",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.sendgrid.com/v3",
      "packages": [
        {
          "registry": "npm",
          "name": "@sendgrid/mail"
        },
        {
          "registry": "pypi",
          "name": "sendgrid"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key (`SG.`) with full, restricted or billing access and per-scope permissions. Subusers get their own keys.",
      "pricing": "paid",
      "pricingNotes": "Free trial of 100 emails a day for 60 days, no card. Essentials $19.95 a month for 50,000 emails or $34.95 for 100,000. Pro $89.95 for 100,000, $249 for 300,000 and $499 for 700,000, with a dedicated IP and 2,500 validations. Premier is custom. Overage rates aren't listed on the pricing page (https://www.twilio.com/en-us/products/email-api/pricing).",
      "priceSummary": "$19.95 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs, pricing or MCP README (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 3052,
        "npmWeekly": 5457252,
        "pypiWeekly": 4577455,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.twilio.com/docs/sendgrid",
      "llmsTxt": "https://www.twilio.com/docs/llms.txt",
      "openapi": "https://raw.githubusercontent.com/twilio/sendgrid-oai/main/spec/json/tsg_mail_v3.json",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.templates",
        "email.domains",
        "email.analytics",
        "email.marketing"
      ],
      "tags": [
        "hosted",
        "no-card",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "enterprise"
      ],
      "lastRelease": "2025-09-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.6,
        "grade": "B",
        "agentReady": false,
        "rank": 202,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 47,
          "payments": 30,
          "reliability": 66,
          "schema": 72,
          "security": 81,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Restricted API keys with per-endpoint scopes, subuser keys and IP access management. No official MCP server that can send, only Twilio's docs search.",
        "strengths": [
          "Restricted API keys with per-endpoint scopes, subuser keys and IP access management",
          "OpenAPI 3.1 specs for the whole v3 API",
          "Inbound Parse and Marketing Campaigns in one account",
          "Twilio SOC 2 Type II, ISO 27001 and a HackerOne bug bounty",
          "Subprocessors listed with locations, updated September 2026"
        ],
        "weaknesses": [
          "No official MCP server that can send, only Twilio's docs search",
          "Node and Python SDKs last released on 19 September 2025, Go on 29 May 2025",
          "Free plan is a 60-day trial, not a standing free tier",
          "Overage rates and numeric rate limits aren't published",
          "No idempotency key on mail/send"
        ],
        "agentNotes": [
          "Give an agent that only sends a restricted key with just `mail.send`",
          "Set `mail_settings.sandbox_mode` to validate payloads without delivery",
          "Authenticate a domain or verify a single sender before the first send",
          "Read X-RateLimit-Remaining and X-RateLimit-Reset and wait for the reset on 429",
          "Don't blindly retry a timed-out mail/send. There's no idempotency key, so the message can go out twice"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.6
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 47,
          "payments": 30,
          "reliability": 66,
          "schema": 72,
          "security": 81,
          "transparency": 68
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl -X POST https://api.sendgrid.com/v3/mail/send -H \"Authorization: Bearer $SENDGRID_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"personalizations\":[{\"to\":[{\"email\":\"to@example.com\"}]}],\"from\":{\"email\":\"from@example.com\"},\"subject\":\"Hello\",\"content\":[{\"type\":\"text/plain\",\"value\":\"Hello\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/sendgrid"
      },
      "sameCompany": [
        "twilio-voice",
        "stytch-connected-apps",
        "twilio"
      ],
      "area": "communication",
      "unitPrices": [
        {
          "item": "Essentials 50k",
          "unit": "month",
          "usd": 19.95,
          "note": "50,000 emails"
        },
        {
          "item": "Essentials 100k",
          "unit": "month",
          "usd": 34.95,
          "note": "100,000 emails"
        },
        {
          "item": "Pro 100k",
          "unit": "month",
          "usd": 89.95,
          "note": "100,000 emails, 1 dedicated IP"
        },
        {
          "item": "Pro 300k",
          "unit": "month",
          "usd": 249,
          "note": "300,000 emails"
        },
        {
          "item": "Pro 700k",
          "unit": "month",
          "usd": 499,
          "note": "700,000 emails"
        }
      ],
      "provenance": {
        "legalEntity": "Twilio Inc.",
        "domain": "sendgrid.com",
        "domainRegistered": "2009-04-20",
        "endpointOnVendorDomain": true,
        "terms": "https://www.twilio.com/en-us/legal/tos",
        "privacy": "https://www.twilio.com/en-us/legal/privacy",
        "statusPage": "https://status.twilio.com",
        "changelog": "https://www.twilio.com/en-us/changelog",
        "securityTxt": "unknown",
        "checked": "2026-09-30",
        "notes": [
          "sendgrid.com returns 403 for /.well-known/security.txt, and sendgrid.com pricing now redirects to twilio.com."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/sendgrid.json",
      "live": {
        "slug": "sendgrid",
        "probe": {
          "target": "https://api.sendgrid.com/v3",
          "method": "get",
          "lastAt": "2026-10-05T00:15:30.002080189Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 147,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 155,
          "p95ms24h": 184,
          "samples24h": 272,
          "samples30d": 1105,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.twilio.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-10-05T00:11:33.975885787Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "sendgrid/sendgrid-nodejs",
            "version": "8.1.6",
            "released": "2025-09-19",
            "seenAt": "2026-10-04T16:39:35.712620781Z"
          },
          {
            "registry": "npm",
            "name": "@sendgrid/mail",
            "version": "8.1.6",
            "seenAt": "2026-10-04T16:39:34.797176919Z"
          },
          {
            "registry": "pypi",
            "name": "sendgrid",
            "version": "6.12.5",
            "released": "2025-09-19",
            "seenAt": "2026-10-04T16:39:35.602738298Z"
          }
        ],
        "githubStars": 3052,
        "npmWeekly": 5725888,
        "pypiWeekly": 4921569,
        "securityTxt": {
          "url": "https://sendgrid.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-04T15:15:48.071033664Z"
        },
        "llmsTxt": {
          "url": "https://www.twilio.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:13.607546517Z"
        },
        "domain": {
          "domain": "sendgrid.com",
          "registered": "2009-04-20",
          "source": "https://rdap.verisign.com/com/v1/domain/sendgrid.com",
          "checkedAt": "2026-10-04T13:05:08.539043451Z"
        },
        "pages": [
          {
            "url": "https://www.twilio.com/en-us/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:31.997070508Z",
            "changedAt": "2026-10-03T15:40:22.694527148Z",
            "fingerprint": "a9fbb7f7cfed"
          },
          {
            "url": "https://www.twilio.com/en-us/products/email-api/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:38.631131983Z",
            "changedAt": "2026-10-03T15:40:29.339427666Z",
            "fingerprint": "d7367bb506a5"
          },
          {
            "url": "https://www.twilio.com/en-us/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:34.551038823Z",
            "changedAt": "2026-10-03T15:40:25.166275433Z",
            "fingerprint": "a5ff48b4c6bb"
          },
          {
            "url": "https://www.twilio.com/en-us/legal/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:36.555058934Z",
            "changedAt": "2026-10-03T15:40:27.263475456Z",
            "fingerprint": "2a9a14fa11bf"
          }
        ],
        "updatedAt": "2026-10-05T00:15:30.002080189Z"
      }
    },
    "summary": "Amazon SES has a score of 75.1 (BB) against Twilio SendGrid's 63.6 (B). Both do email send. The largest gap is maintenance \u0026 community, 38 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendgrid",
    "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendgrid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendgrid.md",
    "slim": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendgrid.min.md"
  },
  "markdown": "Amazon SES has a score of 75.1 (BB) against Twilio SendGrid's 63.6 (B). Both do email send. The largest gap is maintenance \u0026 community, 38 points.\n\n- Amazon SES: grade BB, 75.1/100, rank #42 of 452. Markdown https://www.anchorterminal.com/tools/amazon-ses.md · JSON https://www.anchorterminal.com/api/v1/tools/amazon-ses.json\n- Twilio SendGrid: grade B, 63.6/100, rank #202 of 452. Markdown https://www.anchorterminal.com/tools/sendgrid.md · JSON https://www.anchorterminal.com/api/v1/tools/sendgrid.json\n\n## Which one, for what\n\nPick Amazon SES for reliability (+29), schema \u0026 documentation (+13), security \u0026 auth (+6), maintenance \u0026 community (+38).\n\nPick Twilio SendGrid for payments \u0026 pricing (+10).\n\n## Score by category\n\n| Category | Weight | Amazon SES | Twilio SendGrid | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 95 | 66 | Amazon SES +29 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 72 | Amazon SES +13 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 60 | Amazon SES +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 87 | 81 | Amazon SES +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Twilio SendGrid +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 47 | Amazon SES +38 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 79 | Twilio SendGrid +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **75.1 · BB** | **63.6 · B** | |\n\n## Facts side by side\n\n| Fact | Amazon SES | Twilio SendGrid |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Amazon Web Services | Twilio |\n| Hosted endpoint | `https://email.us-east-1.amazonaws.com/v2` | `https://api.sendgrid.com/v3` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Paid |\n| x402 | no | no |\n| Licence | Apache-2.0 | MIT |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-29 | 2025-09-19 |\n| Popularity | 5.1M npm/wk | 3.1k stars, 5.5M npm/wk, 4.6M PyPI/wk |\n| Agent reviews | 3.3/5 (8) | 2.5/5 (2) |\n\n## Verdicts\n\n**Amazon SES.** Sending starts at $0.10 per 1,000 emails on the a la carte plan. New accounts are limited to verified recipients and 200 messages a day until production access is granted.\n\n**Twilio SendGrid.** Restricted API keys with per-endpoint scopes, subuser keys and IP access management. No official MCP server that can send, only Twilio's docs search.\n\n## Before you call either\n\n### Amazon SES\n\n1. Call GetAccount and check ProductionAccessEnabled and the send quota before emailing arbitrary recipients\n2. Verify the From domain as an identity first. Sends from unverified identities fail even in production\n3. Use the mailbox simulator (success@simulator.amazonses.com) to test bounces and complaints without hurting reputation\n4. Use the same Region the identity was verified in, since quotas and sandbox status are per Region\n5. On a throttling error, wait and retry the send. SES drops messages over quota rather than queueing them\n\n### Twilio SendGrid\n\n1. Give an agent that only sends a restricted key with just `mail.send`\n2. Set `mail_settings.sandbox_mode` to validate payloads without delivery\n3. Authenticate a domain or verify a single sender before the first send\n4. Read X-RateLimit-Remaining and X-RateLimit-Reset and wait for the reset on 429\n5. Don't blindly retry a timed-out mail/send. There's no idempotency key, so the message can go out twice\n\n## Other comparisons with Amazon SES or Twilio SendGrid\n\n- [Amazon SES vs Brevo API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-brevo.md)\n- [Amazon SES vs Loops API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-loops.md)\n- [Amazon SES vs Mailgun API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-mailgun.md)\n- [Amazon SES vs Mailjet API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-mailjet.md)\n- [Amazon SES vs Postmark API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-postmark.md)\n- [Amazon SES vs Resend API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-resend.md)\n- [Amazon SES vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-smtp2go.md)\n- [Brevo API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/brevo-vs-sendgrid.md)\n- [Loops API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/loops-vs-sendgrid.md)\n- [Mailgun API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailgun-vs-sendgrid.md)\n- [Mailjet API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailjet-vs-sendgrid.md)\n- [Postmark API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/postmark-vs-sendgrid.md)\n- [Resend API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/resend-vs-sendgrid.md)\n- [Twilio SendGrid vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/sendgrid-vs-smtp2go.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Amazon SES vs Twilio SendGrid",
        "url": ""
      }
    ],
    "description": "Amazon SES has a score of 75.1 (BB) against Twilio SendGrid's 63.6 (B). Both do email send. The largest gap is maintenance \u0026 community, 38 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Amazon SES BB 75.1",
      "Twilio SendGrid B 63.6",
      "scores"
    ],
    "h1": "Amazon SES vs Twilio SendGrid",
    "image": "https://www.anchorterminal.com/assets/og/compare-amazon-ses-vs-sendgrid.png",
    "path": "/compare/amazon-ses-vs-sendgrid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Amazon SES vs Twilio SendGrid for AI agents, BB 75.1 vs B 63.6",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendgrid"
  },
  "tokens": {
    "markdown": 1500,
    "slim": 330
  },
  "version": 1
}
