{
  "data": {
    "a": {
      "slug": "gmail-api",
      "name": "Gmail API",
      "vendor": "Google",
      "vendorUrl": "https://developers.google.com/workspace/gmail",
      "kind": "http-api",
      "category": "mailbox-access",
      "summary": "Google's REST API for Gmail mailboxes. It searches and reads messages and threads, writes drafts, sends mail, manages labels and settings, and reports mailbox changes through history records and Cloud Pub/Sub push notifications. Access is by OAuth 2.0.",
      "url": "https://www.anchorterminal.com/tools/gmail-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/gmail-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gmail-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gmail-api.json",
      "repo": "https://github.com/googleapis/google-api-nodejs-client",
      "license": "Apache-2.0 (client libraries)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://gmail.googleapis.com/gmail/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@googleapis/gmail"
        },
        {
          "registry": "pypi",
          "name": "google-api-python-client"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 access token as a Bearer header, from a Google Cloud project with the Gmail API enabled and an OAuth consent screen. Self-serve for personal use, testing and apps internal to one Workspace organisation. A public app that requests any of the eight restricted scopes, which include `gmail.readonly` and `gmail.metadata`, needs Google's restricted-scope verification, and a CASA security assessment every 12 months if it reaches the data from or through a server. Workspace domains can use a service account with domain-wide delegation. The MCP server needs your own OAuth client ID and secret, the `gmail.readonly` and `gmail.compose` scopes, and Developer Preview Programme membership.",
      "pricing": "free",
      "pricingNotes": "All standard use is at no extra cost, and a free Google account and Cloud project are enough to start, with no card or contract. Limits are 1,200,000 quota units a minute per project, 6,000 a minute per user and a daily threshold of 80,000,000 units per project. Google says use above the daily threshold is planned to be charged to the Cloud billing account later in 2026, with details and at least 90 days' notice still to come (https://developers.google.com/workspace/gmail/api/reference/quota). A security assessment for restricted scopes is paid to a third-party assessor, at a cost Google's pages don't state.",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Gmail API guides, the quota page or the discovery document (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 23,
      "popularity": {
        "githubStars": 12262,
        "npmWeekly": 1091106,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.google.com/workspace/gmail/api/guides",
      "capabilities": [
        "mailbox.read",
        "mailbox.search",
        "mailbox.send",
        "mailbox.drafts",
        "mailbox.sync"
      ],
      "tags": [
        "hosted",
        "official",
        "free-tier",
        "mcp",
        "webhooks",
        "oauth",
        "typescript",
        "python",
        "enterprise"
      ],
      "lastRelease": "2026-09-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 77.8,
        "grade": "BB",
        "agentReady": true,
        "rank": 18,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 85,
          "payments": 35,
          "reliability": 90,
          "schema": 82,
          "security": 81,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Fourteen OAuth scopes separate labels, sending, metadata and read-only access, and the quota page gives every method a unit cost. Eight of the scopes are restricted, read-only and metadata among them, so a public app that reads mail needs Google's verification and an annual third-party security assessment. Gmail mailboxes only.",
        "bestFor": "An agent working in a Gmail or Google Workspace user's own mailbox, with search, threads, drafts, labels and incremental sync at no per-account fee.",
        "strengths": [
          "14 OAuth scopes, with `gmail.labels` non-sensitive, `gmail.send` sensitive and permanent delete reserved for the full `https://mail.google.com/` scope",
          "Quota published per method, 5 units for `messages.list`, 20 for `messages.get` and 100 for `messages.send`, against 6,000 units a minute per user",
          "`history.list` and Pub/Sub push notifications give incremental sync from a stored `historyId`",
          "`format=metadata`, `metadataHeaders`, `maxResults` and `fields` keep responses small",
          "No charge for standard use, up to 80,000,000 quota units a day per project"
        ],
        "weaknesses": [
          "Eight restricted scopes, including `gmail.readonly` and `gmail.metadata`, need restricted-scope verification for a public app",
          "An app that stores or transmits restricted data on servers needs a security assessment by a Google-approved assessor every 12 months",
          "No idempotency key on `messages.send`, and the error guide says a 200 response doesn't confirm the mail was sent",
          "MCP server limited to the Developer Preview Programme, with no send tool",
          "Price for use above the daily quota not yet published"
        ],
        "agentNotes": [
          "Ask for the narrowest scope. `gmail.labels` is non-sensitive and `gmail.send` is sensitive, while every scope that reads mail is restricted",
          "List with `messages.list` and `q` in Gmail search syntax, then fetch each ID with `format=metadata` or `full`. List calls return IDs only",
          "Send by posting an RFC 2822 message, base64url encoded, in `raw`. Set `threadId` and matching reply headers to stay in a thread",
          "Store the `historyId` and call `history.list`. On a 404, run a full sync. Call `watch` again at least every 7 days",
          "Back off exponentially on 403 and 429 rate errors, and keep batches to 50 requests or fewer"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 77.8
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 85,
          "payments": 35,
          "reliability": 90,
          "schema": 82,
          "security": 81,
          "transparency": 69
        },
        "provenanceScore": 94
      },
      "connect": {
        "http": "curl \"https://gmail.googleapis.com/gmail/v1/users/me/messages?q=is:unread\u0026maxResults=5\" \\\n  -H \"Authorization: Bearer $GOOGLE_ACCESS_TOKEN\"",
        "config": {
          "mcpServers": {
            "gmail": {
              "oauth": {
                "clientId": "OAUTH_CLIENT_ID",
                "clientSecret": "OAUTH_CLIENT_SECRET"
              },
              "serverUrl": "https://gmailmcp.googleapis.com/mcp/v1"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/mailbox.read",
        "tool": "https://letme.dev/gmail-api"
      },
      "sameCompany": [
        "gemini-api",
        "gemini-embedding",
        "vertex-ai-tuning",
        "google-model-armor",
        "google-imagen",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "gemini-live",
        "google-adk",
        "google-secret-manager",
        "google-weather-api",
        "chrome-devtools-mcp",
        "google-maps-platform",
        "google-cloud-translation",
        "google-calendar-api",
        "firebase-cloud-messaging",
        "google-drive-api",
        "gemini-cli",
        "google-search-console",
        "google-ads-api",
        "google-forms",
        "google-sheets-api"
      ],
      "area": "communication",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "domainNote": "The endpoint is on gmail.googleapis.com, Google's API domain. google.com was registered in 1997.",
        "endpointOnVendorDomain": true,
        "terms": "https://developers.google.com/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "https://www.google.com/appsstatus/dashboard/",
        "changelog": "https://developers.google.com/workspace/gmail/release-notes",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Google APIs Terms of Service (last modified 9 November 2021) name Google LLC, 1600 Amphitheatre Parkway, Mountain View.",
          "RDAP for google.com gives a registration date of 1997-09-15.",
          "www.google.com/.well-known/security.txt expires on 1 April 2030 and lists a contact, an encryption key and the vulnerability reward policy.",
          "The quota and scopes pages were last updated on 10 September 2026, the MCP setup guide on 18 September and the MCP reference on 21 July.",
          "Google publishes a discovery document for the API, not an OpenAPI spec.",
          "The Workspace status dashboard tracks the Gmail product, not the API on its own."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gmail-api.json",
      "live": {
        "slug": "gmail-api",
        "probe": {
          "target": "https://gmail.googleapis.com/gmail/v1",
          "method": "get",
          "lastAt": "2026-10-09T11:29:01.607619083Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 43,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 36,
          "p95ms24h": 73,
          "samples24h": 215,
          "samples30d": 215,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 122,
              "ok": 122
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.google.com/appsstatus/dashboard",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:58.65289671Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "googleapis/google-api-nodejs-client",
            "version": "agentidentity-v3.2.0",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T16:13:22.81620133Z"
          },
          {
            "registry": "npm",
            "name": "@googleapis/gmail",
            "version": "22.0.1",
            "seenAt": "2026-10-08T16:13:19.417774829Z"
          },
          {
            "registry": "pypi",
            "name": "google-api-python-client",
            "version": "2.201.0",
            "released": "2026-09-30",
            "seenAt": "2026-10-08T16:13:22.705637846Z"
          }
        ],
        "githubStars": 12263,
        "npmWeekly": 1091106,
        "securityTxt": {
          "url": "https://google.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-04-01T00:00:00z",
          "checkedAt": "2026-10-08T15:38:39.75078566Z"
        },
        "pages": [
          {
            "url": "https://developers.google.com/workspace/gmail/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:53.385163156Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4656378123eb"
          },
          {
            "url": "https://developers.google.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:49.55137795Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2eb11136bf24"
          }
        ],
        "updatedAt": "2026-10-09T11:29:01.607619083Z"
      }
    },
    "answer": "Gmail API scores 77.8 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in every scored category.",
    "b": {
      "slug": "zoho-mail",
      "name": "Zoho Mail API",
      "vendor": "Zoho",
      "vendorUrl": "https://www.zoho.com/mail/",
      "kind": "http-api",
      "category": "mailbox-access",
      "summary": "Zoho Mail is Zoho's hosted business email service. Its REST API lets an application read, search, send and organise mail in a Zoho Mail account and administer an organisation's users, domains, groups and policies, with OAuth 2.0 access.",
      "url": "https://www.anchorterminal.com/tools/zoho-mail",
      "markdownUrl": "https://www.anchorterminal.com/tools/zoho-mail.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zoho-mail.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zoho-mail.json",
      "license": "Proprietary service under the Zoho Terms of Service and the Zoho Mail usage policy. No source repository was found",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 only. A person registers a client in the Zoho API console (server-based, client-based, mobile, non-browser with device authorisation, or a self client for one's own account) and approves scopes of the form `ZohoMail.\u003cresource\u003e.\u003coperation\u003e`. Registration is self-serve, with no app review or sales approval found. The access token lasts one hour and goes in `Authorization: Zoho-oauthtoken \u003ctoken\u003e`. The refresh token lasts until revoked. Organisation calls need an administrator's account. Each data centre has its own accounts host and API host.",
      "pricing": "freemium",
      "pricingNotes": "API access comes with a mailbox plan and has no per-call charge. Mail Free covers up to five users on one domain with no card and is available in some regions only. Paid plans cost $1 to $6 a user a month billed yearly, with a 15-day trial of the highest edition and no card. The API guide says plan and mail policy decide which APIs an account can call (https://www.zoho.com/mail/zohomail-pricing.html, checked 2026-10-09).",
      "priceSummary": "$1 / seat-mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API guide, the OAuth guide or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://www.zoho.com/mail/help/api/",
      "llmsTxt": "https://www.zoho.com/mail/help/llms.txt",
      "capabilities": [
        "mailbox.read",
        "mailbox.search",
        "mailbox.send",
        "mailbox.drafts",
        "mailbox.sync"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "oauth",
        "mcp",
        "webhooks",
        "free-tier",
        "no-card",
        "llms-txt",
        "email",
        "status-page",
        "bug-bounty",
        "soc2",
        "eu-data-residency"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.8,
        "grade": "D",
        "agentReady": false,
        "rank": 626,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 33,
          "payments": 30,
          "reliability": 63,
          "schema": 45,
          "security": 67,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "A REST API over a Zoho Mail mailbox with OAuth scopes that narrow to one resource and one operation, plus an MCP server launched in 2026. Zoho publishes no OpenAPI file, SDK, request rate limit or API changelog, and its usage policy bars automated email.",
        "bestFor": "An agent working inside its owner's Zoho Mail mailbox or administering a Zoho Mail organisation, where narrow scopes and the MCP server keep access small.",
        "strengths": [
          "OAuth scopes name one resource and one operation, such as `ZohoMail.messages.READ`, so an agent can hold read access without send or delete.",
          "Every reference page has a Markdown twin, indexed in `https://www.zoho.com/mail/help/llms.txt`, with a curl sample and a sample response.",
          "Zoho Mail MCP exposes the API methods as tools on a remote server, and the owner picks which tools a server carries.",
          "The Mail Free plan covers five users on one domain with no card, and the MCP FAQ says free and paid plans both work.",
          "Delete moves a message to Trash unless `expunge=true` is sent, and audit records, login history and SMTP logs are readable through the Logs API."
        ],
        "weaknesses": [
          "The Zoho Mail usage policy, updated 2 September 2026, lists automated, bulk and transactional emails among uses that are not allowed.",
          "No OpenAPI file, official REST SDK or dated API changelog was found. The path carries no version.",
          "The getting started guide says each API has its own rate limit and gives no numbers. The response code list has no 429.",
          "External sending is capped at 50 to 500 emails an hour by sender reputation, with a block of up to one hour once the cap is reached.",
          "The OAuth guide's token, refresh and revoke examples carry the client secret and refresh token in the URL query string."
        ],
        "agentNotes": [
          "Send `Authorization: Zoho-oauthtoken \u003ctoken\u003e`, not `Bearer`. The token response says `Bearer`, but the OAuth guide says the Mail API requires the Zoho prefix.",
          "Use the host for the account's data centre, such as `mail.zoho.eu` or `mail.zoho.in`. Call `GET /api/accounts` first for the `accountId` every mailbox call needs.",
          "Reading a message body needs both `folderId` and `messageId`. List and search calls return a summary only, 10 messages by default and 200 at most.",
          "Request `ZohoMail.messages.READ` alone for a reading agent. Add `CREATE` only when it must send, and leave `DELETE` out unless required.",
          "Refresh the access token every hour, and post OAuth parameters in the request body where the server accepts it, to keep secrets out of URLs."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.8
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 33,
          "payments": 30,
          "reliability": 63,
          "schema": 45,
          "security": 67,
          "transparency": 51
        },
        "provenanceScore": 95
      },
      "connect": {
        "http": "curl \"https://mail.zoho.com/api/accounts\" \\\n  -X GET \\\n  -H \"Accept: application/json\" \\\n  -H \"Authorization: Zoho-oauthtoken $ZOHO_ACCESS_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/mailbox.read",
        "tool": "https://letme.dev/zoho-mail"
      },
      "sameCompany": [
        "zoho-books",
        "zoho-zeptomail",
        "zoho-crm",
        "zoho-desk",
        "zoho-recruit",
        "zoho-people"
      ],
      "area": "communication",
      "unitPrices": [
        {
          "item": "Mail Lite, 5 GB",
          "unit": "seat-month",
          "usd": 1,
          "note": "billed yearly, no monthly plan. $1.25 for 10 GB"
        },
        {
          "item": "Workplace Standard",
          "unit": "seat-month",
          "usd": 3,
          "note": "billed yearly. $4 billed monthly. 30 GB mailbox plus the office suite"
        },
        {
          "item": "Mail Premium",
          "unit": "seat-month",
          "usd": 4,
          "note": "billed yearly, no monthly plan. 50 GB mailbox with retention and eDiscovery"
        },
        {
          "item": "Workplace Professional",
          "unit": "seat-month",
          "usd": 6,
          "note": "billed yearly. 100 GB mailbox"
        }
      ],
      "provenance": {
        "legalEntity": "Zoho Corporation Private Limited",
        "domain": "zoho.com",
        "domainRegistered": "2004-01-16",
        "endpointOnVendorDomain": true,
        "terms": "https://www.zoho.com/terms.html",
        "privacy": "https://www.zoho.com/privacy.html",
        "statusPage": "https://status.zoho.com",
        "changelog": "https://www.zoho.com/mail/whats-new.html",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Service (last updated 2 March 2022) are the service agreement for Zoho's online services. The contracting entity depends on the customer's region, Zoho Corporation Private Limited for India and Zoho Corporation for the United States (https://www.zoho.com/legal/zoho-contracting-entities.html).",
          "The Zoho Mail usage policy at https://www.zoho.com/mail/help/usage-policy.html, last updated 2 September 2026, adds rules for the mail service and bars automated and bulk email.",
          "The privacy policy was last updated on 22 December 2025. Part II covers data Zoho processes on a customer's behalf.",
          "security.txt at www.zoho.com gives a bug bounty contact, security@zohocorp.com, a policy link and an expiry of 30 June 2028.",
          "What's New is a product changelog dated by month, with the latest entries under August 2026. No API changelog was found.",
          "The US API answers on mail.zoho.com. Other data centres use mail.zoho.eu, mail.zoho.in, mail.zoho.com.au, mail.zoho.jp, mail.zohocloud.ca, mail.zoho.com.cn, mail.zoho.ae and mail.zoho.sa. OAuth runs on accounts.zoho.com.",
          "RDAP for zoho.com gives a registration date of 2004-01-16 and expiry on 2031-01-16."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zoho-mail.json"
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Google",
        "b": "Zoho",
        "name": "Vendor"
      },
      {
        "a": "https://gmail.googleapis.com/gmail/v1",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 (client libraries)",
        "b": "Proprietary service under the Zoho Terms of Service and the Zoho Mail usage policy. No source repository was found",
        "name": "Licence"
      },
      {
        "a": "23",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-23",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "2021-11-09",
        "b": "2022-03-02",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-01",
        "b": "2025-12-22",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "yes",
        "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": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "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": "12k stars, 1.1M npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Gmail API scores 77.8 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Gmail API or Zoho Mail API?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do Gmail API and Zoho Mail API need an API key?"
      },
      {
        "answer": "Gmail API has a hosted endpoint at https://gmail.googleapis.com/gmail/v1. No hosted endpoint is listed for Zoho Mail API.",
        "question": "Can an agent call Gmail API and Zoho Mail API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 90 against 63",
          "Schema \u0026 documentation, 82 against 45",
          "Agent ergonomics, 82 against 56",
          "Security \u0026 auth, 81 against 67",
          "Payments \u0026 pricing, 35 against 30",
          "Maintenance \u0026 community, 85 against 33",
          "Transparency \u0026 trust, 82 against 73"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "An agent working in a Gmail or Google Workspace user's own mailbox, with search, threads, drafts, labels and incremental sync at no per-account fee.",
        "slug": "gmail-api",
        "watchFor": "Eight restricted scopes, including `gmail.readonly` and `gmail.metadata`, need restricted-scope verification for a public app"
      },
      {
        "aheadOn": null,
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "An agent working inside its owner's Zoho Mail mailbox or administering a Zoho Mail organisation, where narrow scopes and the MCP server keep access small.",
        "slug": "zoho-mail",
        "watchFor": "The Zoho Mail usage policy, updated 2 September 2026, lists automated, bulk and transactional emails among uses that are not allowed."
      }
    ],
    "job": {
      "capability": "mailbox.read",
      "name": "Mailbox read"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/emailengine-vs-gmail-api.json",
        "title": "EmailEngine vs Gmail API",
        "url": "https://www.anchorterminal.com/compare/emailengine-vs-gmail-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail.json",
        "title": "EmailEngine vs Zoho Mail API",
        "url": "https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fastmail-vs-gmail-api.json",
        "title": "Fastmail API (JMAP) vs Gmail API",
        "url": "https://www.anchorterminal.com/compare/fastmail-vs-gmail-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fastmail-vs-zoho-mail.json",
        "title": "Fastmail API (JMAP) vs Zoho Mail API",
        "url": "https://www.anchorterminal.com/compare/fastmail-vs-zoho-mail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gmail-api-vs-nylas-email.json",
        "title": "Gmail API vs Nylas Email API",
        "url": "https://www.anchorterminal.com/compare/gmail-api-vs-nylas-email"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph.json",
        "title": "Gmail API vs Outlook Mail (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gmail-api-vs-unipile.json",
        "title": "Gmail API vs Unipile",
        "url": "https://www.anchorterminal.com/compare/gmail-api-vs-unipile"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-email-vs-zoho-mail.json",
        "title": "Nylas Email API vs Zoho Mail API",
        "url": "https://www.anchorterminal.com/compare/nylas-email-vs-zoho-mail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/outlook-mail-graph-vs-zoho-mail.json",
        "title": "Outlook Mail (Microsoft Graph) vs Zoho Mail API",
        "url": "https://www.anchorterminal.com/compare/outlook-mail-graph-vs-zoho-mail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/unipile-vs-zoho-mail.json",
        "title": "Unipile vs Zoho Mail API",
        "url": "https://www.anchorterminal.com/compare/unipile-vs-zoho-mail"
      }
    ],
    "scores": [
      {
        "by": 27,
        "edge": "gmail-api",
        "gmail-api": 90,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "zoho-mail": 63
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 37,
        "edge": "gmail-api",
        "gmail-api": 82,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "zoho-mail": 45
      },
      {
        "by": 26,
        "edge": "gmail-api",
        "gmail-api": 82,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "zoho-mail": 56
      },
      {
        "by": 14,
        "edge": "gmail-api",
        "gmail-api": 81,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "zoho-mail": 67
      },
      {
        "by": 5,
        "edge": "gmail-api",
        "gmail-api": 35,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "zoho-mail": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 52,
        "edge": "gmail-api",
        "gmail-api": 85,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "zoho-mail": 33
      },
      {
        "by": 9,
        "edge": "gmail-api",
        "gmail-api": 82,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "zoho-mail": 73
      }
    ],
    "summary": "Gmail API scores 77.8 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in every scored category. Both do mailbox read.",
    "verdicts": {
      "gmail-api": "Fourteen OAuth scopes separate labels, sending, metadata and read-only access, and the quota page gives every method a unit cost. Eight of the scopes are restricted, read-only and metadata among them, so a public app that reads mail needs Google's verification and an annual third-party security assessment. Gmail mailboxes only.",
      "zoho-mail": "A REST API over a Zoho Mail mailbox with OAuth scopes that narrow to one resource and one operation, plus an MCP server launched in 2026. Zoho publishes no OpenAPI file, SDK, request rate limit or API changelog, and its usage policy bars automated email."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail",
    "json": "https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail.md",
    "slim": "https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail.min.md"
  },
  "markdown": "Gmail API scores 77.8 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in every scored category. Both do mailbox read.\n\n- Gmail API: grade BB, 77.8/100, rank #18 of 842. Markdown https://www.anchorterminal.com/tools/gmail-api.md · JSON https://www.anchorterminal.com/api/v1/tools/gmail-api.json\n- Zoho Mail API: grade D, 53.8/100, rank #626 of 842. Markdown https://www.anchorterminal.com/tools/zoho-mail.md · JSON https://www.anchorterminal.com/api/v1/tools/zoho-mail.json\n\n## Which one, for what\n\n### Gmail API (BB)\n\nGood for: An agent working in a Gmail or Google Workspace user's own mailbox, with search, threads, drafts, labels and incremental sync at no per-account fee.\n\nAhead on:\n- Reliability, 90 against 63\n- Schema \u0026 documentation, 82 against 45\n- Agent ergonomics, 82 against 56\n- Security \u0026 auth, 81 against 67\n- Payments \u0026 pricing, 35 against 30\n- Maintenance \u0026 community, 85 against 33\n- Transparency \u0026 trust, 82 against 73\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n\nWatch for: Eight restricted scopes, including `gmail.readonly` and `gmail.metadata`, need restricted-scope verification for a public app\n\n### Zoho Mail API (D)\n\nGood for: An agent working inside its owner's Zoho Mail mailbox or administering a Zoho Mail organisation, where narrow scopes and the MCP server keep access small.\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: The Zoho Mail usage policy, updated 2 September 2026, lists automated, bulk and transactional emails among uses that are not allowed.\n\n\n## Score by category\n\n| Category | Weight | Gmail API | Zoho Mail API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 63 | Gmail API +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 45 | Gmail API +37 |\n| Agent ergonomics | 13% (16.2 this run) | 82 | 56 | Gmail API +26 |\n| Security \u0026 auth | 14% (17.5 this run) | 81 | 67 | Gmail API +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 30 | Gmail API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 33 | Gmail API +52 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 82 | 73 | Gmail API +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **77.8 · BB** | **53.8 · D** | |\n\n## Facts side by side\n\n| Fact | Gmail API | Zoho Mail API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Google | Zoho |\n| Hosted endpoint | `https://gmail.googleapis.com/gmail/v1` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth | OAuth |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 (client libraries) | Proprietary service under the Zoho Terms of Service and the Zoho Mail usage policy. No source repository was found |\n| Tools exposed | 23 | none |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-23 | none |\n| Terms last updated | 2021-11-09 | 2022-03-02 |\n| Privacy policy last updated | 2026-10-01 | 2025-12-22 |\n| Customer content may train models | yes | yes |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 12k stars, 1.1M npm/wk | none |\n\n## Verdicts\n\n**Gmail API.** Fourteen OAuth scopes separate labels, sending, metadata and read-only access, and the quota page gives every method a unit cost. Eight of the scopes are restricted, read-only and metadata among them, so a public app that reads mail needs Google's verification and an annual third-party security assessment. Gmail mailboxes only.\n\n**Zoho Mail API.** A REST API over a Zoho Mail mailbox with OAuth scopes that narrow to one resource and one operation, plus an MCP server launched in 2026. Zoho publishes no OpenAPI file, SDK, request rate limit or API changelog, and its usage policy bars automated email.\n\n## Before you call either\n\n### Gmail API\n\n1. Ask for the narrowest scope. `gmail.labels` is non-sensitive and `gmail.send` is sensitive, while every scope that reads mail is restricted\n2. List with `messages.list` and `q` in Gmail search syntax, then fetch each ID with `format=metadata` or `full`. List calls return IDs only\n3. Send by posting an RFC 2822 message, base64url encoded, in `raw`. Set `threadId` and matching reply headers to stay in a thread\n4. Store the `historyId` and call `history.list`. On a 404, run a full sync. Call `watch` again at least every 7 days\n5. Back off exponentially on 403 and 429 rate errors, and keep batches to 50 requests or fewer\n\n### Zoho Mail API\n\n1. Send `Authorization: Zoho-oauthtoken \u003ctoken\u003e`, not `Bearer`. The token response says `Bearer`, but the OAuth guide says the Mail API requires the Zoho prefix.\n2. Use the host for the account's data centre, such as `mail.zoho.eu` or `mail.zoho.in`. Call `GET /api/accounts` first for the `accountId` every mailbox call needs.\n3. Reading a message body needs both `folderId` and `messageId`. List and search calls return a summary only, 10 messages by default and 200 at most.\n4. Request `ZohoMail.messages.READ` alone for a reading agent. Add `CREATE` only when it must send, and leave `DELETE` out unless required.\n5. Refresh the access token every hour, and post OAuth parameters in the request body where the server accepts it, to keep secrets out of URLs.\n\n## Questions\n\n### Which is better for AI agents, Gmail API or Zoho Mail API?\n\nGmail API scores 77.8 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in every scored category.\n\n### Do Gmail API and Zoho Mail API need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call Gmail API and Zoho Mail API without installing anything?\n\nGmail API has a hosted endpoint at https://gmail.googleapis.com/gmail/v1. No hosted endpoint is listed for Zoho Mail API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail.json, and with the fewest tokens: https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"gmail-api\", \"b\": \"zoho-mail\"}`. From a terminal: `anchor compare gmail-api zoho-mail`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/gmail-api.json and https://www.anchorterminal.com/api/v1/tools/zoho-mail.json\n\n## Other comparisons with Gmail API or Zoho Mail API\n\n- [EmailEngine vs Gmail API](https://www.anchorterminal.com/compare/emailengine-vs-gmail-api.md)\n- [EmailEngine vs Zoho Mail API](https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail.md)\n- [Fastmail API (JMAP) vs Gmail API](https://www.anchorterminal.com/compare/fastmail-vs-gmail-api.md)\n- [Fastmail API (JMAP) vs Zoho Mail API](https://www.anchorterminal.com/compare/fastmail-vs-zoho-mail.md)\n- [Gmail API vs Nylas Email API](https://www.anchorterminal.com/compare/gmail-api-vs-nylas-email.md)\n- [Gmail API vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph.md)\n- [Gmail API vs Unipile](https://www.anchorterminal.com/compare/gmail-api-vs-unipile.md)\n- [Nylas Email API vs Zoho Mail API](https://www.anchorterminal.com/compare/nylas-email-vs-zoho-mail.md)\n- [Outlook Mail (Microsoft Graph) vs Zoho Mail API](https://www.anchorterminal.com/compare/outlook-mail-graph-vs-zoho-mail.md)\n- [Unipile vs Zoho Mail API](https://www.anchorterminal.com/compare/unipile-vs-zoho-mail.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "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": "Gmail API vs Zoho Mail API",
        "url": ""
      }
    ],
    "description": "Gmail API scores 77.8 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in every scored category. Both do mailbox read. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Gmail API BB 77.8",
      "Zoho Mail API D 53.8",
      "scores"
    ],
    "h1": "Gmail API vs Zoho Mail API",
    "image": "https://www.anchorterminal.com/assets/og/compare-gmail-api-vs-zoho-mail.png",
    "path": "/compare/gmail-api-vs-zoho-mail",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Gmail API vs Zoho Mail API for AI agents, BB 77.8 vs D 53.8",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail"
  },
  "tokens": {
    "markdown": 2100,
    "slim": 680
  },
  "version": 1
}
