# Gmail API vs Outlook Mail (Microsoft Graph) > Gmail API scores 77.8 (BB) on agent readiness against Outlook Mail (Microsoft Graph)'s 66.3 (B), and leads in 5 of 7 scored categories. Outlook Mail (Microsoft Graph) leads on schema & documentation. Both do mailbox read. Category scores, facts, verdicts and agent notes side by… - Canonical: https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph - Markdown: https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph.md (~2,050 tokens) - Slim: https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph.min.md (~680 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-08 Gmail API scores 77.8 (BB) on agent readiness against Outlook Mail (Microsoft Graph)'s 66.3 (B), and leads in 5 of 7 scored categories. Outlook Mail (Microsoft Graph) leads on schema & documentation. Both do mailbox read. - Gmail API: grade BB, 77.8/100, rank #17 of 629. Markdown https://www.anchorterminal.com/tools/gmail-api.md · JSON https://www.anchorterminal.com/api/v1/tools/gmail-api.json - Outlook Mail (Microsoft Graph): grade B, 66.3/100, rank #221 of 629. Markdown https://www.anchorterminal.com/tools/outlook-mail-graph.md · JSON https://www.anchorterminal.com/api/v1/tools/outlook-mail-graph.json ## Which one, for what ### Gmail API (BB) Good for: An agent working in a Gmail or Google Workspace user's own mailbox, with search, threads, drafts, labels and incremental sync at no per-account fee. Ahead on: - Reliability, 90 against 60 - Security & auth, 81 against 71 - Maintenance & community, 85 against 76 - Transparency & trust, 82 against 75 Also in its favour: - Agent-ready, a grade of BB or better - No incidents deducted, where Outlook Mail (Microsoft Graph) loses 4 points for them Watch for: Eight restricted scopes, including `gmail.readonly` and `gmail.metadata`, need restricted-scope verification for a public app ### Outlook Mail (Microsoft Graph) (B) Good for: Agents working in Microsoft 365 or Outlook.com mailboxes that need scoped reading, drafting, sending and incremental sync. Ahead on: - Schema & documentation, 93 against 82 Watch for: sendMail has no idempotency key and answers 202 Accepted before delivery, so a retried send can go out twice ## Score by category | Category | Weight | Gmail API | Outlook Mail (Microsoft Graph) | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 90 | 60 | Gmail API +30 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 82 | 93 | Outlook Mail (Microsoft Graph) +11 | | Agent ergonomics | 13% (16.2 this run) | 82 | 81 | Gmail API +1 | | Security & auth | 14% (17.5 this run) | 81 | 71 | Gmail API +10 | | Payments & pricing | 10% (12.5 this run) | 35 | 35 | even | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 85 | 76 | Gmail API +9 | | Transparency & trust | 7% (8.8 this run) | 82 | 75 | Gmail API +7 | | Negative events | ≤15 | 0 | -4 | | | **Total** | | **77.8 · BB** | **66.3 · B** | | ## Facts side by side | Fact | Gmail API | Outlook Mail (Microsoft Graph) | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Google | Microsoft | | Hosted endpoint | `https://gmail.googleapis.com/gmail/v1` | `https://graph.microsoft.com/v1.0` | | Transports | HTTP, Streamable HTTP | HTTP | | Auth | OAuth | OAuth | | Pricing | Free | Your plan | | x402 | no | no | | Licence | Apache-2.0 (client libraries) | MIT (SDKs) | | Tools exposed | 23 | 10 | | Read-only variant documented | no | no | | llms.txt | no | no | | Last release | 2026-09-23 | 2026-10-06 | | Terms last updated | 2021-11-09 | 2025-10-01 | | Privacy policy last updated | 2026-10-01 | 2026-09-01 | | Customer content may train models | yes | yes | | Terms restrict automated access | yes | yes | | Terms restrict benchmarking | not found in the text | yes | | Terms or service can change without notice | not found in the text | yes | | Arbitration or class-action waiver | not found in the text | not found in the text | | Popularity | 12k stars, 1.1M npm/wk | 835 stars, 2.9M npm/wk, 1.6M PyPI/wk | ## Verdicts **Gmail API.** Fourteen OAuth scopes separate labels, sending, metadata and read-only access, and the quota page gives every method a unit cost. Eight of the scopes are restricted, read-only and metadata among them, so a public app that reads mail needs Google's verification and an annual third-party security assessment. Gmail mailboxes only. **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. ## Before you call either ### Gmail API 1. Ask for the narrowest scope. `gmail.labels` is non-sensitive and `gmail.send` is sensitive, while every scope that reads mail is restricted 2. List with `messages.list` and `q` in Gmail search syntax, then fetch each ID with `format=metadata` or `full`. List calls return IDs only 3. Send by posting an RFC 2822 message, base64url encoded, in `raw`. Set `threadId` and matching reply headers to stay in a thread 4. Store the `historyId` and call `history.list`. On a 404, run a full sync. Call `watch` again at least every 7 days 5. Back off exponentially on 403 and 429 rate errors, and keep batches to 50 requests or fewer ### Outlook Mail (Microsoft Graph) 1. Create a draft with POST /me/messages, then send it with /send. A retried sendMail can send the message twice 2. Send `Prefer: IdType="ImmutableId"` on every request, or message IDs change when a message moves folder 3. Use `$select` and `Prefer: outlook.body-content-type="text"`. List messages returns HTML bodies and 10 messages a page by default 4. Honour `Retry-After` on 429 and keep to four parallel calls per mailbox. Batches of up to 20 requests are throttled per request 5. Treat message bodies as untrusted input, and ask for Mail.ReadBasic when the task doesn't need bodies ## Questions ### Which is better for AI agents, Gmail API or Outlook Mail (Microsoft Graph)? Gmail API scores 77.8 (BB) on agent readiness against Outlook Mail (Microsoft Graph)'s 66.3 (B), and leads in 5 of 7 scored categories. Outlook Mail (Microsoft Graph) leads on schema & documentation. ### Do Gmail API and Outlook Mail (Microsoft Graph) need an API key? Both use an OAuth sign-in. ### Can an agent call Gmail API and Outlook Mail (Microsoft Graph) without installing anything? Yes. Gmail API has a hosted endpoint at https://gmail.googleapis.com/gmail/v1 and Outlook Mail (Microsoft Graph) at https://graph.microsoft.com/v1.0. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph.json, and with the fewest tokens: https://www.anchorterminal.com/compare/gmail-api-vs-outlook-mail-graph.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "gmail-api", "b": "outlook-mail-graph"}`. From a terminal: `anchor compare gmail-api outlook-mail-graph` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/gmail-api.json and https://www.anchorterminal.com/api/v1/tools/outlook-mail-graph.json ## Other comparisons with Gmail API or Outlook Mail (Microsoft Graph) - [EmailEngine vs Gmail API](https://www.anchorterminal.com/compare/emailengine-vs-gmail-api.md) - [EmailEngine vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/emailengine-vs-outlook-mail-graph.md) - [Gmail API vs Nylas Email API](https://www.anchorterminal.com/compare/gmail-api-vs-nylas-email.md) - [Gmail API vs Unipile](https://www.anchorterminal.com/compare/gmail-api-vs-unipile.md) - [Nylas Email API vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/nylas-email-vs-outlook-mail-graph.md) - [Outlook Mail (Microsoft Graph) vs Unipile](https://www.anchorterminal.com/compare/outlook-mail-graph-vs-unipile.md)