{
  "data": {
    "a": {
      "slug": "emailengine",
      "name": "EmailEngine",
      "vendor": "Postal Systems OÜ",
      "vendorUrl": "https://emailengine.app",
      "kind": "http-api",
      "category": "mailbox-access",
      "summary": "EmailEngine is self-hosted software from Postal Systems that puts one REST API over Gmail, Microsoft 365 and IMAP mailboxes, with webhooks for new mail and a beta MCP server. The owner runs it with Redis.",
      "url": "https://www.anchorterminal.com/tools/emailengine",
      "markdownUrl": "https://www.anchorterminal.com/tools/emailengine.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/emailengine.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/emailengine.json",
      "repo": "https://github.com/postalsys/emailengine",
      "license": "Source available under the EmailEngine licence agreement, version 2.1 of 17 October 2023. Not open source. The PHP SDK is MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "emailengine-app"
        },
        {
          "registry": "oci",
          "name": "postalsys/emailengine"
        },
        {
          "registry": "packagist",
          "name": "postalsys/emailengine-php"
        }
      ],
      "auth": "api-key",
      "authNotes": "Access is granted by whoever runs the instance, with no vendor approval or app review. Every request takes a 64-character token as `Authorization: Bearer`, or in the `access_token` query parameter. Tokens are created in the admin interface, with the CLI (`emailengine tokens issue`) or through POST /v1/tokens, which only mints tokens bound to one account or narrowed by a permissions record. A token carries scopes (`*`, api, metrics, smtp, imap-proxy, mcp, mcp-manage), an optional account binding, allowlists of actions (read, write, send, destructive) and groups, an IP allowlist, an expiry and a rate limit. The beta MCP endpoint also has an optional built-in OAuth 2.1 server. Mailboxes are connected with the operator's own Google and Microsoft OAuth2 apps, service accounts or IMAP passwords, which stay inside the instance.",
      "pricing": "paid",
      "pricingNotes": "$1,450 or EUR 1,200 a year, excluding VAT, for unlimited mailboxes, instances and API calls, bought with an account at postalsys.com. Every install can start a 14-day trial with full functionality from its own dashboard, with no sign-up and no card, so an agent's owner can start without a contract. When the trial ends the instance stops processing accounts until a licence key is added. A perpetual licence is sold through sales with no public price. The owner also pays for the server and Redis (https://emailengine.app/, https://postalsys.com/plans, checked 2026-10-08).",
      "priceSummary": "$120.83 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on emailengine.app, in the documentation or in the OpenAPI spec (checked 2026-10-08). Licences are bought by card at postalsys.com, with Stripe named as the payment processor.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 2237,
        "npmWeekly": 388,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.emailengine.app/",
      "llmsTxt": "https://emailengine.app/llms.txt",
      "openapi": "https://go.emailengine.app/swagger.json",
      "capabilities": [
        "mailbox.read",
        "mailbox.search",
        "mailbox.send",
        "mailbox.drafts",
        "mailbox.sync"
      ],
      "tags": [
        "self-hosted",
        "source-available",
        "paid",
        "trial",
        "api-key",
        "openapi",
        "llms-txt",
        "mcp",
        "webhooks",
        "imap",
        "gmail",
        "microsoft-365",
        "docker",
        "nodejs",
        "php"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 123,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 81,
          "payments": 40,
          "reliability": 79,
          "schema": 91,
          "security": 71,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "27 September 2026. Version 2.81.2, a patch release, removed the `bounces` field from the message list, message details and messageNew payloads, listed under bug fixes with no earlier notice found in the changelog. The bounce still arrives through the messageBounce webhook, and the entry is documented, so the smallest deduction applies (https://github.com/postalsys/emailengine/blob/master/CHANGELOG.md)"
        ],
        "verdict": "A self-hosted REST API over Gmail, Microsoft 365 and IMAP, with a public OpenAPI 3.0 spec and tokens that can be bound to one account, limited by action and group, and rate limited. It needs a server, Redis and a $1,450 yearly licence after a 14-day trial, and the MCP endpoint is a beta, off by default.",
        "bestFor": "A team that must keep mailbox access on its own infrastructure, has many mailboxes across Gmail, Microsoft 365 and IMAP, and can run a server and Redis.",
        "strengths": [
          "Public OpenAPI 3.0 spec for version 2.82.2 with 82 operations, plus llms.txt on both sites and a capabilities.json manifest",
          "Tokens can be bound to one account, narrowed by action and group, limited by IP range, expiry and rate, and are stored only as SHA-256 hashes",
          "Idempotency-Key header on both send routes, and 429 responses carry Retry-After and a ttl field",
          "Ten tagged releases between 7 September and 5 October 2026, and the last eight test runs on master passed",
          "Written prompt-injection guidance, with MCP mail access set to none by default and message bodies returned as sanitised HTML"
        ],
        "weaknesses": [
          "Not open source. Running it beyond the 14-day trial needs a subscription at $1,450 or EUR 1,200 a year",
          "The owner has to run a server and Redis. There is no hosted service, status page or SLA",
          "The MCP endpoint is labelled beta, is off by default, and its tool set may change between releases",
          "A token may also travel in the `access_token` query parameter, and API authentication can be switched off in settings",
          "Version 2.81.2, a patch release, removed the `bounces` field from message responses, and 2.82.0 removed the Document Store in a minor release",
          "One maintainer, no guaranteed support response time, and issues are disabled on the GitHub repository per the GitHub API"
        ],
        "agentNotes": [
          "Ask the operator for a token bound to one account with a permissions record. Mint more with POST /v1/tokens, which refuses instance-wide tokens without one",
          "Send the token in the Authorization header, not the `access_token` query parameter, so it stays out of proxy logs",
          "Page with `cursor` from `nextPageCursor`. `page` works only on IMAP accounts, and search covers one folder unless `path` is `\\All` on Gmail or Microsoft Graph",
          "Set an Idempotency-Key header on POST /v1/account/{account}/submit. A 2xx means queued, so follow the result through the outbox or the messageSent and messageFailed webhooks",
          "Treat message text as untrusted. For MCP, the operator must enable the endpoint first and mail access starts at none"
        ],
        "metrics": {
          "kind": "local",
          "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": 71.4
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 81,
          "payments": 40,
          "reliability": 79,
          "schema": 91,
          "security": 71,
          "transparency": 68
        },
        "provenanceScore": 76
      },
      "connect": {
        "install": "curl -LO https://go.emailengine.app/docker-compose.yml\ndocker compose up -d",
        "http": "curl \"https://emailengine.example.com/v1/account/user@example.com/messages?path=INBOX\u0026page=0\u0026pageSize=50\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"",
        "claudeCode": "claude mcp add --transport http emailengine https://emailengine.example.com/mcp \\\n  --header \"Authorization: Bearer YOUR_ACCESS_TOKEN\"",
        "config": {
          "mcpServers": {
            "emailengine": {
              "headers": {
                "Authorization": "Bearer YOUR_ACCESS_TOKEN"
              },
              "type": "http",
              "url": "https://emailengine.example.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/mailbox.read",
        "tool": "https://letme.dev/emailengine"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "EmailEngine subscription, $1,450 billed yearly",
          "unit": "month",
          "usd": 120.83,
          "note": "unlimited mailboxes, instances and API calls, VAT excluded, 14-day trial without a card"
        }
      ],
      "provenance": {
        "legalEntity": "Postal Systems OÜ, Narva mnt 5, 10117 Tallinn, Estonia, registry code 14971894",
        "domain": "emailengine.app",
        "domainRegistered": "2021-07-28",
        "endpointOnVendorDomain": null,
        "terms": "https://postalsys.com/tos",
        "privacy": "https://emailengine.app/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/postalsys/emailengine/blob/master/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The about page names Postal Systems OÜ at Narva mnt 5, 10117 Tallinn, with registry code 14971894 and VAT number EE102255902, and says the company is run by one person.",
          "RDAP for emailengine.app shows registration on 28 July 2021 through Namecheap.",
          "emailengine.app/.well-known/security.txt is PGP-signed, expires on 1 June 2027 and points to GitHub private advisories and SECURITY.md. postalsys.com has its own security.txt with no Expires field.",
          "The terms of service at postalsys.com/tos are dated 14 May 2020 and cover the subscription. The software licence is the EmailEngine licence agreement, version 2.1 of 17 October 2023, governed by Estonian law.",
          "The privacy policy at emailengine.app/privacy-policy has an effective date of 29 July 2026 and covers the website and the licence account, with Stripe named for payments.",
          "The API runs on the owner's instance, so there is no vendor endpoint and no status page."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/emailengine.json",
      "live": {
        "slug": "emailengine",
        "versions": [
          {
            "registry": "github",
            "name": "postalsys/emailengine",
            "version": "v2.83.0",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:10:38.546496352Z"
          },
          {
            "registry": "npm",
            "name": "emailengine-app",
            "version": "2.83.0",
            "seenAt": "2026-10-08T16:10:36.788101811Z"
          }
        ],
        "githubStars": 2238,
        "npmWeekly": 388,
        "securityTxt": {
          "url": "https://emailengine.app/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-06-01T00:00:00.000Z",
          "checkedAt": "2026-10-08T15:39:10.386155427Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/postalsys/emailengine/master/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:39.774413238Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "92032edad8ba"
          },
          {
            "url": "https://emailengine.app/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:20:06.567354333Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bf031c33ef50"
          },
          {
            "url": "https://postalsys.com/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:11.919567662Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cb7a76a9cb6a"
          }
        ],
        "updatedAt": "2026-10-08T18:24:39.774413238Z"
      }
    },
    "answer": "EmailEngine scores 71.4 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 6 of 7 scored categories.",
    "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": "Postal Systems OÜ",
        "b": "Zoho",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "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": "Source available under the EmailEngine licence agreement, version 2.1 of 17 October 2023. Not open source. The PHP SDK is MIT",
        "b": "Proprietary service under the Zoho Terms of Service and the Zoho Mail usage policy. No source repository was found",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-05",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2022-03-02",
        "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": "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": "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": "2.2k stars, 388 npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "EmailEngine scores 71.4 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, EmailEngine or Zoho Mail API?"
      },
      {
        "answer": "EmailEngine needs an API key. Zoho Mail API uses an OAuth sign-in.",
        "question": "Do EmailEngine and Zoho Mail API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for EmailEngine. No hosted endpoint is listed for Zoho Mail API.",
        "question": "Can an agent call EmailEngine and Zoho Mail API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 79 against 63",
          "Schema \u0026 documentation, 91 against 45",
          "Agent ergonomics, 80 against 56",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 81 against 33"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "A team that must keep mailbox access on its own infrastructure, has many mailboxes across Gmail, Microsoft 365 and IMAP, and can run a server and Redis.",
        "slug": "emailengine",
        "watchFor": "Not open source. Running it beyond the 14-day trial needs a subscription at $1,450 or EUR 1,200 a year"
      },
      {
        "aheadOn": null,
        "also": [
          "Free to start without a card",
          "No incidents deducted, where EmailEngine loses 3 points for them"
        ],
        "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-fastmail.json",
        "title": "EmailEngine vs Fastmail API (JMAP)",
        "url": "https://www.anchorterminal.com/compare/emailengine-vs-fastmail"
      },
      {
        "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-nylas-email.json",
        "title": "EmailEngine vs Nylas Email API",
        "url": "https://www.anchorterminal.com/compare/emailengine-vs-nylas-email"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emailengine-vs-outlook-mail-graph.json",
        "title": "EmailEngine vs Outlook Mail (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/emailengine-vs-outlook-mail-graph"
      },
      {
        "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/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-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-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": 16,
        "edge": "emailengine",
        "emailengine": 79,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "zoho-mail": 63
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 46,
        "edge": "emailengine",
        "emailengine": 91,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "zoho-mail": 45
      },
      {
        "by": 24,
        "edge": "emailengine",
        "emailengine": 80,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "zoho-mail": 56
      },
      {
        "by": 4,
        "edge": "emailengine",
        "emailengine": 71,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "zoho-mail": 67
      },
      {
        "by": 10,
        "edge": "emailengine",
        "emailengine": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "zoho-mail": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 48,
        "edge": "emailengine",
        "emailengine": 81,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "zoho-mail": 33
      },
      {
        "by": 1,
        "edge": "zoho-mail",
        "emailengine": 72,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "zoho-mail": 73
      }
    ],
    "summary": "EmailEngine scores 71.4 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 6 of 7 scored categories. Both do mailbox read.",
    "verdicts": {
      "emailengine": "A self-hosted REST API over Gmail, Microsoft 365 and IMAP, with a public OpenAPI 3.0 spec and tokens that can be bound to one account, limited by action and group, and rate limited. It needs a server, Redis and a $1,450 yearly licence after a 14-day trial, and the MCP endpoint is a beta, off by default.",
      "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/emailengine-vs-zoho-mail",
    "json": "https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail.md",
    "slim": "https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail.min.md"
  },
  "markdown": "EmailEngine scores 71.4 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 6 of 7 scored categories. Both do mailbox read.\n\n- EmailEngine: grade BB, 71.4/100, rank #123 of 842. Markdown https://www.anchorterminal.com/tools/emailengine.md · JSON https://www.anchorterminal.com/api/v1/tools/emailengine.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### EmailEngine (BB)\n\nGood for: A team that must keep mailbox access on its own infrastructure, has many mailboxes across Gmail, Microsoft 365 and IMAP, and can run a server and Redis.\n\nAhead on:\n- Reliability, 79 against 63\n- Schema \u0026 documentation, 91 against 45\n- Agent ergonomics, 80 against 56\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 81 against 33\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Not open source. Running it beyond the 14-day trial needs a subscription at $1,450 or EUR 1,200 a year\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- No incidents deducted, where EmailEngine loses 3 points for them\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 | EmailEngine | Zoho Mail API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 79 | 63 | EmailEngine +16 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 91 | 45 | EmailEngine +46 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 56 | EmailEngine +24 |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 67 | EmailEngine +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | EmailEngine +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 33 | EmailEngine +48 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 73 | Zoho Mail API +1 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **71.4 · BB** | **53.8 · D** | |\n\n## Facts side by side\n\n| Fact | EmailEngine | Zoho Mail API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Postal Systems OÜ | Zoho |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Source available under the EmailEngine licence agreement, version 2.1 of 17 October 2023. Not open source. The PHP SDK is MIT | Proprietary service under the Zoho Terms of Service and the Zoho Mail usage policy. No source repository was found |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-05 | none |\n| Terms last updated | no date given | 2022-03-02 |\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 | yes | 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 | 2.2k stars, 388 npm/wk | none |\n\n## Verdicts\n\n**EmailEngine.** A self-hosted REST API over Gmail, Microsoft 365 and IMAP, with a public OpenAPI 3.0 spec and tokens that can be bound to one account, limited by action and group, and rate limited. It needs a server, Redis and a $1,450 yearly licence after a 14-day trial, and the MCP endpoint is a beta, off by default.\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### EmailEngine\n\n1. Ask the operator for a token bound to one account with a permissions record. Mint more with POST /v1/tokens, which refuses instance-wide tokens without one\n2. Send the token in the Authorization header, not the `access_token` query parameter, so it stays out of proxy logs\n3. Page with `cursor` from `nextPageCursor`. `page` works only on IMAP accounts, and search covers one folder unless `path` is `\\All` on Gmail or Microsoft Graph\n4. Set an Idempotency-Key header on POST /v1/account/{account}/submit. A 2xx means queued, so follow the result through the outbox or the messageSent and messageFailed webhooks\n5. Treat message text as untrusted. For MCP, the operator must enable the endpoint first and mail access starts at none\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, EmailEngine or Zoho Mail API?\n\nEmailEngine scores 71.4 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 6 of 7 scored categories.\n\n### Do EmailEngine and Zoho Mail API need an API key?\n\nEmailEngine needs an API key. Zoho Mail API uses an OAuth sign-in.\n\n### Can an agent call EmailEngine and Zoho Mail API without installing anything?\n\nNo hosted endpoint is listed for EmailEngine. 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/emailengine-vs-zoho-mail.json, and with the fewest tokens: https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"emailengine\", \"b\": \"zoho-mail\"}`. From a terminal: `anchor compare emailengine zoho-mail`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/emailengine.json and https://www.anchorterminal.com/api/v1/tools/zoho-mail.json\n\n## Other comparisons with EmailEngine or Zoho Mail API\n\n- [EmailEngine vs Fastmail API (JMAP)](https://www.anchorterminal.com/compare/emailengine-vs-fastmail.md)\n- [EmailEngine vs Gmail API](https://www.anchorterminal.com/compare/emailengine-vs-gmail-api.md)\n- [EmailEngine vs Nylas Email API](https://www.anchorterminal.com/compare/emailengine-vs-nylas-email.md)\n- [EmailEngine vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/emailengine-vs-outlook-mail-graph.md)\n- [EmailEngine vs Unipile](https://www.anchorterminal.com/compare/emailengine-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 Zoho Mail API](https://www.anchorterminal.com/compare/gmail-api-vs-zoho-mail.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": "EmailEngine vs Zoho Mail API",
        "url": ""
      }
    ],
    "description": "EmailEngine scores 71.4 (BB) on agent readiness against Zoho Mail API's 53.8 (D), and leads in 6 of 7 scored categories. Both do mailbox read. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "EmailEngine BB 71.4",
      "Zoho Mail API D 53.8",
      "scores"
    ],
    "h1": "EmailEngine vs Zoho Mail API",
    "image": "https://www.anchorterminal.com/assets/og/compare-emailengine-vs-zoho-mail.png",
    "path": "/compare/emailengine-vs-zoho-mail",
    "published": "2026-10-01",
    "section": "tools",
    "title": "EmailEngine vs Zoho Mail API for AI agents, BB 71.4 vs D 53.8",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 680
  },
  "version": 1
}
