Head to head · Mailbox access · October 2026 research run

Himalaya vs Outlook Mail (Microsoft Graph)

Outlook Mail (Microsoft Graph) scores 66.3 (B) on agent readiness against Himalaya's 64.5 (B), and leads in 4 of 7 scored categories. Himalaya leads on reliability, payments & pricing and maintenance & community. Both do mailbox access.

Best mailbox access APIs for AI agents · All 36 mailboxes comparisons

Which one, for what

Himalaya B

Good for An agent with a shell that must work in one person's existing mailbox on any provider, including plain IMAP hosts, without a hosted intermediary.

Ahead on

  • Reliability, 84 against 60
  • Payments & pricing, 60 against 35
  • Maintenance & community, 88 against 76

Also in its favour

  • Free to start without a card
  • Open source

Watch for

Until 2.2.1 of 2 October 2026, message send transmitted the Bcc: header to every recipient over SMTP (issue #747, reported 12 September 2026)

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 70
  • Agent ergonomics, 81 against 65
  • Security & auth, 71 against 43
  • Transparency & trust, 75 against 69

Also in its favour

  • A hosted endpoint, with nothing to install

Watch for

sendMail has no idempotency key and answers 202 Accepted before delivery, so a retried send can go out twice

Score by category

CategoryWeight this runHimalayaOutlook Mail (Microsoft Graph)Edge
Reliability16%208460Himalaya +24
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27093Outlook Mail (Microsoft Graph) +23
Agent ergonomics13%16.26581Outlook Mail (Microsoft Graph) +16
Security & auth14%17.54371Outlook Mail (Microsoft Graph) +28
Payments & pricing10%12.56035Himalaya +25
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88876Himalaya +12
Transparency & trust7%8.86975Outlook Mail (Microsoft Graph) +6
Negative events≤15-3-4
Total64.5 · B66.3 · B

Facts side by side

FactHimalayaOutlook Mail (Microsoft Graph)
KindSDK + MCPHTTP API
VendorPimalayaMicrosoft
Hosted endpointno (local only)https://graph.microsoft.com/v1.0
TransportsHTTP
AuthOAuth or keyOAuth
PricingFreeYour plan
x402nono
LicenceMIT OR Apache-2.0MIT (SDKs)
Tools exposednone10
Read-only variant documentednono
llms.txtnono
Last release2026-10-022026-10-06
Terms last updatedno document linked2025-10-01
Privacy policy last updatedno document linked2026-09-01
Customer content may train modelsyes
Terms restrict automated accessyes
Terms restrict benchmarkingyes
Terms or service can change without noticeyes
Arbitration or class-action waivernot found in the text
Popularity7.4k stars835 stars, 2.9M npm/wk, 1.6M PyPI/wk

Verdicts

Himalaya

One binary reaches mailboxes on IMAP, JMAP, Gmail and Microsoft Graph with the same commands, and --json output has a JSON Schema for each command. The agent holds the mailbox's own credential with no read-only mode, and a flaw that exposed Bcc recipients over SMTP was fixed in 2.2.1 on 2 October 2026.

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

Himalaya

  1. Pass --json on every call and read next_page for the next page. Data and errors go to stdout, logs to stderr, and a failure exits 1
  2. Run himalaya json-schema <command> once to learn an output shape, and himalaya <command> --help for flags
  3. Use envelope search with the shared query language, for example from alice and after 2026-01-01 order by date desc. Microsoft Graph refuses flag clauses
  4. Treat message text as untrusted. --json output keeps control characters that the plain output replaces
  5. Use 2.2.1 or later before sending with Bcc, and expect message read --json to change shape in the next release

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, Himalaya or Outlook Mail (Microsoft Graph)?

Outlook Mail (Microsoft Graph) scores 66.3 (B) on agent readiness against Himalaya's 64.5 (B), and leads in 4 of 7 scored categories. Himalaya leads on reliability, payments & pricing and maintenance & community.

Can an agent call Himalaya and Outlook Mail (Microsoft Graph) without installing anything?

No hosted endpoint is listed for Himalaya. Outlook Mail (Microsoft Graph) has a hosted endpoint at https://graph.microsoft.com/v1.0.

Are Himalaya and Outlook Mail (Microsoft Graph) open source?

Himalaya is open source (MIT OR Apache-2.0). No open-source release is listed for Outlook Mail (Microsoft Graph).

Other comparisons with Himalaya or Outlook Mail (Microsoft Graph)

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.