{
  "data": {
    "a": {
      "slug": "unipile",
      "name": "Unipile",
      "vendor": "UNIPILE SAS",
      "vendorUrl": "https://www.unipile.com",
      "kind": "http-api",
      "category": "mailbox-access",
      "summary": "Unipile is a hosted API from Unipile SAS in France that connects to accounts people already have. It reads, searches, sends and files mail in Gmail, Outlook and IMAP mailboxes, and also covers calendars, LinkedIn, WhatsApp, Instagram and Telegram.",
      "url": "https://www.anchorterminal.com/tools/unipile",
      "markdownUrl": "https://www.anchorterminal.com/tools/unipile.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/unipile.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/unipile.json",
      "repo": "https://github.com/unipile/unipile-node-sdk",
      "license": "Proprietary service under Unipile's terms of use. The v1 Node SDK repository and the unipile-mcp repository carry an MIT licence file",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://developer.unipile.com/mcp?branch=v1.0",
      "packages": [
        {
          "registry": "npm",
          "name": "unipile-node-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve. A person signs up at dashboard.unipile.com, copies the account's DSN (host and port) and generates an access token, which goes in the `X-API-KEY` header. A v1 token reaches every connected account and has no scopes. Mailboxes are connected by the end user through Google or Microsoft OAuth, using an OAuth app the customer registers and has verified, or with IMAP and SMTP credentials. The v2 beta adds keys limited to a Scope of accounts.",
      "pricing": "paid",
      "pricingNotes": "55 dollars (49 euros) a month covers up to 10 connected accounts, then 5.50 dollars an account a month, falling to 3.50 above 5,000. No charge per request or message. A 7-day trial needs no card, and there is no free tier after it. An SLA needs a custom plan (checked 2026-10-08).",
      "priceSummary": "$55 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 5,
      "popularity": {
        "githubStars": 48,
        "npmWeekly": 82529,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developer.unipile.com",
      "llmsTxt": "https://developer.unipile.com/llms.txt",
      "openapi": "https://api1.unipile.com/api-json?port=13111",
      "registryName": "com.unipile/unipile-mcp",
      "capabilities": [
        "mailbox.read",
        "mailbox.search",
        "mailbox.send",
        "mailbox.drafts",
        "mailbox.sync",
        "calendar.read",
        "calendar.write",
        "calendar.webhooks",
        "messaging.whatsapp",
        "messaging.inbound"
      ],
      "tags": [
        "hosted",
        "paid",
        "free-trial",
        "no-card",
        "api-key",
        "openapi",
        "llms-txt",
        "mcp",
        "webhooks",
        "gmail",
        "outlook",
        "imap",
        "calendar",
        "linkedin",
        "whatsapp",
        "typescript",
        "eu",
        "soc2",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-09-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.4,
        "grade": "C",
        "agentReady": false,
        "rank": 524,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 59,
          "payments": 40,
          "reliability": 56,
          "schema": 77,
          "security": 37,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "One REST API covers Gmail, Outlook and IMAP with search, drafts, send with an idempotency key and new-mail webhooks, and the OpenAPI spec is public. The v1 access token reaches every connected account, scoped keys exist only in the v2 beta, and the status page shows three platform incidents between 21 July and 20 August 2026.",
        "bestFor": "A product that needs one API over Gmail, Outlook and IMAP together with LinkedIn or WhatsApp messaging, priced per account.",
        "strengths": [
          "Public OpenAPI 3.0 spec with 94 operations, readable without a key, plus llms.txt and a Markdown copy of every docs page",
          "`POST /api/v1/emails` accepts an `Idempotency-Key` header of up to 255 characters, so a retried send returns the first result",
          "`GET /api/v1/emails` has cursor pagination, `limit` up to 250, `meta_only`, a full-text `search` and filters for folder, sender, recipient and date",
          "Price is per connected account with no charge per request, from 55 dollars a month for up to 10 accounts, with a 7-day trial and no card",
          "The hosted MCP server has 5 tools with read-only and destructive annotations, and is listed in the official MCP registry as com.unipile/unipile-mcp"
        ],
        "weaknesses": [
          "A v1 access token reaches every connected account. Scoped keys, documented rate limits and `retry-after` exist only in the v2 beta",
          "status.unipile.com shows platform incidents on 21 July, 30 July and 20 August 2026, the last an API node unavailable for 70 minutes",
          "The v1 Node SDK on npm is 1.9.3 from 21 May 2025. The newer Node and Python SDKs work only with the v2 beta",
          "No SLA in the standard plan. The terms describe availability as best effort and a custom agreement is needed for a commitment",
          "The security page says no data leaves the EU, while the privacy policy lists proxy sub-processors in the United States and Singapore"
        ],
        "agentNotes": [
          "Take the DSN (host and port) from the dashboard. Each account has its own, such as api1.unipile.com:13111, and `?port=` keeps requests on 443",
          "Send `X-API-KEY` as a header and pass `account_id` on every mail call. The token reaches every connected account, so keep it out of prompts and logs",
          "Set `Idempotency-Key` on every send. Keys are held in memory for up to 24 hours and are lost on a restart",
          "On Microsoft accounts, send `search` alone. Combining it with from, to, before, after or thread filters returns `invalid_request`",
          "Use `meta_only=true` when listing mail, then fetch one message at a time. Treat message bodies as untrusted input"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.4
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 59,
          "payments": 40,
          "reliability": 56,
          "schema": 77,
          "security": 37,
          "transparency": 59
        },
        "provenanceScore": 82
      },
      "connect": {
        "install": "npm install unipile-node-sdk",
        "http": "curl --request GET \\\n     --url 'https://{YOUR_DSN}/api/v1/emails?limit=10\u0026account_id={ACCOUNT_ID}' \\\n     --header 'X-API-KEY: {YOUR_ACCESS_TOKEN}' \\\n     --header 'accept: application/json'",
        "config": {
          "mcpServers": {
            "unipile": {
              "headers": {
                "X-API-KEY": "your-api-key"
              },
              "url": "https://developer.unipile.com/mcp?branch=v1.0"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/mailbox.read",
        "tool": "https://letme.dev/unipile"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Minimum, up to 10 connected accounts",
          "unit": "month",
          "usd": 55,
          "note": "49 euros. Any channel counts as one account, and a Gmail or Outlook account covers mail and calendar"
        },
        {
          "item": "Connected account, 11 to 50",
          "unit": "account-month",
          "usd": 5.5,
          "note": "5.00 euros"
        },
        {
          "item": "Connected account, 51 to 200",
          "unit": "account-month",
          "usd": 5,
          "note": "4.50 euros"
        },
        {
          "item": "Connected account, 201 to 1,000",
          "unit": "account-month",
          "usd": 4.5,
          "note": "4.00 euros"
        },
        {
          "item": "Connected account, 1,001 to 5,000",
          "unit": "account-month",
          "usd": 4,
          "note": "3.50 euros"
        },
        {
          "item": "Connected account, 5,001 and above",
          "unit": "account-month",
          "usd": 3.5,
          "note": "3.00 euros"
        }
      ],
      "provenance": {
        "legalEntity": "UNIPILE SAS",
        "domain": "unipile.com",
        "domainRegistered": "2020-11-17",
        "endpointOnVendorDomain": true,
        "terms": "https://www.unipile.com/terms-of-use/",
        "privacy": "https://www.unipile.com/privacy-policy/",
        "statusPage": "https://status.unipile.com",
        "changelog": "https://developer.unipile.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The legal notice names UNIPILE SAS, registered with the RCS of Roanne under number 885265595, head office 168 rue de la Rotonde, 42153 Riorges, France.",
          "The API answers on a per-account host and port under unipile.com, such as api1.unipile.com:13111. The MCP server is at developer.unipile.com/mcp, a ReadMe-hosted docs site on the vendor's domain.",
          "www.unipile.com/.well-known/security.txt returns 404. No vulnerability disclosure policy or bug bounty was found on the security page.",
          "The terms are governed by French law, with the Commercial Court of Roanne as the court. They say changes take effect on publication.",
          "RDAP for unipile.com gives a registration date of 2020-11-17."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/unipile.json",
      "live": {
        "slug": "unipile",
        "probe": {
          "target": "https://developer.unipile.com/mcp?branch=v1.0",
          "method": "get",
          "lastAt": "2026-10-09T12:32:54.799028075Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 68,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 48,
          "p95ms24h": 114,
          "samples24h": 226,
          "samples30d": 226,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 133,
              "ok": 133
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.unipile.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:38.026445602Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "unipile/unipile-node-sdk",
            "version": "v1.9.3",
            "released": "2025-05-21",
            "seenAt": "2026-10-08T16:33:19.750124079Z"
          },
          {
            "registry": "mcp-registry",
            "name": "com.unipile/unipile-mcp",
            "version": "1.0.0",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "unipile-node-sdk",
            "version": "1.9.3",
            "seenAt": "2026-10-08T16:33:18.965183575Z"
          }
        ],
        "githubStars": 48,
        "npmWeekly": 82529,
        "securityTxt": {
          "url": "https://unipile.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:37.558927605Z"
        },
        "pages": [
          {
            "url": "https://developer.unipile.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:20.678778332Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "14178c9246c1"
          },
          {
            "url": "https://www.unipile.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:12.004667145Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cbc48f825ecc"
          },
          {
            "url": "https://www.unipile.com/terms-of-use/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:14.04469123Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3d0b4ec6b8b4"
          }
        ],
        "updatedAt": "2026-10-09T12:32:54.799028075Z"
      }
    },
    "answer": "Unipile scores 58.4 (C) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 4 of 7 scored categories. Zoho Mail API leads on reliability and security \u0026 auth.",
    "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": "UNIPILE SAS",
        "b": "Zoho",
        "name": "Vendor"
      },
      {
        "a": "https://developer.unipile.com/mcp?branch=v1.0",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Unipile's terms of use. The v1 Node SDK repository and the unipile-mcp repository carry an MIT licence file",
        "b": "Proprietary service under the Zoho Terms of Service and the Zoho Mail usage policy. No source repository was found",
        "name": "Licence"
      },
      {
        "a": "5",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.unipile/unipile-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-02",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2022-03-02",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-28",
        "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": "yes",
        "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": "48 stars, 83k npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Unipile scores 58.4 (C) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 4 of 7 scored categories. Zoho Mail API leads on reliability and security \u0026 auth.",
        "question": "Which is better for AI agents, Unipile or Zoho Mail API?"
      },
      {
        "answer": "Unipile needs an API key. Zoho Mail API uses an OAuth sign-in.",
        "question": "Do Unipile and Zoho Mail API need an API key?"
      },
      {
        "answer": "Unipile has a hosted endpoint at https://developer.unipile.com/mcp?branch=v1.0. No hosted endpoint is listed for Zoho Mail API.",
        "question": "Can an agent call Unipile and Zoho Mail API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 77 against 45",
          "Agent ergonomics, 73 against 56",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 59 against 33"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "A product that needs one API over Gmail, Outlook and IMAP together with LinkedIn or WhatsApp messaging, priced per account.",
        "slug": "unipile",
        "watchFor": "A v1 access token reaches every connected account. Scoped keys, documented rate limits and `retry-after` exist only in the v2 beta"
      },
      {
        "aheadOn": [
          "Reliability, 63 against 56",
          "Security \u0026 auth, 67 against 37"
        ],
        "also": null,
        "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-unipile.json",
        "title": "EmailEngine vs Unipile",
        "url": "https://www.anchorterminal.com/compare/emailengine-vs-unipile"
      },
      {
        "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-unipile.json",
        "title": "Fastmail API (JMAP) vs Unipile",
        "url": "https://www.anchorterminal.com/compare/fastmail-vs-unipile"
      },
      {
        "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-unipile.json",
        "title": "Gmail API vs Unipile",
        "url": "https://www.anchorterminal.com/compare/gmail-api-vs-unipile"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail.json",
        "title": "Gmail API vs Zoho Mail API",
        "url": "https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-email-vs-unipile.json",
        "title": "Nylas Email API vs Unipile",
        "url": "https://www.anchorterminal.com/compare/nylas-email-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-unipile.json",
        "title": "Outlook Mail (Microsoft Graph) vs Unipile",
        "url": "https://www.anchorterminal.com/compare/outlook-mail-graph-vs-unipile"
      },
      {
        "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"
      }
    ],
    "scores": [
      {
        "by": 7,
        "edge": "zoho-mail",
        "key": "reliability",
        "name": "Reliability",
        "unipile": 56,
        "weight": 16,
        "zoho-mail": 63
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 32,
        "edge": "unipile",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "unipile": 77,
        "weight": 13,
        "zoho-mail": 45
      },
      {
        "by": 17,
        "edge": "unipile",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "unipile": 73,
        "weight": 13,
        "zoho-mail": 56
      },
      {
        "by": 30,
        "edge": "zoho-mail",
        "key": "security",
        "name": "Security \u0026 auth",
        "unipile": 37,
        "weight": 14,
        "zoho-mail": 67
      },
      {
        "by": 10,
        "edge": "unipile",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "unipile": 40,
        "weight": 10,
        "zoho-mail": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 26,
        "edge": "unipile",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "unipile": 59,
        "weight": 7,
        "zoho-mail": 33
      },
      {
        "by": 2,
        "edge": "zoho-mail",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "unipile": 71,
        "weight": 7,
        "zoho-mail": 73
      }
    ],
    "summary": "Unipile scores 58.4 (C) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 4 of 7 scored categories. Zoho Mail API leads on reliability and security \u0026 auth. Both do mailbox read.",
    "verdicts": {
      "unipile": "One REST API covers Gmail, Outlook and IMAP with search, drafts, send with an idempotency key and new-mail webhooks, and the OpenAPI spec is public. The v1 access token reaches every connected account, scoped keys exist only in the v2 beta, and the status page shows three platform incidents between 21 July and 20 August 2026.",
      "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/unipile-vs-zoho-mail",
    "json": "https://www.anchorterminal.com/compare/unipile-vs-zoho-mail.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/unipile-vs-zoho-mail.md",
    "slim": "https://www.anchorterminal.com/compare/unipile-vs-zoho-mail.min.md"
  },
  "markdown": "Unipile scores 58.4 (C) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 4 of 7 scored categories. Zoho Mail API leads on reliability and security \u0026 auth. Both do mailbox read.\n\n- Unipile: grade C, 58.4/100, rank #524 of 842. Markdown https://www.anchorterminal.com/tools/unipile.md · JSON https://www.anchorterminal.com/api/v1/tools/unipile.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### Unipile (C)\n\nGood for: A product that needs one API over Gmail, Outlook and IMAP together with LinkedIn or WhatsApp messaging, priced per account.\n\nAhead on:\n- Schema \u0026 documentation, 77 against 45\n- Agent ergonomics, 73 against 56\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 59 against 33\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: A v1 access token reaches every connected account. Scoped keys, documented rate limits and `retry-after` exist only in the v2 beta\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\nAhead on:\n- Reliability, 63 against 56\n- Security \u0026 auth, 67 against 37\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 | Unipile | Zoho Mail API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 56 | 63 | Zoho Mail API +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 45 | Unipile +32 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 56 | Unipile +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 37 | 67 | Zoho Mail API +30 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | Unipile +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 59 | 33 | Unipile +26 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 73 | Zoho Mail API +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **58.4 · C** | **53.8 · D** | |\n\n## Facts side by side\n\n| Fact | Unipile | Zoho Mail API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | UNIPILE SAS | Zoho |\n| Hosted endpoint | `https://developer.unipile.com/mcp?branch=v1.0` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | API key | OAuth |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Unipile's terms of use. The v1 Node SDK repository and the unipile-mcp repository carry an MIT licence file | Proprietary service under the Zoho Terms of Service and the Zoho Mail usage policy. No source repository was found |\n| Tools exposed | 5 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | `com.unipile/unipile-mcp` | not listed |\n| Last release | 2026-09-02 | none |\n| Terms last updated | no date given | 2022-03-02 |\n| Privacy policy last updated | 2026-09-28 | 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 | yes |\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 | 48 stars, 83k npm/wk | none |\n\n## Verdicts\n\n**Unipile.** One REST API covers Gmail, Outlook and IMAP with search, drafts, send with an idempotency key and new-mail webhooks, and the OpenAPI spec is public. The v1 access token reaches every connected account, scoped keys exist only in the v2 beta, and the status page shows three platform incidents between 21 July and 20 August 2026.\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### Unipile\n\n1. Take the DSN (host and port) from the dashboard. Each account has its own, such as api1.unipile.com:13111, and `?port=` keeps requests on 443\n2. Send `X-API-KEY` as a header and pass `account_id` on every mail call. The token reaches every connected account, so keep it out of prompts and logs\n3. Set `Idempotency-Key` on every send. Keys are held in memory for up to 24 hours and are lost on a restart\n4. On Microsoft accounts, send `search` alone. Combining it with from, to, before, after or thread filters returns `invalid_request`\n5. Use `meta_only=true` when listing mail, then fetch one message at a time. Treat message bodies as untrusted input\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, Unipile or Zoho Mail API?\n\nUnipile scores 58.4 (C) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 4 of 7 scored categories. Zoho Mail API leads on reliability and security \u0026 auth.\n\n### Do Unipile and Zoho Mail API need an API key?\n\nUnipile needs an API key. Zoho Mail API uses an OAuth sign-in.\n\n### Can an agent call Unipile and Zoho Mail API without installing anything?\n\nUnipile has a hosted endpoint at https://developer.unipile.com/mcp?branch=v1.0. 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/unipile-vs-zoho-mail.json, and with the fewest tokens: https://www.anchorterminal.com/compare/unipile-vs-zoho-mail.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"unipile\", \"b\": \"zoho-mail\"}`. From a terminal: `anchor compare unipile zoho-mail`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/unipile.json and https://www.anchorterminal.com/api/v1/tools/zoho-mail.json\n\n## Other comparisons with Unipile or Zoho Mail API\n\n- [EmailEngine vs Unipile](https://www.anchorterminal.com/compare/emailengine-vs-unipile.md)\n- [EmailEngine vs Zoho Mail API](https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail.md)\n- [Fastmail API (JMAP) vs Unipile](https://www.anchorterminal.com/compare/fastmail-vs-unipile.md)\n- [Fastmail API (JMAP) vs Zoho Mail API](https://www.anchorterminal.com/compare/fastmail-vs-zoho-mail.md)\n- [Gmail API vs Unipile](https://www.anchorterminal.com/compare/gmail-api-vs-unipile.md)\n- [Gmail API vs Zoho Mail API](https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail.md)\n- [Nylas Email API vs Unipile](https://www.anchorterminal.com/compare/nylas-email-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 Unipile](https://www.anchorterminal.com/compare/outlook-mail-graph-vs-unipile.md)\n- [Outlook Mail (Microsoft Graph) vs Zoho Mail API](https://www.anchorterminal.com/compare/outlook-mail-graph-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": "Unipile vs Zoho Mail API",
        "url": ""
      }
    ],
    "description": "Unipile scores 58.4 (C) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 4 of 7 scored categories. Zoho Mail API leads on reliability and security \u0026 auth. Both do mailbox read. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Unipile C 58.4",
      "Zoho Mail API D 53.8",
      "scores"
    ],
    "h1": "Unipile vs Zoho Mail API",
    "image": "https://www.anchorterminal.com/assets/og/compare-unipile-vs-zoho-mail.png",
    "path": "/compare/unipile-vs-zoho-mail",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Unipile vs Zoho Mail API for AI agents, C 58.4 vs D 53.8",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/unipile-vs-zoho-mail"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 730
  },
  "version": 1
}
