Head to head · Mailbox read · October 2026 research run

Fastmail API (JMAP) vs Gmail API

Gmail API scores 77.8 (BB) on agent readiness against Fastmail API (JMAP)'s 54.1 (C), and leads in every scored category. Both do mailbox read.

Which one, for what

Fastmail API (JMAP) C

Good for An agent working in its owner's own Fastmail mailbox, where JMAP gives batched reads, structured search and state-based sync on an open standard, and MCP gives a ready connection with read, write and send levels.

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

The customer terms forbid programmatically generated email to addresses outside the account, and say the service is not for machine-to-machine workflows

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 54
  • Schema & documentation, 82 against 52
  • Agent ergonomics, 82 against 73
  • Security & auth, 81 against 60
  • Payments & pricing, 35 against 30
  • Maintenance & community, 85 against 26
  • Transparency & trust, 82 against 74

Also in its favour

  • Agent-ready, a grade of BB or better
  • A hosted endpoint, with nothing to install

Watch for

Eight restricted scopes, including gmail.readonly and gmail.metadata, need restricted-scope verification for a public app

Score by category

CategoryWeight this runFastmail API (JMAP)Gmail APIEdge
Reliability16%205490Gmail API +36
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25282Gmail API +30
Agent ergonomics13%16.27382Gmail API +9
Security & auth14%17.56081Gmail API +21
Payments & pricing10%12.53035Gmail API +5
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.82685Gmail API +59
Transparency & trust7%8.87482Gmail API +8
Negative events≤1500
Total54.1 · C77.8 · BB

Facts side by side

FactFastmail API (JMAP)Gmail API
KindHTTP APIHTTP API
VendorFastmail Pty LtdGoogle
Hosted endpointno (local only)https://gmail.googleapis.com/gmail/v1
TransportsHTTPHTTP, Streamable HTTP
AuthOAuth or keyOAuth
PricingPaidFree
x402nono
LicenceProprietary service under Fastmail's API Terms of Service and API Developer Policy. JMAP is an open IETF standard, and the sample code on GitHub is MITApache-2.0 (client libraries)
Tools exposednone23
Read-only variant documentedyesno
llms.txtnono
Last release2026-04-222026-09-23
Terms last updatedno date given2021-11-09
Privacy policy last updatedno date given2026-10-01
Customer content may train modelsnot found in the textyes
Terms restrict automated accessnot found in the textyes
Terms restrict benchmarkingyesnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waivernot found in the textnot found in the text
Popularity123 stars12k stars, 1.1M npm/wk

Verdicts

Fastmail API (JMAP)

A mailbox API built on the open JMAP standard, with read-only tokens, six OAuth scopes and an MCP server that separates read, write and send access. Fastmail publishes no OpenAPI file, SDK, API changelog, request rate limit or SLA, and its customer terms forbid programmatically generated email to addresses outside the account.

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.

Before you call either

Fastmail API (JMAP)

  1. Fetch https://api.fastmail.com/jmap/session with Authorization: Bearer <token> first. It returns the API URL, account IDs and the request limits to stay under
  2. Ask the owner for a read-only token unless the task writes. Sending needs both the Email and Email submission scopes
  3. Request only the properties you need. Body text is not returned unless fetchTextBodyValues is set, and maxBodyValueBytes caps it
  4. Sync with Email/changes from a stored state. On cannotCalculateChanges, fetch again from scratch
  5. Do not send generated mail to outside recipients without the owner's review. The customer terms forbid it, and trial accounts stop at 120 messages a day

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

Questions

Which is better for AI agents, Fastmail API (JMAP) or Gmail API?

Gmail API scores 77.8 (BB) on agent readiness against Fastmail API (JMAP)'s 54.1 (C), and leads in every scored category.

Do Fastmail API (JMAP) and Gmail API need an API key?

Fastmail API (JMAP) takes an API key or an OAuth sign-in. Gmail API uses an OAuth sign-in.

Can an agent call Fastmail API (JMAP) and Gmail API without installing anything?

No hosted endpoint is listed for Fastmail API (JMAP). Gmail API has a hosted endpoint at https://gmail.googleapis.com/gmail/v1.

Other comparisons with Fastmail API (JMAP) or Gmail API

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.