{
  "data": {
    "a": {
      "slug": "aurinko-email",
      "name": "Aurinko Email API",
      "vendor": "Yoxel, Inc.",
      "vendorUrl": "https://www.aurinko.io",
      "kind": "http-api",
      "category": "mailbox-access",
      "summary": "Unified email REST API from Yoxel, Inc. It reads, searches, drafts and sends mail in a user's own mailbox on Gmail, Office 365, Outlook.com, Exchange, Zoho Mail, iCloud and IMAP, with delta sync, open and reply tracking and webhooks.",
      "url": "https://www.anchorterminal.com/tools/aurinko-email",
      "markdownUrl": "https://www.anchorterminal.com/tools/aurinko-email.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/aurinko-email.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/aurinko-email.json",
      "license": "Proprietary service under Yoxel's Terms of Services Agreement",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.aurinko.io",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Self-serve. A developer signs up at app.aurinko.io and gets a client ID and secret for each application. Each mailbox owner connects through Aurinko's OAuth flow at `/v1/auth/authorize`, and the resulting account access token is sent as a Bearer token. Mail scopes are `Mail.Read`, `Mail.ReadWrite`, `Mail.Send` and `Mail.Drafts`. IMAP, iCloud and Exchange accounts connect with a password or app password. Gmail access needs the developer's own Google OAuth app, since Aurinko's default registration excludes Google email, and production Office 365 needs an Azure registration.",
      "pricing": "paid",
      "pricingNotes": "$1.50 an active account a month for Email (non-IMAP) with up to 1 GB of traffic, and $2 for any number of APIs including IMAP with unlimited traffic, per the billing FAQ. A 14-day trial gives full API access, and requests are blocked when it ends without a card on file. No free tier or sandbox beyond the trial (https://docs.aurinko.io/faq/how-does-aurinko-billing-work).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI description or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.aurinko.io/unified-apis/email-api",
      "llmsTxt": "https://docs.aurinko.io/llms.txt",
      "openapi": "https://apirefs.aurinko.io/assets/swagger.json",
      "capabilities": [
        "mailbox.read",
        "mailbox.search",
        "mailbox.send",
        "mailbox.drafts",
        "mailbox.sync",
        "email.threads"
      ],
      "tags": [
        "hosted",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "closed-source",
        "free-trial"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.2,
        "grade": "E",
        "agentReady": false,
        "rank": 878,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 13,
          "payments": 40,
          "reliability": 40,
          "schema": 67,
          "security": 42,
          "transparency": 44
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "One REST interface covers message search with 17 query operators, drafts, sending, folders and delta sync across seven mailbox types, at $1.50 an active account a month and with send-only and read-only scopes. No status page, SLA, changelog, idempotency key on send or official SDK was found, and SOC 2 is not yet held.",
        "bestFor": "A product that connects many users' Gmail and Microsoft mailboxes and wants one schema, delta sync, tracking and webhooks at a low price per account.",
        "strengths": [
          "Public OpenAPI 3.0 description at `apirefs.aurinko.io/assets/swagger.json`, with 43 email operations, 34 of them carrying a cURL sample",
          "Four mail scopes. `Mail.Read` allows no writes, `Mail.Send` allows sending with no read access, and `Mail.ReadWrite` excludes send",
          "The `q` parameter takes 17 search operators, with a table in the docs saying where IMAP and Exchange support is partial",
          "Prices published per active account a month ($1.50 for email, $2 for all APIs with IMAP), with a 14-day trial",
          "Docs state that message contents are passed through and never stored, with only IDs and thread relations cached for sync"
        ],
        "weaknesses": [
          "No status page, incident history or SLA found, and the terms supply the service as is",
          "No idempotency key on `POST /v1/email/messages`, so a retried send can deliver twice",
          "No changelog, deprecation policy or official SDK found in the docs or on the site",
          "The application's client ID and secret, sent as Basic auth, reach every connected mailbox, and IMAP accounts hand Aurinko a mailbox password",
          "The terms of 11 August 2022 forbid robots and data extraction methods in connection with the Services. This matters before any probe is run"
        ],
        "agentNotes": [
          "Use `https://api.aurinko.io/v1`. Several cURL examples in the docs print `https:/api.aurinko.io` with one slash, and one search example names the host `asti.aurinko.io`",
          "Do not retry `POST /v1/email/messages` blindly after a timeout. There is no idempotency key, so check Sent mail with `q=rfc822msgid:` or by subject first",
          "Call `POST /v1/email/sync` until `ready` is true, then page `/v1/email/sync/updated` with `pageToken` until a `nextDeltaToken` appears and store it",
          "Check the `omitted` array on message lists. Full bodies come only from Google and Office 365, and other providers return a snippet",
          "Request `Mail.Read` plus `Mail.Send` for read and send without modify rights. The docs example names `Mail.ReadOnly`, which is not in the scope list"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.2
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 13,
          "payments": 40,
          "reliability": 40,
          "schema": 67,
          "security": 42,
          "transparency": 27
        },
        "provenanceScore": 60
      },
      "connect": {
        "http": "curl -H 'Authorization: Bearer \u003caccess_token\u003e' \\\n  -G https://api.aurinko.io/v1/email/messages \\\n  -d q='from:alexey'"
      },
      "letme": {
        "capability": "https://letme.dev/mailbox.read",
        "tool": "https://letme.dev/aurinko-email"
      },
      "sameCompany": [
        "aurinko-calendar"
      ],
      "area": "communication",
      "unitPrices": [
        {
          "item": "Email API (non-IMAP)",
          "unit": "account-month",
          "usd": 1.5,
          "note": "Per active account, up to 1 GB of traffic a month"
        },
        {
          "item": "Full platform, any number of APIs including IMAP",
          "unit": "account-month",
          "usd": 2,
          "note": "Per active account, unlimited traffic"
        }
      ],
      "provenance": {
        "legalEntity": "Yoxel, Inc.",
        "domain": "aurinko.io",
        "domainRegistered": "2019-05-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.aurinko.io/terms/",
        "privacy": "https://www.aurinko.io/privacy/",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Services Agreement, last updated 11 August 2022, names Yoxel, Inc., organised under the laws of California, and covers the API and the workspace integrations platform. Disputes go to binding arbitration under JAMS rules in San Francisco, with a 30-day opt-out.",
          "The privacy policy, last updated 11 August 2022, covers the site and the services, API included, and commits to Google's API Services User Data Policy and its Limited Use requirements.",
          "The terms forbid robots, data mining and similar data extraction or gathering methods in connection with the Services. We read a handful of public pages and sent nothing to the API host.",
          "The API answers at api.aurinko.io per the description file, with the portal at app.aurinko.io and the reference at apirefs.aurinko.io, all on the vendor's domain.",
          "www.aurinko.io/.well-known/security.txt returns 404. The security statement gives security@yoxel.com for reports.",
          "No status page or changelog is linked from the home page, the docs index or the description file.",
          "robots.txt on www.aurinko.io has one `User-agent: *` line and no rules. On docs.aurinko.io it allows every path with `Content-Signal: ai-input=yes`. apirefs.aurinko.io answered 404 for robots.txt, read as no rules.",
          "RDAP for aurinko.io gives a registration date of 2019-05-08."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/aurinko-email.json",
      "live": {
        "slug": "aurinko-email",
        "probe": {
          "target": "https://api.aurinko.io",
          "method": "get",
          "lastAt": "2026-10-10T03:53:19.824177005Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 232,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 126,
          "p95ms24h": 280,
          "samples24h": 125,
          "samples30d": 125,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "updatedAt": "2026-10-10T03:53:19.824177005Z"
      }
    },
    "answer": "EmailEngine scores 71.4 (BB) on agent readiness against Aurinko Email API's 44.2 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "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": 128,
        "ranked": true,
        "rankOf": 950,
        "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.1",
            "released": "2026-10-08",
            "seenAt": "2026-10-09T16:51:53.89216043Z"
          },
          {
            "registry": "npm",
            "name": "emailengine-app",
            "version": "2.83.1",
            "seenAt": "2026-10-09T16:51:52.899054872Z"
          }
        ],
        "githubStars": 2238,
        "npmWeekly": 635,
        "securityTxt": {
          "url": "https://emailengine.app/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-06-01T00:00:00.000Z",
          "checkedAt": "2026-10-09T15:39:42.849079277Z"
        },
        "llmsTxt": {
          "url": "https://emailengine.app/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:52.760550973Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/postalsys/emailengine/master/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:45:57.369645087Z",
            "changedAt": "2026-10-09T18:45:57.369645087Z",
            "fingerprint": "bad92b1dd95d"
          },
          {
            "url": "https://emailengine.app/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-09T18:39:03.761468001Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bf031c33ef50"
          },
          {
            "url": "https://postalsys.com/tos",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-09T18:43:42.3890862Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cb7a76a9cb6a"
          }
        ],
        "updatedAt": "2026-10-09T18:45:57.369645087Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Yoxel, Inc.",
        "b": "Postal Systems OÜ",
        "name": "Vendor"
      },
      {
        "a": "https://api.aurinko.io",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Yoxel's Terms of Services Agreement",
        "b": "Source available under the EmailEngine licence agreement, version 2.1 of 17 October 2023. Not open source. The PHP SDK is MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "2022-08-11",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2022-08-11",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "2.2k stars, 388 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "EmailEngine scores 71.4 (BB) on agent readiness against Aurinko Email API's 44.2 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Aurinko Email API or EmailEngine?"
      },
      {
        "answer": "Aurinko Email API uses an OAuth sign-in. EmailEngine needs an API key.",
        "question": "Do Aurinko Email API and EmailEngine need an API key?"
      },
      {
        "answer": "Aurinko Email API has a hosted endpoint at https://api.aurinko.io. No hosted endpoint is listed for EmailEngine.",
        "question": "Can an agent call Aurinko Email API and EmailEngine without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install",
          "No incidents deducted, where EmailEngine loses 3 points for them"
        ],
        "goodFor": "A product that connects many users' Gmail and Microsoft mailboxes and wants one schema, delta sync, tracking and webhooks at a low price per account.",
        "slug": "aurinko-email",
        "watchFor": "No status page, incident history or SLA found, and the terms supply the service as is"
      },
      {
        "aheadOn": [
          "Reliability, 79 against 40",
          "Schema \u0026 documentation, 91 against 67",
          "Agent ergonomics, 80 against 49",
          "Security \u0026 auth, 71 against 42",
          "Maintenance \u0026 community, 81 against 13",
          "Transparency \u0026 trust, 72 against 44"
        ],
        "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"
      }
    ],
    "job": {
      "capability": "mailbox.read",
      "name": "Mailbox access"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-fastmail.json",
        "title": "Aurinko Email API vs Fastmail API (JMAP)",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-fastmail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-gmail-api.json",
        "title": "Aurinko Email API vs Gmail API",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-gmail-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-himalaya.json",
        "title": "Aurinko Email API vs Himalaya",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-himalaya"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-nylas-email.json",
        "title": "Aurinko Email API vs Nylas Email API",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-nylas-email"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph.json",
        "title": "Aurinko Email API vs Outlook Mail (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-unipile.json",
        "title": "Aurinko Email API vs Unipile",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-unipile"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-zoho-mail.json",
        "title": "Aurinko Email API vs Zoho Mail API",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-zoho-mail"
      },
      {
        "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-himalaya.json",
        "title": "EmailEngine vs Himalaya",
        "url": "https://www.anchorterminal.com/compare/emailengine-vs-himalaya"
      },
      {
        "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/emailengine-vs-zoho-mail.json",
        "title": "EmailEngine vs Zoho Mail API",
        "url": "https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail"
      }
    ],
    "scores": [
      {
        "aurinko-email": 40,
        "by": 39,
        "edge": "emailengine",
        "emailengine": 79,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "aurinko-email": 67,
        "by": 24,
        "edge": "emailengine",
        "emailengine": 91,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "aurinko-email": 49,
        "by": 31,
        "edge": "emailengine",
        "emailengine": 80,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "aurinko-email": 42,
        "by": 29,
        "edge": "emailengine",
        "emailengine": 71,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "aurinko-email": 40,
        "by": 0,
        "edge": "",
        "emailengine": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "aurinko-email": 13,
        "by": 68,
        "edge": "emailengine",
        "emailengine": 81,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "aurinko-email": 44,
        "by": 28,
        "edge": "emailengine",
        "emailengine": 72,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "EmailEngine scores 71.4 (BB) on agent readiness against Aurinko Email API's 44.2 (E), and leads in 6 of 7 scored categories. Both do mailbox access.",
    "verdicts": {
      "aurinko-email": "One REST interface covers message search with 17 query operators, drafts, sending, folders and delta sync across seven mailbox types, at $1.50 an active account a month and with send-only and read-only scopes. No status page, SLA, changelog, idempotency key on send or official SDK was found, and SOC 2 is not yet held.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine",
    "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine.md",
    "slim": "https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine.min.md"
  },
  "markdown": "EmailEngine scores 71.4 (BB) on agent readiness against Aurinko Email API's 44.2 (E), and leads in 6 of 7 scored categories. Both do mailbox access.\n\n- Aurinko Email API: grade E, 44.2/100, rank #878 of 950. Markdown https://www.anchorterminal.com/tools/aurinko-email.md · JSON https://www.anchorterminal.com/api/v1/tools/aurinko-email.json\n- EmailEngine: grade BB, 71.4/100, rank #128 of 950. Markdown https://www.anchorterminal.com/tools/emailengine.md · JSON https://www.anchorterminal.com/api/v1/tools/emailengine.json\n- Best mailbox access APIs for AI agents: https://www.anchorterminal.com/best/mailbox-access/index.md\n- All 36 mailboxes comparisons: https://www.anchorterminal.com/compare/mailbox-access/index.md\n\n## Which one, for what\n\n### Aurinko Email API (E)\n\nGood for: A product that connects many users' Gmail and Microsoft mailboxes and wants one schema, delta sync, tracking and webhooks at a low price per account.\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- No incidents deducted, where EmailEngine loses 3 points for them\n\nWatch for: No status page, incident history or SLA found, and the terms supply the service as is\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 40\n- Schema \u0026 documentation, 91 against 67\n- Agent ergonomics, 80 against 49\n- Security \u0026 auth, 71 against 42\n- Maintenance \u0026 community, 81 against 13\n- Transparency \u0026 trust, 72 against 44\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\n## Score by category\n\n| Category | Weight | Aurinko Email API | EmailEngine | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 40 | 79 | EmailEngine +39 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 67 | 91 | EmailEngine +24 |\n| Agent ergonomics | 13% (16.2 this run) | 49 | 80 | EmailEngine +31 |\n| Security \u0026 auth | 14% (17.5 this run) | 42 | 71 | EmailEngine +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 13 | 81 | EmailEngine +68 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 44 | 72 | EmailEngine +28 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **44.2 · E** | **71.4 · BB** | |\n\n## Facts side by side\n\n| Fact | Aurinko Email API | EmailEngine |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Yoxel, Inc. | Postal Systems OÜ |\n| Hosted endpoint | `https://api.aurinko.io` | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Yoxel's Terms of Services Agreement | Source available under the EmailEngine licence agreement, version 2.1 of 17 October 2023. Not open source. The PHP SDK is MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | none | 2026-10-05 |\n| Terms last updated | 2022-08-11 | no date given |\n| Privacy policy last updated | 2022-08-11 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | none | 2.2k stars, 388 npm/wk |\n\n## Verdicts\n\n**Aurinko Email API.** One REST interface covers message search with 17 query operators, drafts, sending, folders and delta sync across seven mailbox types, at $1.50 an active account a month and with send-only and read-only scopes. No status page, SLA, changelog, idempotency key on send or official SDK was found, and SOC 2 is not yet held.\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## Before you call either\n\n### Aurinko Email API\n\n1. Use `https://api.aurinko.io/v1`. Several cURL examples in the docs print `https:/api.aurinko.io` with one slash, and one search example names the host `asti.aurinko.io`\n2. Do not retry `POST /v1/email/messages` blindly after a timeout. There is no idempotency key, so check Sent mail with `q=rfc822msgid:` or by subject first\n3. Call `POST /v1/email/sync` until `ready` is true, then page `/v1/email/sync/updated` with `pageToken` until a `nextDeltaToken` appears and store it\n4. Check the `omitted` array on message lists. Full bodies come only from Google and Office 365, and other providers return a snippet\n5. Request `Mail.Read` plus `Mail.Send` for read and send without modify rights. The docs example names `Mail.ReadOnly`, which is not in the scope list\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## Questions\n\n### Which is better for AI agents, Aurinko Email API or EmailEngine?\n\nEmailEngine scores 71.4 (BB) on agent readiness against Aurinko Email API's 44.2 (E), and leads in 6 of 7 scored categories.\n\n### Do Aurinko Email API and EmailEngine need an API key?\n\nAurinko Email API uses an OAuth sign-in. EmailEngine needs an API key.\n\n### Can an agent call Aurinko Email API and EmailEngine without installing anything?\n\nAurinko Email API has a hosted endpoint at https://api.aurinko.io. No hosted endpoint is listed for EmailEngine.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine.json, and with the fewest tokens: https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"aurinko-email\", \"b\": \"emailengine\"}`. From a terminal: `anchor compare aurinko-email emailengine`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/aurinko-email.json and https://www.anchorterminal.com/api/v1/tools/emailengine.json\n\n## Other comparisons with Aurinko Email API or EmailEngine\n\n- [Aurinko Email API vs Fastmail API (JMAP)](https://www.anchorterminal.com/compare/aurinko-email-vs-fastmail.md)\n- [Aurinko Email API vs Gmail API](https://www.anchorterminal.com/compare/aurinko-email-vs-gmail-api.md)\n- [Aurinko Email API vs Himalaya](https://www.anchorterminal.com/compare/aurinko-email-vs-himalaya.md)\n- [Aurinko Email API vs Nylas Email API](https://www.anchorterminal.com/compare/aurinko-email-vs-nylas-email.md)\n- [Aurinko Email API vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph.md)\n- [Aurinko Email API vs Unipile](https://www.anchorterminal.com/compare/aurinko-email-vs-unipile.md)\n- [Aurinko Email API vs Zoho Mail API](https://www.anchorterminal.com/compare/aurinko-email-vs-zoho-mail.md)\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 Himalaya](https://www.anchorterminal.com/compare/emailengine-vs-himalaya.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- [EmailEngine vs Zoho Mail API](https://www.anchorterminal.com/compare/emailengine-vs-zoho-mail.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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": "Aurinko Email API vs EmailEngine",
        "url": ""
      }
    ],
    "description": "EmailEngine scores 71.4 (BB) to Aurinko Email's 44.2 (E) for mailbox access. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Aurinko Email API E 44.2",
      "EmailEngine BB 71.4",
      "scores"
    ],
    "h1": "Aurinko Email API vs EmailEngine",
    "image": "https://www.anchorterminal.com/assets/og/compare-aurinko-email-vs-emailengine.png",
    "path": "/compare/aurinko-email-vs-emailengine",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Aurinko Email vs EmailEngine for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 680
  },
  "version": 1
}
