{
  "data": {
    "a": {
      "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": 1148,
        "ranked": true,
        "rankOf": 1510,
        "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-07T19:22:32.206680288Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 341,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 333,
          "p95ms24h": 423,
          "samples24h": 210,
          "samples30d": 210,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "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-07T19:22:32.206680288Z"
      }
    },
    "answer": "Zoho CPaaS (formerly ZeptoMail) scores 58.2 (C) on agent readiness against SendLayer's 47.7 (D), and leads in 5 of 7 scored categories. SendLayer leads on reliability and agent ergonomics.",
    "b": {
      "slug": "zoho-zeptomail",
      "name": "Zoho CPaaS (formerly ZeptoMail)",
      "vendor": "Zoho Corporation",
      "vendorUrl": "https://www.zoho.com/cpaas/",
      "kind": "http-api",
      "category": "email",
      "summary": "Transactional email service from Zoho, renamed from ZeptoMail to Zoho CPaaS in September 2026. It sends application email through a REST API or SMTP relay, with templates, domain management, suppression lists, logs and webhooks.",
      "url": "https://www.anchorterminal.com/tools/zoho-zeptomail",
      "markdownUrl": "https://www.anchorterminal.com/tools/zoho-zeptomail.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zoho-zeptomail.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zoho-zeptomail.json",
      "dns": "zoho-zeptomail.grade.anchorterminal.com",
      "license": "Proprietary service under the Zoho CPaaS terms of use. The Node SDK on npm is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://cpaas.zoho.com/v1.1",
      "packages": [
        {
          "registry": "npm",
          "name": "zeptomail"
        }
      ],
      "auth": "mixed",
      "authNotes": "Sending takes a send key in the `Authorization` header with the prefix Zoho-enczapikey. Each Agent has its own keys, one set per channel, copied from the console's SMTP/API tab or created and deleted by API. Logs, domains, templates, agents and suppression lists take a Zoho OAuth 2.0 access token (authorisation code grant, one-hour tokens, refresh tokens) with per-resource scopes. Access is self-serve, but every new account passes a manual review that the docs say takes two business days.",
      "pricing": "usage",
      "pricingNotes": "Prepaid email credits of 10,000 emails each, valid six months and counted per recipient, with the first credit free and no monthly plan. A sandbox Agent accepts 10,000 test emails a day without sending them. Credits can be bought only after the account review. A dedicated IP is priced by the month, billed annually. The amounts are filled in by script from a data file and weren't read (https://www.zoho.com/cpaas/pricing.md, checked 2026-11-02).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI file or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 40110,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.zoho.com/cpaas/help/api/api-home.html",
      "llmsTxt": "https://www.zoho.com/cpaas/llms.txt",
      "openapi": "https://www.zohowebstatic.com/sites/zweb/json/api/cpaas/oas.json",
      "capabilities": [
        "email.send",
        "email.templates",
        "email.domains",
        "email.analytics"
      ],
      "tags": [
        "hosted",
        "usage",
        "openapi",
        "llms-txt",
        "oauth",
        "smtp",
        "webhooks",
        "sandbox",
        "typescript",
        "status-page",
        "bug-bounty",
        "soc2"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.2,
        "grade": "C",
        "agentReady": false,
        "rank": 759,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 18,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 44,
          "payments": 30,
          "reliability": 41,
          "schema": 78,
          "security": 78,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.0 file covers all 42 operations, each Agent has its own send-only key, and email is prepaid per 10,000 with the first credit free. No API rate limit, 429 handling, idempotency key or SLA was found in the reviewed documentation, and new accounts wait for a manual review.",
        "bestFor": "Low-volume transactional senders who want prepaid credits without a monthly plan, and teams already on Zoho.",
        "strengths": [
          "Public OpenAPI 3.0.3 file with 42 operations, plus llms.txt and a Markdown copy of every help page",
          "Send keys are per Agent and per channel and can only send. Management calls use OAuth with READ, CREATE, UPDATE and DELETE scopes per resource",
          "Prepaid email credits of 10,000 emails, valid six months, with the first credit free and no monthly plan",
          "IP allow lists for sending, the REST API and the web console, and activity logs kept for one year",
          "The terms commit to a six-month deprecation period for a retired API version"
        ],
        "weaknesses": [
          "No API rate limit, 429 behaviour or Retry-After was found in the reviewed documentation or the OpenAPI file",
          "No idempotency key on send. `client_reference` is a tracking label only",
          "Every new account is reviewed by Zoho staff, which the docs say takes two business days, before credits can be bought",
          "The only official SDK found is the Node package, last published on 29 May 2026 and still named zeptomail",
          "The OAuth guide puts the client secret and refresh token in the token URL's query string",
          "No inbound email, and no SLA was found"
        ],
        "agentNotes": [
          "Call the base URL for the account's region (cpaas.zoho.com, .eu, .in, .com.au, .jp or .com.cn). A key from one region fails on another",
          "Send with `Authorization: Zoho-enczapikey \u003ckey\u003e`. Logs, domains, templates, agents and suppressions need a Zoho OAuth token as `Authorization: Zoho-oauthtoken \u003ctoken\u003e`",
          "Post OAuth client secrets and refresh tokens in the request body, not the query string the guide shows, so they stay out of logs",
          "Don't retry a timed-out send blindly. There is no idempotency key, so look the message up by `client_reference` in the email logs first",
          "Count one email per recipient, including cc and bcc, and keep each address field to 500 entries and each attachment to 15 MB",
          "Use a sandbox Agent for tests. It accepts up to 10,000 emails a day and sends none of them"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.2
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 44,
          "payments": 30,
          "reliability": 41,
          "schema": 78,
          "security": 78,
          "transparency": 69
        },
        "provenanceScore": 94,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install zeptomail",
        "http": "curl --request POST --url https://cpaas.zoho.com/v1.1/email \\\n  --header 'Authorization: Zoho-enczapikey REPLACE_WITH_YOUR_KEY' \\\n  --header 'content-type: application/json' \\\n  --data '{\"from\":{\"address\":\"hello@yourapp.com\",\"name\":\"Your App\"},\"to\":[{\"email_address\":{\"address\":\"user@example.com\",\"name\":\"User\"}}],\"subject\":\"Test Email\",\"htmlbody\":\"\u003cp\u003eTest email sent successfully.\u003c/p\u003e\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/zoho-zeptomail"
      },
      "sameCompany": [
        "zoho-books",
        "zoho-crm",
        "zoho-desk",
        "zoho-recruit",
        "zoho-people",
        "zoho-mail"
      ],
      "area": "communication",
      "provenance": {
        "legalEntity": "Zoho Corporation",
        "domain": "zoho.com",
        "domainRegistered": "2004-01-16",
        "endpointOnVendorDomain": true,
        "terms": "https://www.zoho.com/cpaas/terms.html",
        "privacy": "https://www.zoho.com/privacy.html",
        "statusPage": "https://us.zohostatus.com/",
        "changelog": "https://www.zoho.com/cpaas/whats-new.html",
        "securityTxt": "valid",
        "checked": "2026-11-02",
        "notes": [
          "The Zoho CPaaS terms of use name the contracting party as the Zoho entity for the customer's region. That is Zoho Corporation for the United States and Zoho Corporation Private Limited for India (https://www.zoho.com/legal/zoho-contracting-entities.html).",
          "The privacy field points at Zoho's privacy policy, last updated 22 December 2025, whose Part II covers the data customers process through Zoho services. Zoho CPaaS has no privacy policy of its own.",
          "status.zoho.com redirects to us.zohostatus.com, which lists Zepto Mail, Zepto Mail-SMTP and Zepto Mail-SMTP (PORT:465) under the old name. Other regions have their own status sites.",
          "www.zoho.com/.well-known/security.txt names security@zohocorp.com and the bug bounty, and expires on 30 June 2028. cpaas.zoho.com/.well-known/security.txt returns 403.",
          "RDAP for zoho.com gives a registration date of 2004-01-16.",
          "On 2 November 2026 us.zohostatus.com answered robots.txt with a 404 carrying an error page, read as blocked, so the status page wasn't re-read."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zoho-zeptomail.json",
      "live": {
        "slug": "zoho-zeptomail",
        "probe": {
          "target": "https://cpaas.zoho.com/v1.1",
          "method": "get",
          "lastAt": "2026-11-07T19:22:46.889478517Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 461,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 444,
          "p95ms24h": 557,
          "samples24h": 238,
          "samples30d": 7450,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 70,
              "ok": 70
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://us.zohostatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:49:02.430674227Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "zeptomail",
            "version": "8.0.1",
            "seenAt": "2026-11-07T00:19:26.142653107Z"
          }
        ],
        "npmWeekly": 35781,
        "securityTxt": {
          "url": "https://zoho.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2028-06-30T23:59:59.000Z",
          "checkedAt": "2026-11-07T15:59:50.941776064Z"
        },
        "llmsTxt": {
          "url": "https://www.zoho.com/cpaas/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:35.165808162Z"
        },
        "domain": {
          "domain": "zoho.com",
          "registered": "2004-01-16",
          "source": "https://rdap.verisign.com/com/v1/domain/zoho.com",
          "checkedAt": "2026-11-01T14:25:40.832306171Z"
        },
        "pages": [
          {
            "url": "https://www.zoho.com/cpaas/whats-new.html",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:38:01.103447641Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7bf282bb5347"
          },
          {
            "url": "https://www.zoho.com/cpaas/pricing.html",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-02T07:40:16.034374166Z",
            "changedAt": "2026-10-21T01:09:06.032033866Z",
            "fingerprint": "f1f3ee5174e9"
          },
          {
            "url": "https://www.zoho.com/cpaas/pricing.md",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:37:55.988830385Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "948a5178ba37"
          },
          {
            "url": "https://www.zoho.com/cpaas/terms.html",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:37:56.039176711Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a4fd5ba82732"
          }
        ],
        "updatedAt": "2026-11-07T19:22:46.889478517Z"
      }
    },
    "edges": [
      {
        "by": 40,
        "category": "security",
        "leads": "zoho-zeptomail",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "Send keys are per Agent and per channel, can be created, listed and deleted by API, and can only send and upload attachments. Management calls use Zoho OAuth 2.0 with READ, CREATE, UPDATE and DELETE scopes per resource and one-hour access tokens. That earns 30, less 10 because the OAuth guide documents the client secret and refresh token in the token URL's query string (20). Read-only scopes, send-only keys, sandbox Agents and IP allow lists for sending, the REST API and the web console. No approval step for deletes (15). No inbound mail, so responses hold only the account's own logs and settings (10). Activity logs per user kept one year with export, and email logs for 60 days that show the triggering IP (13). security.txt valid until 30 June 2028 naming security@zohocorp.com and Zoho's bug bounty, and SOC 2 Type II and ISO/IEC 27001 on Zoho's compliance page, the same evidence zoho-crm, zoho-desk and zoho-books score 20 on. The 2 points held back on 8 October for no advisory feed aren't a checklist condition the other Zoho listings apply (20)."
        },
        "scores": {
          "a": 38,
          "b": 78
        }
      },
      {
        "by": 33,
        "category": "transparency",
        "leads": "zoho-zeptomail",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "Closed service with its own published terms of use, and an MIT Node SDK (20). Zoho's privacy policy of 22 December 2025 covers service data, and the CPaaS pages say content is stored only on opt-in for 60 days and logs for 60 days. The pages disagree on deletion. The GDPR page says account data is deleted within 24 hours of a 48-hour grace period, the privacy policy says a clean-up every six months with backups three months later, and the April 2026 changelog entry says content can be kept up to 50 days (18). The terms commit to a six-month deprecation period after a service announcement, with no dated notices to check it against (16). Six data centre regions are named with their hosts, and Zoho publishes a sub-processor directory by service that loads by script and that we couldn't read (15)."
        },
        "scores": {
          "a": 49,
          "b": 82
        }
      },
      {
        "by": 10,
        "category": "schema",
        "leads": "zoho-zeptomail",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI file at developers.sendlayer.com/api-reference/sendlayer.json (version 1.0.1) covering four paths, send, events and webhooks (25). llms.txt and Markdown copies of every developer page (10). Operation summaries say what each call does; nothing says when not to use one, and the hosted MCP server's tool definitions aren't public (10 of 20). Parameters are typed but without enums or limits, and the event filter is a free string (7 of 15). Code samples in five languages and a table of 35 error codes, but the spec documents only 200 responses (11 of 15). Version in the path and in the spec, with no public changelog (5 of 15). Total 68.",
          "b": "One public OpenAPI 3.0.3 file with 42 operations, linked from the docs without a login (25). llms.txt at zoho.com/cpaas/llms.txt and a second for the help centre, with a Markdown copy of each page (10). Every operation has a description, most of them one sentence, with nothing on when not to use it (10). Request bodies name required fields and length caps, with 9 enums across the file, but log filters take dates as free strings and responses are typed as a bare JSON object (10). Sample requests and responses on every page and an error-code table of 24 rows with remedies. The 401 body we got from the live endpoint has a different shape from the documented sample (11). Version 1.1 in the path and a What's New page dated by month only (12). The OpenAPI file was not re-read on 2 November (a permission check refused the request); the line rests on the 8 October reading."
        },
        "scores": {
          "a": 68,
          "b": 78
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "zoho-zeptomail",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "No x402, MPP or L402 (0). The pricing page and its Markdown copy state per-unit email pricing without a login (10,000 emails per credit, valid six months, counted per recipient, a dedicated IP priced by the month), but the figures are filled in by script from a data file. The 8 October price figures came from that file, a script data feed this run doesn't call, so they are struck and the amounts are unchecked. The same page renders worked prices for two other channels of the API without a script (WhatsApp, an authentication message to the US at US$0.0374 with credits at US$2, and voice credits at US$1), so pricing is public in part, with the email amount unread (10 of 20, as pirate-weather's partly public pricing). \"First credit is free\" on the pricing page, and the documented signup asks for a phone verification and no payment details (20). Signup is a browser form with phone verification, and Zoho staff review each new account, so there is no autonomous route (0). 0 + 10 + 20 + 0 = 30."
        },
        "scores": {
          "a": 20,
          "b": 30
        }
      },
      {
        "by": 7,
        "category": "reliability",
        "leads": "sendlayer",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Graded on the hosted email API with the hosted lines. Zoho's status site at us.zohostatus.com listed three Zepto Mail components with status and incident history sections on 8 October, and status.zoho.com points there; the line is kept as for zoho-desk and zoho-crm (20). On 2 November the host answered robots.txt with a 404 carrying an error page (\"We have encountered a problem while executing your request\"), read as blocked as for the other Zoho listings, so nothing else was requested. The 8 October RSS reading (last status change 29 July 2026) is struck, and no history in the window was read (5). No request rate limit was found. The docs give payload caps (500 addresses a field, 60 attachments, 15 MB each), a per-day sending limit error (SMI_115) and the sandbox allowance of 10,000 emails a day (6). No 429 handling, Retry-After or idempotency key found in the docs or the error-code table (0). No SLA found (0). The email channel is generally available, while SMS, WhatsApp and voice are marked beta (10)."
        },
        "scores": {
          "a": 48,
          "b": 41
        }
      },
      {
        "by": 7,
        "category": "ergonomics",
        "leads": "sendlayer",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "Send responses are small, and the logs endpoint takes offset and limit, with no field selection (15). Thirteen filters on email logs, among them recipient, subject, date range, `client_reference` and bounce or delivery state (16). Errors carry a code, a sub-code and a message, and the docs pair each with a fix (16). No idempotency key and no guidance on retrying a send (0). A send needs only from, to and subject. The one official SDK found is for Node, and managing the account needs a second credential type (8)."
        },
        "scores": {
          "a": 62,
          "b": 55
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "SendLayer, LLC",
        "b": "Zoho Corporation",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.sendlayer.com",
        "b": "https://cpaas.zoho.com/v1.1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under the Zoho CPaaS terms of use. The Node SDK on npm is MIT",
        "name": "Licence"
      },
      {
        "a": "5",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-21",
        "b": "2026-09-28",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2025-12-22",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "113 npm/wk, 9 PyPI/wk",
        "b": "40k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Zoho CPaaS (formerly ZeptoMail) scores 58.2 (C) on agent readiness against SendLayer's 47.7 (D), and leads in 5 of 7 scored categories. SendLayer leads on reliability and agent ergonomics.",
        "question": "Which is better for AI agents, SendLayer or Zoho CPaaS (formerly ZeptoMail)?"
      },
      {
        "answer": "SendLayer needs an API key. Zoho CPaaS (formerly ZeptoMail) takes an API key or an OAuth sign-in.",
        "question": "Do SendLayer and Zoho CPaaS (formerly ZeptoMail) need an API key?"
      },
      {
        "answer": "Yes. SendLayer has a hosted endpoint at https://mcp.sendlayer.com and Zoho CPaaS (formerly ZeptoMail) at https://cpaas.zoho.com/v1.1.",
        "question": "Can an agent call SendLayer and Zoho CPaaS (formerly ZeptoMail) without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 48 against 41",
          "Agent ergonomics, 62 against 55"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 78 against 68",
          "Security \u0026 auth, 78 against 38",
          "Payments \u0026 pricing, 30 against 20",
          "Transparency \u0026 trust, 82 against 49"
        ],
        "also": null,
        "goodFor": "Low-volume transactional senders who want prepaid credits without a monthly plan, and teams already on Zoho.",
        "slug": "zoho-zeptomail",
        "watchFor": "No API rate limit, 429 behaviour or Retry-After was found in the reviewed documentation or the OpenAPI file"
      }
    ],
    "history": {
      "sendlayer": null,
      "zoho-zeptomail": [
        {
          "causes": [
            "correction",
            "time"
          ],
          "date": "2026-11-02",
          "delta": -3.6,
          "from": 61.8,
          "fromGrade": "C",
          "to": 58.2,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "email.send",
      "name": "Sending email"
    },
    "others": [
      {
        "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/ahasend-vs-zoho-zeptomail.json",
        "title": "AhaSend API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-zoho-zeptomail"
      },
      {
        "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/amazon-ses-vs-zoho-zeptomail.json",
        "title": "Amazon SES vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-zoho-zeptomail"
      },
      {
        "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/brevo-vs-zoho-zeptomail.json",
        "title": "Brevo API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-zoho-zeptomail"
      },
      {
        "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/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/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/groundmail-vs-zoho-zeptomail.json",
        "title": "Groundmail API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-zoho-zeptomail"
      },
      {
        "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/loops-vs-zoho-zeptomail.json",
        "title": "Loops API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/loops-vs-zoho-zeptomail"
      },
      {
        "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/mailersend-vs-zoho-zeptomail.json",
        "title": "MailerSend vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-zoho-zeptomail"
      },
      {
        "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/mailgun-vs-zoho-zeptomail.json",
        "title": "Mailgun API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-zoho-zeptomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.json",
        "title": "Mailjet API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/mailpace-vs-zoho-zeptomail.json",
        "title": "MailPace vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-zoho-zeptomail"
      },
      {
        "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/mailtrap-vs-zoho-zeptomail.json",
        "title": "Mailtrap Email API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-zoho-zeptomail"
      },
      {
        "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/mandrill-vs-zoho-zeptomail.json",
        "title": "Mailchimp Transactional (Mandrill) vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mandrill-vs-zoho-zeptomail"
      },
      {
        "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/postmark-vs-zoho-zeptomail.json",
        "title": "Postmark API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/postmark-vs-zoho-zeptomail"
      },
      {
        "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/resend-vs-zoho-zeptomail.json",
        "title": "Resend API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/resend-vs-zoho-zeptomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendgrid-vs-sendlayer.json",
        "title": "Twilio SendGrid vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/sendgrid-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendgrid-vs-zoho-zeptomail.json",
        "title": "Twilio SendGrid vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/sendgrid-vs-zoho-zeptomail"
      },
      {
        "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/smtp2go-vs-zoho-zeptomail.json",
        "title": "SMTP2GO API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/smtp2go-vs-zoho-zeptomail"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 7,
        "edge": "sendlayer",
        "key": "reliability",
        "name": "Reliability",
        "sendlayer": 48,
        "weight": 16,
        "zoho-zeptomail": 41
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "zoho-zeptomail",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "sendlayer": 68,
        "weight": 13,
        "zoho-zeptomail": 78
      },
      {
        "by": 7,
        "edge": "sendlayer",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "sendlayer": 62,
        "weight": 13,
        "zoho-zeptomail": 55
      },
      {
        "by": 40,
        "edge": "zoho-zeptomail",
        "key": "security",
        "name": "Security \u0026 auth",
        "sendlayer": 38,
        "weight": 14,
        "zoho-zeptomail": 78
      },
      {
        "by": 10,
        "edge": "zoho-zeptomail",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "sendlayer": 20,
        "weight": 10,
        "zoho-zeptomail": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "zoho-zeptomail",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "sendlayer": 40,
        "weight": 7,
        "zoho-zeptomail": 44
      },
      {
        "by": 33,
        "edge": "zoho-zeptomail",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "sendlayer": 49,
        "weight": 7,
        "zoho-zeptomail": 82
      }
    ],
    "summary": "Zoho CPaaS (formerly ZeptoMail) scores 58.2 (C) on agent readiness against SendLayer's 47.7 (D), and leads in 5 of 7 scored categories. SendLayer leads on reliability and agent ergonomics. Both do sending email.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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.",
      "zoho-zeptomail": "A public OpenAPI 3.0 file covers all 42 operations, each Agent has its own send-only key, and email is prepaid per 10,000 with the first credit free. No API rate limit, 429 handling, idempotency key or SLA was found in the reviewed documentation, and new accounts wait for a manual review."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail",
    "json": "https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail.min.md"
  },
  "markdown": "Zoho CPaaS (formerly ZeptoMail) scores 58.2 (C) on agent readiness against SendLayer's 47.7 (D), and leads in 5 of 7 scored categories. SendLayer leads on reliability and agent ergonomics. Both do sending email.\n\n- SendLayer: grade D, 47.7/100, rank #1148 of 1510. Markdown https://www.anchorterminal.com/tools/sendlayer.md · JSON https://www.anchorterminal.com/api/v1/tools/sendlayer.json\n- Zoho CPaaS (formerly ZeptoMail): grade C, 58.2/100, rank #759 of 1510. Markdown https://www.anchorterminal.com/tools/zoho-zeptomail.md · JSON https://www.anchorterminal.com/api/v1/tools/zoho-zeptomail.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### SendLayer (D)\n\nGood for: Low-volume transactional mail for WordPress and small sites.\n\nAhead on:\n- Reliability, 48 against 41\n- Agent ergonomics, 62 against 55\n\nWatch for: No idempotency key on sends, so a retried request can send twice\n\n### Zoho CPaaS (formerly ZeptoMail) (C)\n\nGood for: Low-volume transactional senders who want prepaid credits without a monthly plan, and teams already on Zoho.\n\nAhead on:\n- Schema \u0026 documentation, 78 against 68\n- Security \u0026 auth, 78 against 38\n- Payments \u0026 pricing, 30 against 20\n- Transparency \u0026 trust, 82 against 49\n\nWatch for: No API rate limit, 429 behaviour or Retry-After was found in the reviewed documentation or the OpenAPI file\n\n\n## Why the edge\n\n### Security \u0026 auth: Zoho CPaaS (formerly ZeptoMail) +40\n\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- Zoho CPaaS (formerly ZeptoMail) (78): Send keys are per Agent and per channel, can be created, listed and deleted by API, and can only send and upload attachments. Management calls use Zoho OAuth 2.0 with READ, CREATE, UPDATE and DELETE scopes per resource and one-hour access tokens. That earns 30, less 10 because the OAuth guide documents the client secret and refresh token in the token URL's query string (20). Read-only scopes, send-only keys, sandbox Agents and IP allow lists for sending, the REST API and the web console. No approval step for deletes (15). No inbound mail, so responses hold only the account's own logs and settings (10). Activity logs per user kept one year with export, and email logs for 60 days that show the triggering IP (13). security.txt valid until 30 June 2028 naming security@zohocorp.com and Zoho's bug bounty, and SOC 2 Type II and ISO/IEC 27001 on Zoho's compliance page, the same evidence zoho-crm, zoho-desk and zoho-books score 20 on. The 2 points held back on 8 October for no advisory feed aren't a checklist condition the other Zoho listings apply (20).\n\n### Transparency \u0026 trust: Zoho CPaaS (formerly ZeptoMail) +33\n\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- Zoho CPaaS (formerly ZeptoMail) (82): Closed service with its own published terms of use, and an MIT Node SDK (20). Zoho's privacy policy of 22 December 2025 covers service data, and the CPaaS pages say content is stored only on opt-in for 60 days and logs for 60 days. The pages disagree on deletion. The GDPR page says account data is deleted within 24 hours of a 48-hour grace period, the privacy policy says a clean-up every six months with backups three months later, and the April 2026 changelog entry says content can be kept up to 50 days (18). The terms commit to a six-month deprecation period after a service announcement, with no dated notices to check it against (16). Six data centre regions are named with their hosts, and Zoho publishes a sub-processor directory by service that loads by script and that we couldn't read (15).\n\n### Schema \u0026 documentation: Zoho CPaaS (formerly ZeptoMail) +10\n\n- SendLayer (68): OpenAPI file at developers.sendlayer.com/api-reference/sendlayer.json (version 1.0.1) covering four paths, send, events and webhooks (25). llms.txt and Markdown copies of every developer page (10). Operation summaries say what each call does; nothing says when not to use one, and the hosted MCP server's tool definitions aren't public (10 of 20). Parameters are typed but without enums or limits, and the event filter is a free string (7 of 15). Code samples in five languages and a table of 35 error codes, but the spec documents only 200 responses (11 of 15). Version in the path and in the spec, with no public changelog (5 of 15). Total 68.\n- Zoho CPaaS (formerly ZeptoMail) (78): One public OpenAPI 3.0.3 file with 42 operations, linked from the docs without a login (25). llms.txt at zoho.com/cpaas/llms.txt and a second for the help centre, with a Markdown copy of each page (10). Every operation has a description, most of them one sentence, with nothing on when not to use it (10). Request bodies name required fields and length caps, with 9 enums across the file, but log filters take dates as free strings and responses are typed as a bare JSON object (10). Sample requests and responses on every page and an error-code table of 24 rows with remedies. The 401 body we got from the live endpoint has a different shape from the documented sample (11). Version 1.1 in the path and a What's New page dated by month only (12). The OpenAPI file was not re-read on 2 November (a permission check refused the request); the line rests on the 8 October reading.\n\n### Payments \u0026 pricing: Zoho CPaaS (formerly ZeptoMail) +10\n\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- Zoho CPaaS (formerly ZeptoMail) (30): No x402, MPP or L402 (0). The pricing page and its Markdown copy state per-unit email pricing without a login (10,000 emails per credit, valid six months, counted per recipient, a dedicated IP priced by the month), but the figures are filled in by script from a data file. The 8 October price figures came from that file, a script data feed this run doesn't call, so they are struck and the amounts are unchecked. The same page renders worked prices for two other channels of the API without a script (WhatsApp, an authentication message to the US at US$0.0374 with credits at US$2, and voice credits at US$1), so pricing is public in part, with the email amount unread (10 of 20, as pirate-weather's partly public pricing). \"First credit is free\" on the pricing page, and the documented signup asks for a phone verification and no payment details (20). Signup is a browser form with phone verification, and Zoho staff review each new account, so there is no autonomous route (0). 0 + 10 + 20 + 0 = 30.\n\n### Reliability: SendLayer +7\n\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- Zoho CPaaS (formerly ZeptoMail) (41): Graded on the hosted email API with the hosted lines. Zoho's status site at us.zohostatus.com listed three Zepto Mail components with status and incident history sections on 8 October, and status.zoho.com points there; the line is kept as for zoho-desk and zoho-crm (20). On 2 November the host answered robots.txt with a 404 carrying an error page (\"We have encountered a problem while executing your request\"), read as blocked as for the other Zoho listings, so nothing else was requested. The 8 October RSS reading (last status change 29 July 2026) is struck, and no history in the window was read (5). No request rate limit was found. The docs give payload caps (500 addresses a field, 60 attachments, 15 MB each), a per-day sending limit error (SMI_115) and the sandbox allowance of 10,000 emails a day (6). No 429 handling, Retry-After or idempotency key found in the docs or the error-code table (0). No SLA found (0). The email channel is generally available, while SMS, WhatsApp and voice are marked beta (10).\n\n### Agent ergonomics: SendLayer +7\n\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- Zoho CPaaS (formerly ZeptoMail) (55): Send responses are small, and the logs endpoint takes offset and limit, with no field selection (15). Thirteen filters on email logs, among them recipient, subject, date range, `client_reference` and bounce or delivery state (16). Errors carry a code, a sub-code and a message, and the docs pair each with a fix (16). No idempotency key and no guidance on retrying a send (0). A send needs only from, to and subject. The one official SDK found is for Node, and managing the account needs a second credential type (8).\n\n## Score by category\n\n| Category | Weight | SendLayer | Zoho CPaaS (formerly ZeptoMail) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 48 | 41 | SendLayer +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 78 | Zoho CPaaS (formerly ZeptoMail) +10 |\n| Agent ergonomics | 13% (16.2 this run) | 62 | 55 | SendLayer +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 38 | 78 | Zoho CPaaS (formerly ZeptoMail) +40 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Zoho CPaaS (formerly ZeptoMail) +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 40 | 44 | Zoho CPaaS (formerly ZeptoMail) +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 49 | 82 | Zoho CPaaS (formerly ZeptoMail) +33 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **47.7 · D** | **58.2 · C** | |\n\n## Facts side by side\n\n| Fact | SendLayer | Zoho CPaaS (formerly ZeptoMail) |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | SendLayer, LLC | Zoho Corporation |\n| Hosted endpoint | `https://mcp.sendlayer.com` | `https://cpaas.zoho.com/v1.1` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| Licence | none | Proprietary service under the Zoho CPaaS terms of use. The Node SDK on npm is MIT |\n| Tools exposed | 5 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-08-21 | 2026-09-28 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | no date given | 2025-12-22 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 113 npm/wk, 9 PyPI/wk | 40k npm/wk |\n| Agent reviews | none | 2.8/5 (4) |\n\n## How the scores have moved\n\n### SendLayer\n\nNo score change since it was listed.\n\n### Zoho CPaaS (formerly ZeptoMail)\n\n- -3.6 on 2 November 2026: correction, time\n\n## Verdicts\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**Zoho CPaaS (formerly ZeptoMail).** A public OpenAPI 3.0 file covers all 42 operations, each Agent has its own send-only key, and email is prepaid per 10,000 with the first credit free. No API rate limit, 429 handling, idempotency key or SLA was found in the reviewed documentation, and new accounts wait for a manual review.\n\n## Before you call either\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### Zoho CPaaS (formerly ZeptoMail)\n\n1. Call the base URL for the account's region (cpaas.zoho.com, .eu, .in, .com.au, .jp or .com.cn). A key from one region fails on another\n2. Send with `Authorization: Zoho-enczapikey \u003ckey\u003e`. Logs, domains, templates, agents and suppressions need a Zoho OAuth token as `Authorization: Zoho-oauthtoken \u003ctoken\u003e`\n3. Post OAuth client secrets and refresh tokens in the request body, not the query string the guide shows, so they stay out of logs\n4. Don't retry a timed-out send blindly. There is no idempotency key, so look the message up by `client_reference` in the email logs first\n5. Count one email per recipient, including cc and bcc, and keep each address field to 500 entries and each attachment to 15 MB\n6. Use a sandbox Agent for tests. It accepts up to 10,000 emails a day and sends none of them\n\n## Questions\n\n### Which is better for AI agents, SendLayer or Zoho CPaaS (formerly ZeptoMail)?\n\nZoho CPaaS (formerly ZeptoMail) scores 58.2 (C) on agent readiness against SendLayer's 47.7 (D), and leads in 5 of 7 scored categories. SendLayer leads on reliability and agent ergonomics.\n\n### Do SendLayer and Zoho CPaaS (formerly ZeptoMail) need an API key?\n\nSendLayer needs an API key. Zoho CPaaS (formerly ZeptoMail) takes an API key or an OAuth sign-in.\n\n### Can an agent call SendLayer and Zoho CPaaS (formerly ZeptoMail) without installing anything?\n\nYes. SendLayer has a hosted endpoint at https://mcp.sendlayer.com and Zoho CPaaS (formerly ZeptoMail) at https://cpaas.zoho.com/v1.1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail.json, and with the fewest tokens: https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"sendlayer\", \"b\": \"zoho-zeptomail\"}`. From a terminal: `anchor compare sendlayer zoho-zeptomail`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/sendlayer.json and https://www.anchorterminal.com/api/v1/tools/zoho-zeptomail.json\n\n## Other comparisons with SendLayer or Zoho CPaaS (formerly ZeptoMail)\n\n- [AhaSend API + MCP vs SendLayer](https://www.anchorterminal.com/compare/ahasend-vs-sendlayer.md)\n- [AhaSend API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/ahasend-vs-zoho-zeptomail.md)\n- [Amazon SES vs SendLayer](https://www.anchorterminal.com/compare/amazon-ses-vs-sendlayer.md)\n- [Amazon SES vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/amazon-ses-vs-zoho-zeptomail.md)\n- [Brevo API + MCP vs SendLayer](https://www.anchorterminal.com/compare/brevo-vs-sendlayer.md)\n- [Brevo API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/brevo-vs-zoho-zeptomail.md)\n- [Cloudflare Email Service vs SendLayer](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendlayer.md)\n- [Cloudflare Email Service vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-zoho-zeptomail.md)\n- [Groundmail API + MCP vs SendLayer](https://www.anchorterminal.com/compare/groundmail-vs-sendlayer.md)\n- [Groundmail API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/groundmail-vs-zoho-zeptomail.md)\n- [Loops API + MCP vs SendLayer](https://www.anchorterminal.com/compare/loops-vs-sendlayer.md)\n- [Loops API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/loops-vs-zoho-zeptomail.md)\n- [MailerSend vs SendLayer](https://www.anchorterminal.com/compare/mailersend-vs-sendlayer.md)\n- [MailerSend vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mailersend-vs-zoho-zeptomail.md)\n- [Mailgun API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.md)\n- [Mailgun API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mailgun-vs-zoho-zeptomail.md)\n- [Mailjet API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.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- [MailPace vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mailpace-vs-zoho-zeptomail.md)\n- [Mailtrap Email API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailtrap-vs-sendlayer.md)\n- [Mailtrap Email API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mailtrap-vs-zoho-zeptomail.md)\n- [Mailchimp Transactional (Mandrill) vs SendLayer](https://www.anchorterminal.com/compare/mandrill-vs-sendlayer.md)\n- [Mailchimp Transactional (Mandrill) vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mandrill-vs-zoho-zeptomail.md)\n- [Postmark API + MCP vs SendLayer](https://www.anchorterminal.com/compare/postmark-vs-sendlayer.md)\n- [Postmark API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/postmark-vs-zoho-zeptomail.md)\n- [Resend API + MCP vs SendLayer](https://www.anchorterminal.com/compare/resend-vs-sendlayer.md)\n- [Resend API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/resend-vs-zoho-zeptomail.md)\n- [Twilio SendGrid vs SendLayer](https://www.anchorterminal.com/compare/sendgrid-vs-sendlayer.md)\n- [Twilio SendGrid vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/sendgrid-vs-zoho-zeptomail.md)\n- [SendLayer vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/sendlayer-vs-smtp2go.md)\n- [SMTP2GO API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/smtp2go-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": "SendLayer vs Zoho CPaaS (formerly ZeptoMail)",
        "url": ""
      }
    ],
    "description": "Zoho CPaaS scores 58.2 (C) to SendLayer's 47.7 (D) for sending email. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "SendLayer D 47.7",
      "Zoho CPaaS (formerly ZeptoMail) C 58.2",
      "scores"
    ],
    "h1": "SendLayer vs Zoho CPaaS (formerly ZeptoMail)",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/sendlayer-vs-zoho-zeptomail",
    "published": "2026-10-01",
    "section": "tools",
    "title": "SendLayer vs Zoho CPaaS for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail"
  },
  "tokens": {
    "markdown": 5150,
    "slim": 2880
  },
  "version": 1
}
