{
  "data": {
    "a": {
      "slug": "cloudflare-email-service",
      "name": "Cloudflare Email Service",
      "vendor": "Cloudflare",
      "vendorUrl": "https://developers.cloudflare.com/email-service/",
      "kind": "http-api",
      "category": "email",
      "summary": "Cloudflare Email Service sends transactional email through a REST API, a Workers binding or SMTP, and routes inbound mail to Workers or verified addresses. Email Sending is in public beta and needs the Workers Paid plan for arbitrary recipients.",
      "url": "https://www.anchorterminal.com/tools/cloudflare-email-service",
      "markdownUrl": "https://www.anchorterminal.com/tools/cloudflare-email-service.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cloudflare-email-service.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cloudflare-email-service.json",
      "license": "Proprietary service under Cloudflare's Self-Serve Subscription Agreement and Developer Platform service-specific terms. The official `cloudflare` SDK on npm is Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.cloudflare.com/client/v4",
      "packages": [
        {
          "registry": "npm",
          "name": "cloudflare"
        },
        {
          "registry": "pypi",
          "name": "cloudflare"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Cloudflare API token as a Bearer header, created by the account owner in the dashboard. The SMTP guide names the permission Email Sending: Edit, and the OpenAPI file lists `com.cloudflare.api.account.email.sending.create` for sends and `.read` for limits and reputation. Tokens can carry an expiry and an IP address filter. The same token is the SMTP password. The OpenAPI file also accepts the legacy global API key. Access is self-serve, but the sending domain must be on Cloudflare DNS and new accounts start with a daily quota that Cloudflare raises over time.",
      "pricing": "usage",
      "pricingNotes": "$0.35 per 1,000 outbound emails after 3,000 included a month, on the Workers Paid plan (minimum $5 a month). Sending to arbitrary recipients is not available on Workers Free. Sends to the account's own verified destination addresses are free on every plan, and inbound Email Routing is free and unmetered. Hard bounces count towards the quota. Sends rejected at the API boundary or by the suppression list don't (https://developers.cloudflare.com/email-service/platform/pricing/).",
      "priceSummary": "$5 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Email Service docs, the pricing page or the Email Sending paths of the OpenAPI file (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 3766696,
        "pypiWeekly": 363923,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.cloudflare.com/email-service/",
      "llmsTxt": "https://developers.cloudflare.com/email-service/llms.txt",
      "openapi": "https://raw.githubusercontent.com/cloudflare/api-schemas/main/openapi.json",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.domains",
        "email.analytics"
      ],
      "tags": [
        "hosted",
        "usage",
        "beta",
        "openapi",
        "llms-txt",
        "smtp",
        "typescript",
        "python",
        "go",
        "graphql",
        "status-page",
        "bug-bounty"
      ],
      "lastRelease": "2026-09-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.3,
        "grade": "B",
        "agentReady": false,
        "rank": 212,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 81,
          "payments": 30,
          "reliability": 51,
          "schema": 89,
          "security": 77,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Cloudflare API tokens can be limited to sending, given an expiry and restricted by IP address, and a public OpenAPI file covers 29 Email Sending operations. Sending is still in beta, with no SLA, no idempotency key and no published daily quota, and it needs a domain on Cloudflare DNS and the Workers Paid plan.",
        "bestFor": "Teams already on Cloudflare DNS and Workers that want transactional sending and inbound handling in one account at a low unit price.",
        "strengths": [
          "Public OpenAPI 3.0.3 file with 29 Email Sending and 46 Email Routing operations, plus llms.txt and a Markdown copy of every docs page",
          "$0.35 per 1,000 emails after 3,000 included a month on Workers Paid. Sends rejected at the API boundary or blocked by the suppression list don't count",
          "API tokens carry separate send and read permissions, an optional expiry and an IP address filter, and Workers bindings can be limited to named senders and recipients",
          "The Cloudflare API returns 429 with `retry-after` and `Ratelimit` headers, and the send endpoint has its own throttled error code 10004",
          "Email Sending and Email Routing are separate components on cloudflarestatus.com, and the changelog has four dated entries since 15 July 2026"
        ],
        "weaknesses": [
          "Email Sending has been in public beta since 16 April 2026. Cloudflare's terms let it remove a beta service at any time, and no SLA was found",
          "No idempotency key on `/email/sending/send`, in the docs or the OpenAPI file",
          "The daily sending quota for new accounts is described as conservative with no number. It can be read per account from `/email/sending/limits`",
          "The sending domain must use Cloudflare DNS, and sending to arbitrary recipients needs the Workers Paid plan at $5 a month",
          "A token with the send permission can send from every onboarded domain on the account. No per-domain token scope was found",
          "No template storage, and the terms and FAQ allow transactional email only"
        ],
        "agentNotes": [
          "POST to `https://api.cloudflare.com/client/v4/accounts/{account_id}/email/sending/send` with `Authorization: Bearer \u003ctoken\u003e`. The body needs `to`, `from`, `subject` and one of `html` or `text`",
          "Don't retry a timed-out send blindly. There is no idempotency key, so look for the message in the `emailSendingAdaptive` GraphQL dataset first",
          "On 429 (code 10004) wait for the `retry-after` header. On 409 `sending_not_ready` the domain setup is unfinished and nothing was sent",
          "Read `result.delivered`, `result.queued` and `result.permanent_bounces` in the response. A 200 does not mean every recipient was accepted",
          "Keep to 50 recipients across to, cc and bcc, and 5 MiB per message including attachments",
          "For SMTP use `smtp.mx.cloudflare.net` on port 465 with implicit TLS, username `api_token` and the API token as password. Port 587 is not supported",
          "By default one suppressed recipient fails the whole send. Turn on Drop suppressed recipients for the domain to send to the rest"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.3
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 81,
          "payments": 30,
          "reliability": 51,
          "schema": 89,
          "security": 77,
          "transparency": 57
        },
        "provenanceScore": 95
      },
      "connect": {
        "http": "curl \"https://api.cloudflare.com/client/v4/accounts/{account_id}/email/sending/send\" \\\n  --header \"Authorization: Bearer \u003cAPI_TOKEN\u003e\" \\\n  --header \"Content-Type: application/json\" \\\n  --data '{\"to\":\"recipient@example.com\",\"from\":\"welcome@yourdomain.com\",\"subject\":\"Welcome to our service!\",\"html\":\"\u003ch1\u003eWelcome!\u003c/h1\u003e\u003cp\u003eThanks for signing up.\u003c/p\u003e\",\"text\":\"Welcome! Thanks for signing up.\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/cloudflare-email-service"
      },
      "sameCompany": [
        "cloudflare-sandbox-sdk",
        "cloudflare-web-search",
        "cloudflare-mcp",
        "cloudflare-r2",
        "cloudflare-clef"
      ],
      "area": "communication",
      "unitPrices": [
        {
          "item": "Outbound email",
          "unit": "1k-emails",
          "usd": 0.35,
          "note": "After 3,000 included a month, Workers Paid plan only. Sends to verified destination addresses are free"
        },
        {
          "item": "Workers Paid plan",
          "unit": "month",
          "usd": 5,
          "note": "Minimum monthly charge for the plan that Email Sending to arbitrary recipients needs"
        }
      ],
      "provenance": {
        "legalEntity": "Cloudflare, Inc.",
        "domain": "cloudflare.com",
        "domainRegistered": "2009-02-17",
        "endpointOnVendorDomain": true,
        "terms": "https://www.cloudflare.com/terms/",
        "privacy": "https://www.cloudflare.com/privacypolicy/",
        "statusPage": "https://www.cloudflarestatus.com",
        "changelog": "https://developers.cloudflare.com/changelog/product/email-service/",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "Terms are the Self-Serve Subscription Agreement, last updated 12 September 2025, which names Cloudflare, Inc. at 101 Townsend St, San Francisco. Its section 5 covers beta services.",
          "The Developer Platform service-specific terms (https://www.cloudflare.com/service-specific-terms-developer-platform/), last updated 28 September 2026, have their own sections for Cloudflare Email Service and Email Routing and supplement the agreement.",
          "The privacy policy is effective from 4 November 2025 and makes Cloudflare a data processor for customer content that crosses its network. A customer DPA is at https://www.cloudflare.com/cloudflare-customer-dpa/.",
          "www.cloudflare.com/.well-known/security.txt, read on 8 October 2026, names HackerOne and a disclosure policy and has no Expires field. It is recorded as valid to match the other Cloudflare listings.",
          "The REST endpoint is on api.cloudflare.com. The SMTP endpoint is on smtp.mx.cloudflare.net, a different registered domain.",
          "The status page lists Email Sending and Email Routing as separate components, both operational on 8 October 2026.",
          "RDAP for cloudflare.com gives a registration date of 2009-02-17."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cloudflare-email-service.json",
      "live": {
        "slug": "cloudflare-email-service",
        "probe": {
          "target": "https://api.cloudflare.com/client/v4",
          "method": "get",
          "lastAt": "2026-10-08T21:12:07.608903417Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 38,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 38,
          "p95ms24h": 97,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.cloudflarestatus.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-08T21:05:54.426735933Z"
        },
        "updatedAt": "2026-10-08T21:12:07.608903417Z"
      }
    },
    "answer": "Cloudflare Email Service scores 67.3 (B) on agent readiness against Twilio SendGrid's 63.6 (B), and leads in 3 of 7 scored categories. Twilio SendGrid leads on reliability.",
    "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": 305,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 8,
        "methodology": "0.4",
        "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.",
        "bestFor": "Teams already on Twilio, or that want Marketing Campaigns, subusers and fine-grained keys in one account.",
        "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.4",
            "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-08T21:12:21.152283894Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 158,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 158,
          "p95ms24h": 202,
          "samples24h": 271,
          "samples30d": 2157,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 239,
              "ok": 239
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.twilio.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-10-08T21:06:25.633930861Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "sendgrid/sendgrid-nodejs",
            "version": "8.1.6",
            "released": "2025-09-19",
            "seenAt": "2026-10-08T16:28:49.3558642Z"
          },
          {
            "registry": "npm",
            "name": "@sendgrid/mail",
            "version": "8.1.6",
            "seenAt": "2026-10-08T16:28:48.44008455Z"
          },
          {
            "registry": "pypi",
            "name": "sendgrid",
            "version": "6.12.5",
            "released": "2025-09-19",
            "seenAt": "2026-10-08T16:28:49.242685263Z"
          }
        ],
        "githubStars": 3052,
        "npmWeekly": 5744754,
        "pypiWeekly": 4996856,
        "securityTxt": {
          "url": "https://sendgrid.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-08T15:38:35.229818646Z"
        },
        "llmsTxt": {
          "url": "https://www.twilio.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:52.040188642Z"
        },
        "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-08T18:31:05.564395484Z",
            "changedAt": "2026-10-07T18:14:10.937244949Z",
            "fingerprint": "51737322225d"
          },
          {
            "url": "https://www.twilio.com/en-us/products/email-api/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:12.205867613Z",
            "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-08T18:31:08.120395446Z",
            "changedAt": "2026-10-08T18:31:08.120395446Z",
            "fingerprint": "6da0cfe3eb8e"
          },
          {
            "url": "https://www.twilio.com/en-us/legal/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:10.230391682Z",
            "changedAt": "2026-10-03T15:40:27.263475456Z",
            "fingerprint": "2a9a14fa11bf"
          }
        ],
        "updatedAt": "2026-10-08T21:12:21.152283894Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Cloudflare",
        "b": "Twilio",
        "name": "Vendor"
      },
      {
        "a": "https://api.cloudflare.com/client/v4",
        "b": "https://api.sendgrid.com/v3",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Cloudflare's Self-Serve Subscription Agreement and Developer Platform service-specific terms. The official `cloudflare` SDK on npm is Apache-2.0",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-25",
        "b": "2025-09-19",
        "name": "Last release"
      },
      {
        "a": "2025-09-12",
        "b": "2026-07-16",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-04-09",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.8M npm/wk, 364k PyPI/wk",
        "b": "3.1k stars, 5.5M npm/wk, 4.6M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Cloudflare Email Service scores 67.3 (B) on agent readiness against Twilio SendGrid's 63.6 (B), and leads in 3 of 7 scored categories. Twilio SendGrid leads on reliability.",
        "question": "Which is better for AI agents, Cloudflare Email Service or Twilio SendGrid?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Cloudflare Email Service and Twilio SendGrid need an API key?"
      },
      {
        "answer": "Yes. Cloudflare Email Service has a hosted endpoint at https://api.cloudflare.com/client/v4 and Twilio SendGrid at https://api.sendgrid.com/v3.",
        "question": "Can an agent call Cloudflare Email Service and Twilio SendGrid without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 89 against 72",
          "Agent ergonomics, 72 against 60",
          "Maintenance \u0026 community, 81 against 47"
        ],
        "also": null,
        "goodFor": "Teams already on Cloudflare DNS and Workers that want transactional sending and inbound handling in one account at a low unit price.",
        "slug": "cloudflare-email-service",
        "watchFor": "Email Sending has been in public beta since 16 April 2026. Cloudflare's terms let it remove a beta service at any time, and no SLA was found"
      },
      {
        "aheadOn": [
          "Reliability, 66 against 51"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Teams already on Twilio, or that want Marketing Campaigns, subusers and fine-grained keys in one account.",
        "slug": "sendgrid",
        "watchFor": "No official MCP server that can send, only Twilio's docs search"
      }
    ],
    "job": {
      "capability": "email.send",
      "name": "Email send"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-cloudflare-email-service.json",
        "title": "Amazon SES vs Cloudflare Email Service",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-cloudflare-email-service"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendgrid.json",
        "title": "Amazon SES vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-cloudflare-email-service.json",
        "title": "Brevo API + MCP vs Cloudflare Email Service",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-cloudflare-email-service"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-sendgrid.json",
        "title": "Brevo API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-loops.json",
        "title": "Cloudflare Email Service vs Loops API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-loops"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailersend.json",
        "title": "Cloudflare Email Service vs MailerSend",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailersend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailgun.json",
        "title": "Cloudflare Email Service vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailgun"
      },
      {
        "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-mailtrap.json",
        "title": "Cloudflare Email Service vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mandrill.json",
        "title": "Cloudflare Email Service vs Mailchimp Transactional (Mandrill)",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mandrill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-postmark.json",
        "title": "Cloudflare Email Service vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-resend.json",
        "title": "Cloudflare Email Service vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-smtp2go.json",
        "title": "Cloudflare Email Service vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-zoho-zeptomail.json",
        "title": "Cloudflare Email Service vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-zoho-zeptomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-sendgrid.json",
        "title": "Loops API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/loops-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailersend-vs-sendgrid.json",
        "title": "MailerSend vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-sendgrid.json",
        "title": "Mailgun API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-sendgrid"
      },
      {
        "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/mailtrap-vs-sendgrid.json",
        "title": "Mailtrap Email API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mandrill-vs-sendgrid.json",
        "title": "Mailchimp Transactional (Mandrill) vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/mandrill-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postmark-vs-sendgrid.json",
        "title": "Postmark API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/postmark-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/resend-vs-sendgrid.json",
        "title": "Resend API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/resend-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendgrid-vs-smtp2go.json",
        "title": "Twilio SendGrid vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/sendgrid-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendgrid-vs-zoho-zeptomail.json",
        "title": "Twilio SendGrid vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/sendgrid-vs-zoho-zeptomail"
      }
    ],
    "scores": [
      {
        "by": 15,
        "cloudflare-email-service": 51,
        "edge": "sendgrid",
        "key": "reliability",
        "name": "Reliability",
        "sendgrid": 66,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "cloudflare-email-service": 89,
        "edge": "cloudflare-email-service",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "sendgrid": 72,
        "weight": 13
      },
      {
        "by": 12,
        "cloudflare-email-service": 72,
        "edge": "cloudflare-email-service",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "sendgrid": 60,
        "weight": 13
      },
      {
        "by": 4,
        "cloudflare-email-service": 77,
        "edge": "sendgrid",
        "key": "security",
        "name": "Security \u0026 auth",
        "sendgrid": 81,
        "weight": 14
      },
      {
        "by": 0,
        "cloudflare-email-service": 30,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "sendgrid": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "cloudflare-email-service": 81,
        "edge": "cloudflare-email-service",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "sendgrid": 47,
        "weight": 7
      },
      {
        "by": 3,
        "cloudflare-email-service": 76,
        "edge": "sendgrid",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "sendgrid": 79,
        "weight": 7
      }
    ],
    "summary": "Cloudflare Email Service scores 67.3 (B) on agent readiness against Twilio SendGrid's 63.6 (B), and leads in 3 of 7 scored categories. Twilio SendGrid leads on reliability. Both do email send.",
    "verdicts": {
      "cloudflare-email-service": "Cloudflare API tokens can be limited to sending, given an expiry and restricted by IP address, and a public OpenAPI file covers 29 Email Sending operations. Sending is still in beta, with no SLA, no idempotency key and no published daily quota, and it needs a domain on Cloudflare DNS and the Workers Paid plan.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendgrid",
    "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendgrid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendgrid.md",
    "slim": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendgrid.min.md"
  },
  "markdown": "Cloudflare Email Service scores 67.3 (B) on agent readiness against Twilio SendGrid's 63.6 (B), and leads in 3 of 7 scored categories. Twilio SendGrid leads on reliability. Both do email send.\n\n- Cloudflare Email Service: grade B, 67.3/100, rank #212 of 722. Markdown https://www.anchorterminal.com/tools/cloudflare-email-service.md · JSON https://www.anchorterminal.com/api/v1/tools/cloudflare-email-service.json\n- Twilio SendGrid: grade B, 63.6/100, rank #305 of 722. 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\n### Cloudflare Email Service (B)\n\nGood for: Teams already on Cloudflare DNS and Workers that want transactional sending and inbound handling in one account at a low unit price.\n\nAhead on:\n- Schema \u0026 documentation, 89 against 72\n- Agent ergonomics, 72 against 60\n- Maintenance \u0026 community, 81 against 47\n\nWatch for: Email Sending has been in public beta since 16 April 2026. Cloudflare's terms let it remove a beta service at any time, and no SLA was found\n\n### Twilio SendGrid (B)\n\nGood for: Teams already on Twilio, or that want Marketing Campaigns, subusers and fine-grained keys in one account.\n\nAhead on:\n- Reliability, 66 against 51\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No official MCP server that can send, only Twilio's docs search\n\n\n## Score by category\n\n| Category | Weight | Cloudflare Email Service | Twilio SendGrid | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 51 | 66 | Twilio SendGrid +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 72 | Cloudflare Email Service +17 |\n| Agent ergonomics | 13% (16.2 this run) | 72 | 60 | Cloudflare Email Service +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 77 | 81 | Twilio SendGrid +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 47 | Cloudflare Email Service +34 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 76 | 79 | Twilio SendGrid +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.3 · B** | **63.6 · B** | |\n\n## Facts side by side\n\n| Fact | Cloudflare Email Service | Twilio SendGrid |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Cloudflare | Twilio |\n| Hosted endpoint | `https://api.cloudflare.com/client/v4` | `https://api.sendgrid.com/v3` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Cloudflare's Self-Serve Subscription Agreement and Developer Platform service-specific terms. The official `cloudflare` SDK on npm is Apache-2.0 | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-25 | 2025-09-19 |\n| Terms last updated | 2025-09-12 | 2026-07-16 |\n| Privacy policy last updated | no date given | 2026-04-09 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 3.8M npm/wk, 364k PyPI/wk | 3.1k stars, 5.5M npm/wk, 4.6M PyPI/wk |\n| Agent reviews | none | 2.5/5 (2) |\n\n## Verdicts\n\n**Cloudflare Email Service.** Cloudflare API tokens can be limited to sending, given an expiry and restricted by IP address, and a public OpenAPI file covers 29 Email Sending operations. Sending is still in beta, with no SLA, no idempotency key and no published daily quota, and it needs a domain on Cloudflare DNS and the Workers Paid plan.\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### Cloudflare Email Service\n\n1. POST to `https://api.cloudflare.com/client/v4/accounts/{account_id}/email/sending/send` with `Authorization: Bearer \u003ctoken\u003e`. The body needs `to`, `from`, `subject` and one of `html` or `text`\n2. Don't retry a timed-out send blindly. There is no idempotency key, so look for the message in the `emailSendingAdaptive` GraphQL dataset first\n3. On 429 (code 10004) wait for the `retry-after` header. On 409 `sending_not_ready` the domain setup is unfinished and nothing was sent\n4. Read `result.delivered`, `result.queued` and `result.permanent_bounces` in the response. A 200 does not mean every recipient was accepted\n5. Keep to 50 recipients across to, cc and bcc, and 5 MiB per message including attachments\n6. For SMTP use `smtp.mx.cloudflare.net` on port 465 with implicit TLS, username `api_token` and the API token as password. Port 587 is not supported\n7. By default one suppressed recipient fails the whole send. Turn on Drop suppressed recipients for the domain to send to the rest\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## Questions\n\n### Which is better for AI agents, Cloudflare Email Service or Twilio SendGrid?\n\nCloudflare Email Service scores 67.3 (B) on agent readiness against Twilio SendGrid's 63.6 (B), and leads in 3 of 7 scored categories. Twilio SendGrid leads on reliability.\n\n### Do Cloudflare Email Service and Twilio SendGrid need an API key?\n\nBoth need an API key.\n\n### Can an agent call Cloudflare Email Service and Twilio SendGrid without installing anything?\n\nYes. Cloudflare Email Service has a hosted endpoint at https://api.cloudflare.com/client/v4 and Twilio SendGrid at https://api.sendgrid.com/v3.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendgrid.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendgrid.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cloudflare-email-service\", \"b\": \"sendgrid\"}`. From a terminal: `anchor compare cloudflare-email-service sendgrid`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cloudflare-email-service.json and https://www.anchorterminal.com/api/v1/tools/sendgrid.json\n\n## Other comparisons with Cloudflare Email Service or Twilio SendGrid\n\n- [Amazon SES vs Cloudflare Email Service](https://www.anchorterminal.com/compare/amazon-ses-vs-cloudflare-email-service.md)\n- [Amazon SES vs Twilio SendGrid](https://www.anchorterminal.com/compare/amazon-ses-vs-sendgrid.md)\n- [Brevo API + MCP vs Cloudflare Email Service](https://www.anchorterminal.com/compare/brevo-vs-cloudflare-email-service.md)\n- [Brevo API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/brevo-vs-sendgrid.md)\n- [Cloudflare Email Service vs Loops API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-loops.md)\n- [Cloudflare Email Service vs MailerSend](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailersend.md)\n- [Cloudflare Email Service vs Mailgun API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailgun.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 Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailtrap.md)\n- [Cloudflare Email Service vs Mailchimp Transactional (Mandrill)](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mandrill.md)\n- [Cloudflare Email Service vs Postmark API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-postmark.md)\n- [Cloudflare Email Service vs Resend API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-resend.md)\n- [Cloudflare Email Service vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-smtp2go.md)\n- [Cloudflare Email Service vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-zoho-zeptomail.md)\n- [Loops API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/loops-vs-sendgrid.md)\n- [MailerSend vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailersend-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- [Mailtrap Email API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailtrap-vs-sendgrid.md)\n- [Mailchimp Transactional (Mandrill) vs Twilio SendGrid](https://www.anchorterminal.com/compare/mandrill-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- [Twilio SendGrid vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/sendgrid-vs-zoho-zeptomail.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Cloudflare Email Service vs Twilio SendGrid",
        "url": ""
      }
    ],
    "description": "Cloudflare Email Service scores 67.3 (B) on agent readiness against Twilio SendGrid's 63.6 (B), and leads in 3 of 7 scored categories. Twilio SendGrid leads on reliability. Both do email send. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Cloudflare Email Service B 67.3",
      "Twilio SendGrid B 63.6",
      "scores"
    ],
    "h1": "Cloudflare Email Service vs Twilio SendGrid",
    "image": "https://www.anchorterminal.com/assets/og/compare-cloudflare-email-service-vs-sendgrid.png",
    "path": "/compare/cloudflare-email-service-vs-sendgrid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cloudflare Email Service vs Twilio SendGrid for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendgrid"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 680
  },
  "version": 1
}
