{
  "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": "Outlook Mail (Microsoft Graph) scores 66.3 (B) on agent readiness against Aurinko Email API's 44.2 (E), and leads in 6 of 7 scored categories. Aurinko Email API leads on payments \u0026 pricing.",
    "b": {
      "slug": "outlook-mail-graph",
      "name": "Outlook Mail (Microsoft Graph)",
      "vendor": "Microsoft",
      "vendorUrl": "https://learn.microsoft.com/en-us/graph/api/resources/mail-api-overview",
      "kind": "http-api",
      "category": "mailbox-access",
      "summary": "Mail endpoints of Microsoft Graph for Outlook, Microsoft 365 and Exchange Online mailboxes. An app reads, searches, drafts, sends and files messages over REST with OAuth tokens from Microsoft Entra ID.",
      "url": "https://www.anchorterminal.com/tools/outlook-mail-graph",
      "markdownUrl": "https://www.anchorterminal.com/tools/outlook-mail-graph.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/outlook-mail-graph.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/outlook-mail-graph.json",
      "repo": "https://github.com/microsoftgraph/msgraph-sdk-javascript",
      "license": "MIT (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://graph.microsoft.com/v1.0",
      "packages": [
        {
          "registry": "npm",
          "name": "@microsoft/microsoft-graph-client"
        },
        {
          "registry": "pypi",
          "name": "msgraph-sdk"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 tokens from Microsoft Entra ID, after a person registers an app. No app review by Microsoft was found for mail permissions. Delegated permissions (Mail.ReadBasic, Mail.Read, Mail.ReadWrite, Mail.Send) act as a signed-in user and need only that user's consent. Application permissions reach every mailbox in a tenant, need admin consent, and can be limited to chosen mailboxes with RBAC for Applications in Exchange Online. Personal Outlook.com accounts work with delegated permissions.",
      "pricing": "byo-plan",
      "pricingNotes": "Mail calls aren't metered. The only metered Graph API is SharePoint and OneDrive `assignSensitivityLabel` at $0.00185 a call (https://learn.microsoft.com/en-us/graph/metered-api-list). A work mailbox needs an Exchange Online or Microsoft 365 licence, and Microsoft's plan price page refused our reader on 8 October 2026. A free personal Outlook.com account lets an agent start without a contract. The Microsoft 365 developer programme sandbox is free only to members who qualify, such as Visual Studio subscribers. The Mail MCP server needs a Microsoft 365 Copilot licence.",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Graph mail reference or the metered API list (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 10,
      "popularity": {
        "githubStars": 835,
        "npmWeekly": 2882852,
        "pypiWeekly": 1578201,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/graph/api/resources/mail-api-overview",
      "openapi": "https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/openapi/v1.0/openapi.yaml",
      "capabilities": [
        "mailbox.read",
        "mailbox.search",
        "mailbox.send",
        "mailbox.drafts",
        "mailbox.sync"
      ],
      "tags": [
        "hosted",
        "official",
        "oauth",
        "openapi",
        "webhooks",
        "typescript",
        "python",
        "enterprise"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.3,
        "grade": "B",
        "agentReady": false,
        "rank": 296,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 81,
          "maintenance": 76,
          "payments": 35,
          "reliability": 60,
          "schema": 93,
          "security": 71,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-06-16: a fix for a token leak through URL userinfo host confusion was merged into msgraph-sdk-javascript and the version bumped to 3.0.8, but on 8 October 2026 npm still serves 3.0.7 from September 2023 and the repository has no published advisory. Exploiting it needs an attacker-influenced URL passed to the client (https://github.com/microsoftgraph/msgraph-sdk-javascript/commit/5438ae90f50ef15d3656f0cf9c5485deee351f19, https://registry.npmjs.org/@microsoft/microsoft-graph-client/latest)"
        ],
        "verdict": "Delegated permissions split reading without bodies (Mail.ReadBasic), full reading, writing and sending, and delta queries and change notifications keep a local copy in step. sendMail takes no idempotency key and returns 202 before delivery, and each app is held to four concurrent requests per mailbox.",
        "bestFor": "Agents working in Microsoft 365 or Outlook.com mailboxes that need scoped reading, drafting, sending and incremental sync.",
        "strengths": [
          "Mail.ReadBasic reads messages without body, preview or attachments, and Mail.Send is separate from Mail.ReadWrite",
          "Delta queries per folder and change notifications with `missed` and `subscriptionRemoved` lifecycle events",
          "`$select`, `$top` (1 to 1,000, default 10), `bodyPreview` and `Prefer: outlook.body-content-type=\"text\"` keep responses small",
          "Published policy of at least 24 months' notice before a v1.0 API is removed",
          "Covers work accounts and personal Outlook.com accounts, with every reference page also served as Markdown"
        ],
        "weaknesses": [
          "sendMail has no idempotency key and answers 202 Accepted before delivery, so a retried send can go out twice",
          "Four concurrent requests and 10,000 requests per 10 minutes for each app and mailbox pair",
          "No prompt-injection guidance found in the mail reference or the Mail MCP reference, though message bodies come from outside senders",
          "The npm JavaScript client is 3.0.7 from September 2023, without the June 2026 token-leak fix",
          "The Mail MCP server is a preview kept for backward compatibility, behind a Microsoft 365 Copilot licence"
        ],
        "agentNotes": [
          "Create a draft with POST /me/messages, then send it with /send. A retried sendMail can send the message twice",
          "Send `Prefer: IdType=\"ImmutableId\"` on every request, or message IDs change when a message moves folder",
          "Use `$select` and `Prefer: outlook.body-content-type=\"text\"`. List messages returns HTML bodies and 10 messages a page by default",
          "Honour `Retry-After` on 429 and keep to four parallel calls per mailbox. Batches of up to 20 requests are throttled per request",
          "Treat message bodies as untrusted input, and ask for Mail.ReadBasic when the task doesn't need bodies"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.3
          }
        ],
        "editorialScores": {
          "ergonomics": 81,
          "maintenance": 76,
          "payments": 35,
          "reliability": 60,
          "schema": 93,
          "security": 71,
          "transparency": 65
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl \"https://graph.microsoft.com/v1.0/me/messages?\\$select=from,subject\" \\\n  -H \"Authorization: Bearer $MS_GRAPH_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/mailbox.read",
        "tool": "https://letme.dev/outlook-mail-graph"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "azure-blob-storage",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "power-automate",
        "foundry-local",
        "microsoft-advertising-api",
        "microsoft-excel-graph"
      ],
      "area": "communication",
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "The endpoint is on graph.microsoft.com. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23.",
        "endpointOnVendorDomain": true,
        "terms": "https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://status.cloud.microsoft",
        "changelog": "https://developer.microsoft.com/en-us/graph/changelog",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The Microsoft service health page at status.cloud.microsoft needs JavaScript to show anything.",
          "The Microsoft APIs terms of use say they were last updated in October 2025.",
          "privacy.microsoft.com answered our reader with 403 on 8 October 2026, so the privacy URL follows the Microsoft Graph calendar listing and wasn't reread.",
          "RDAP for microsoft.com gives a registration date of 1991-05-02."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/outlook-mail-graph.json",
      "live": {
        "slug": "outlook-mail-graph",
        "probe": {
          "target": "https://graph.microsoft.com/v1.0",
          "method": "get",
          "lastAt": "2026-10-10T03:53:37.150970946Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 4,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 4,
          "p95ms24h": 27,
          "samples24h": 249,
          "samples30d": 383,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "microsoftgraph/msgraph-sdk-javascript",
            "version": "3.0.7",
            "released": "2023-09-19",
            "seenAt": "2026-10-09T17:11:35.702199752Z"
          },
          {
            "registry": "npm",
            "name": "@microsoft/microsoft-graph-client",
            "version": "3.0.7",
            "seenAt": "2026-10-09T17:11:35.299392252Z"
          },
          {
            "registry": "pypi",
            "name": "msgraph-sdk",
            "version": "1.64.0",
            "released": "2026-10-06",
            "seenAt": "2026-10-09T17:11:35.586402129Z"
          }
        ],
        "githubStars": 836,
        "npmWeekly": 2346460,
        "pypiWeekly": 1617170,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-09-23T16:00:00.000Z",
          "checkedAt": "2026-10-09T15:40:16.790821018Z"
        },
        "updatedAt": "2026-10-10T03:53:37.150970946Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Yoxel, Inc.",
        "b": "Microsoft",
        "name": "Vendor"
      },
      {
        "a": "https://api.aurinko.io",
        "b": "https://graph.microsoft.com/v1.0",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Your plan",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Yoxel's Terms of Services Agreement",
        "b": "MIT (SDKs)",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "10",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2022-08-11",
        "b": "2025-10-01",
        "name": "Terms last updated"
      },
      {
        "a": "2022-08-11",
        "b": "2026-09-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "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": "835 stars, 2.9M npm/wk, 1.6M PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Outlook Mail (Microsoft Graph) scores 66.3 (B) on agent readiness against Aurinko Email API's 44.2 (E), and leads in 6 of 7 scored categories. Aurinko Email API leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Aurinko Email API or Outlook Mail (Microsoft Graph)?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do Aurinko Email API and Outlook Mail (Microsoft Graph) need an API key?"
      },
      {
        "answer": "Yes. Aurinko Email API has a hosted endpoint at https://api.aurinko.io and Outlook Mail (Microsoft Graph) at https://graph.microsoft.com/v1.0.",
        "question": "Can an agent call Aurinko Email API and Outlook Mail (Microsoft Graph) without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 35"
        ],
        "also": [
          "No incidents deducted, where Outlook Mail (Microsoft Graph) loses 4 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, 60 against 40",
          "Schema \u0026 documentation, 93 against 67",
          "Agent ergonomics, 81 against 49",
          "Security \u0026 auth, 71 against 42",
          "Maintenance \u0026 community, 76 against 13",
          "Transparency \u0026 trust, 75 against 44"
        ],
        "also": null,
        "goodFor": "Agents working in Microsoft 365 or Outlook.com mailboxes that need scoped reading, drafting, sending and incremental sync.",
        "slug": "outlook-mail-graph",
        "watchFor": "sendMail has no idempotency key and answers 202 Accepted before delivery, so a retried send can go out twice"
      }
    ],
    "job": {
      "capability": "mailbox.read",
      "name": "Mailbox access"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine.json",
        "title": "Aurinko Email API vs EmailEngine",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine"
      },
      {
        "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-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-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/fastmail-vs-outlook-mail-graph.json",
        "title": "Fastmail API (JMAP) vs Outlook Mail (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/fastmail-vs-outlook-mail-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph.json",
        "title": "Gmail API vs Outlook Mail (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/himalaya-vs-outlook-mail-graph.json",
        "title": "Himalaya vs Outlook Mail (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/himalaya-vs-outlook-mail-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-email-vs-outlook-mail-graph.json",
        "title": "Nylas Email API vs Outlook Mail (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/nylas-email-vs-outlook-mail-graph"
      },
      {
        "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": [
      {
        "aurinko-email": 40,
        "by": 20,
        "edge": "outlook-mail-graph",
        "key": "reliability",
        "name": "Reliability",
        "outlook-mail-graph": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "aurinko-email": 67,
        "by": 26,
        "edge": "outlook-mail-graph",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "outlook-mail-graph": 93,
        "weight": 13
      },
      {
        "aurinko-email": 49,
        "by": 32,
        "edge": "outlook-mail-graph",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "outlook-mail-graph": 81,
        "weight": 13
      },
      {
        "aurinko-email": 42,
        "by": 29,
        "edge": "outlook-mail-graph",
        "key": "security",
        "name": "Security \u0026 auth",
        "outlook-mail-graph": 71,
        "weight": 14
      },
      {
        "aurinko-email": 40,
        "by": 5,
        "edge": "aurinko-email",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "outlook-mail-graph": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "aurinko-email": 13,
        "by": 63,
        "edge": "outlook-mail-graph",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "outlook-mail-graph": 76,
        "weight": 7
      },
      {
        "aurinko-email": 44,
        "by": 31,
        "edge": "outlook-mail-graph",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "outlook-mail-graph": 75,
        "weight": 7
      }
    ],
    "summary": "Outlook Mail (Microsoft Graph) scores 66.3 (B) on agent readiness against Aurinko Email API's 44.2 (E), and leads in 6 of 7 scored categories. Aurinko Email API leads on payments \u0026 pricing. 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.",
      "outlook-mail-graph": "Delegated permissions split reading without bodies (Mail.ReadBasic), full reading, writing and sending, and delta queries and change notifications keep a local copy in step. sendMail takes no idempotency key and returns 202 before delivery, and each app is held to four concurrent requests per mailbox."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph",
    "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph.md",
    "slim": "https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph.min.md"
  },
  "markdown": "Outlook Mail (Microsoft Graph) scores 66.3 (B) on agent readiness against Aurinko Email API's 44.2 (E), and leads in 6 of 7 scored categories. Aurinko Email API leads on payments \u0026 pricing. 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- Outlook Mail (Microsoft Graph): grade B, 66.3/100, rank #296 of 950. Markdown https://www.anchorterminal.com/tools/outlook-mail-graph.md · JSON https://www.anchorterminal.com/api/v1/tools/outlook-mail-graph.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\nAhead on:\n- Payments \u0026 pricing, 40 against 35\n\nAlso in its favour:\n- No incidents deducted, where Outlook Mail (Microsoft Graph) loses 4 points for them\n\nWatch for: No status page, incident history or SLA found, and the terms supply the service as is\n\n### Outlook Mail (Microsoft Graph) (B)\n\nGood for: Agents working in Microsoft 365 or Outlook.com mailboxes that need scoped reading, drafting, sending and incremental sync.\n\nAhead on:\n- Reliability, 60 against 40\n- Schema \u0026 documentation, 93 against 67\n- Agent ergonomics, 81 against 49\n- Security \u0026 auth, 71 against 42\n- Maintenance \u0026 community, 76 against 13\n- Transparency \u0026 trust, 75 against 44\n\nWatch for: sendMail has no idempotency key and answers 202 Accepted before delivery, so a retried send can go out twice\n\n\n## Score by category\n\n| Category | Weight | Aurinko Email API | Outlook Mail (Microsoft Graph) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 40 | 60 | Outlook Mail (Microsoft Graph) +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 67 | 93 | Outlook Mail (Microsoft Graph) +26 |\n| Agent ergonomics | 13% (16.2 this run) | 49 | 81 | Outlook Mail (Microsoft Graph) +32 |\n| Security \u0026 auth | 14% (17.5 this run) | 42 | 71 | Outlook Mail (Microsoft Graph) +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 35 | Aurinko Email API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 13 | 76 | Outlook Mail (Microsoft Graph) +63 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 44 | 75 | Outlook Mail (Microsoft Graph) +31 |\n| Negative events | ≤15 | 0 | -4 | |\n| **Total** | | **44.2 · E** | **66.3 · B** | |\n\n## Facts side by side\n\n| Fact | Aurinko Email API | Outlook Mail (Microsoft Graph) |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Yoxel, Inc. | Microsoft |\n| Hosted endpoint | `https://api.aurinko.io` | `https://graph.microsoft.com/v1.0` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | OAuth |\n| Pricing | Paid | Your plan |\n| x402 | no | no |\n| Licence | Proprietary service under Yoxel's Terms of Services Agreement | MIT (SDKs) |\n| Tools exposed | none | 10 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | none | 2026-10-06 |\n| Terms last updated | 2022-08-11 | 2025-10-01 |\n| Privacy policy last updated | 2022-08-11 | 2026-09-01 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | yes |\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 | 835 stars, 2.9M npm/wk, 1.6M PyPI/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**Outlook Mail (Microsoft Graph).** Delegated permissions split reading without bodies (Mail.ReadBasic), full reading, writing and sending, and delta queries and change notifications keep a local copy in step. sendMail takes no idempotency key and returns 202 before delivery, and each app is held to four concurrent requests per mailbox.\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### Outlook Mail (Microsoft Graph)\n\n1. Create a draft with POST /me/messages, then send it with /send. A retried sendMail can send the message twice\n2. Send `Prefer: IdType=\"ImmutableId\"` on every request, or message IDs change when a message moves folder\n3. Use `$select` and `Prefer: outlook.body-content-type=\"text\"`. List messages returns HTML bodies and 10 messages a page by default\n4. Honour `Retry-After` on 429 and keep to four parallel calls per mailbox. Batches of up to 20 requests are throttled per request\n5. Treat message bodies as untrusted input, and ask for Mail.ReadBasic when the task doesn't need bodies\n\n## Questions\n\n### Which is better for AI agents, Aurinko Email API or Outlook Mail (Microsoft Graph)?\n\nOutlook Mail (Microsoft Graph) scores 66.3 (B) on agent readiness against Aurinko Email API's 44.2 (E), and leads in 6 of 7 scored categories. Aurinko Email API leads on payments \u0026 pricing.\n\n### Do Aurinko Email API and Outlook Mail (Microsoft Graph) need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call Aurinko Email API and Outlook Mail (Microsoft Graph) without installing anything?\n\nYes. Aurinko Email API has a hosted endpoint at https://api.aurinko.io and Outlook Mail (Microsoft Graph) at https://graph.microsoft.com/v1.0.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph.json, and with the fewest tokens: https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"aurinko-email\", \"b\": \"outlook-mail-graph\"}`. From a terminal: `anchor compare aurinko-email outlook-mail-graph`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/aurinko-email.json and https://www.anchorterminal.com/api/v1/tools/outlook-mail-graph.json\n\n## Other comparisons with Aurinko Email API or Outlook Mail (Microsoft Graph)\n\n- [Aurinko Email API vs EmailEngine](https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine.md)\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 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 Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/emailengine-vs-outlook-mail-graph.md)\n- [Fastmail API (JMAP) vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/fastmail-vs-outlook-mail-graph.md)\n- [Gmail API vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph.md)\n- [Himalaya vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/himalaya-vs-outlook-mail-graph.md)\n- [Nylas Email API vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/nylas-email-vs-outlook-mail-graph.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-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 Outlook Mail (Microsoft Graph)",
        "url": ""
      }
    ],
    "description": "Outlook Mail scores 66.3 (B) 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",
      "Outlook Mail (Microsoft Graph) B 66.3",
      "scores"
    ],
    "h1": "Aurinko Email API vs Outlook Mail (Microsoft Graph)",
    "image": "https://www.anchorterminal.com/assets/og/compare-aurinko-email-vs-outlook-mail-graph.png",
    "path": "/compare/aurinko-email-vs-outlook-mail-graph",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Aurinko Email vs Outlook Mail for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 730
  },
  "version": 1
}
