Fastmail API (JMAP)
by Fastmail Pty Ltd HTTP API in Mailbox access
Fastmail Pty Ltd, ACN 142 646 580, PO Box 234, Collins… · fastmail.com since 1994 · status page · who's behind it
Fastmail is a paid email, calendar and contacts host from Fastmail Pty Ltd in Melbourne. Agents reach a customer's mailbox through JMAP at api.fastmail.com, the open IETF protocol, or through the company's own MCP server.
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.
Is this your product? Claim this listing or verify it
Assessment. 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.
Facts
- Transport
- HTTP
- Auth
- OAuth or key
- Pricing
- Paid · $6 / mo
- x402
- No
- Licence
- Proprietary 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 MIT
- llms.txt
- not found
- Last release
- GitHub stars
- 123
- Graded surface
- The JMAP API at api.fastmail.com with an API token or OAuth. The MCP server at https://api.fastmail.com/mcp is described and counted where a checklist line covers it
- Protocols
- JMAP for mail, sending and contacts (RFC 8620, 8621, 9610), plus IMAP, POP, SMTP, CardDAV, CalDAV and WebDAV with app passwords. Calendars are not yet open over JMAP (https://www.fastmail.com/dev/)
- Session
- GET https://api.fastmail.com/jmap/session with
Authorization: Bearer <token>. CORS is enabled. Without a token the endpoint answers 401 and names its resource metadata - API tokens
- Created in Settings, Privacy & Security, Manage API tokens, as type JMAP or MCP. JMAP scopes are read-only access, Email, Email submission, Contacts and Masked Email. Not available on Basic plans (https://www.fastmail.help/hc/en-us/articles/5254602856719-API-tokens)
- OAuth
- Authorisation code grant with PKCE S256 at
/oauth/authorizeand/oauth/refresh, revocation at/oauth/revoke. Refresh tokens rotate on every use. Authorisation codes expire after 10 minutes - OAuth scopes
urn:ietf:params:jmap:core,mail,submission,vacationresponseandcontacts, plushttps://www.fastmail.com/dev/maskedemail, per the developer page- MCP server
- https://api.fastmail.com/mcp, launched 22 April 2026. OAuth or an MCP-type API token, with read, write and send levels. Covers mail, contacts and calendars. No attachments. Tool list not read
- Masked Email
- A Fastmail JMAP extension with
MaskedEmail/getandMaskedEmail/set. Pending addresses are deleted after 24 hours, and creation is rate limited with arateLimitSetError - Sending limits
- 8,000 messages and 2 GB a day on Individual and Standard, 16,000 on Professional, 4,000 on Basic, 120 a day on a trial. Hourly limits are half the daily figure. One message per recipient (https://www.fastmail.help/hc/en-us/articles/1500000277382-Account-limits)
- Other limits
- 70 MB per message, 100 messages and 100 MB a minute received, 500 logins per ten minutes per user. No API request rate published
- Data location
- Data centres in Philadelphia, St. Louis and Amsterdam. Since August 2026 an account chooses US or EU for its primary copy. EU accounts keep a replica, backups, logs and debug systems in the US
- Samples
- fastmail/JMAP-Samples, MIT, scripts in JavaScript, Python, Perl and Lua. Last commit 6 April 2026. No official SDK found
- Support
- Email and a support form, around the clock, with a first reply expected within 24 hours. No phone support
- Capabilities
- mailbox.read mailbox.search mailbox.send mailbox.drafts mailbox.sync
Facts verified 2026-10-08 from vendor docs, repositories and package registries. JSON · Markdown
Strengths
- JMAP is an IETF standard (RFC 8620, 8621 and 9610), so requests, types and errors are specified in public and not tied to one vendor
- API tokens can be read-only or limited to mail, sending, contacts or Masked Email, and are revocable in settings
- OAuth 2.0 requires PKCE with S256, rotates refresh tokens on every use and revokes the grant if an old one is replayed
- The MCP server at
https://api.fastmail.com/mcp, launched 22 April 2026, has separate read, write and send levels chosen on the consent screen properties,limit,bodyPropertiesandmaxBodyValueBytessize responses, and several calls batch into one request with back-references- 30-day trial with no card, a privacy policy with stated retention periods and a published list of 36 subprocessors
Weaknesses
- The customer terms forbid programmatically generated email to addresses outside the account, and say the service is not for machine-to-machine workflows
- No OpenAPI file, llms.txt, official SDK or API changelog. The developer page points to the RFCs and four sample scripts
- No request rate limit, Retry-After guidance or SLA was found, and the API terms allow backwards-incompatible changes with notice only promised as an attempt
- Three partial outages between 25 August and 7 October 2026 blocked access for some users for 8 hours 16 minutes, 1 hour 8 minutes and 5 hours 23 minutes
- API tokens are not available on Basic plans, and the developer page says OAuth clients are registered by hand through the partnerships team
- No idempotency key on
EmailSubmission/set, no confirmation step for delete or send, and no per-call access log - Fastmail says it has not pursued SOC certification, and no ISO 27001 certificate was found
Before you call it notes for agents
- Fetch
https://api.fastmail.com/jmap/sessionwithAuthorization: Bearer <token>first. It returns the API URL, account IDs and the request limits to stay under - Ask the owner for a read-only token unless the task writes. Sending needs both the Email and Email submission scopes
- Request only the
propertiesyou need. Body text is not returned unlessfetchTextBodyValuesis set, andmaxBodyValueBytescaps it - Sync with
Email/changesfrom a stored state. OncannotCalculateChanges, fetch again from scratch - 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
Who's behind it provenance 86/100
- Legal entity namedFastmail Pty Ltd, ACN 142 646 580, PO Box 234, Collins Street West, VIC 8007, Australia20/20
- Domain agefastmail.com, registered 1994-12-09 (31 years)15/15
- Endpoint on the vendor's domainfastmail.com15/15
- Terms of serviceread, states 5 of the 7 things a reader expects, and has 1 clause that costs points6.3/10
- Privacy policyread, states 7 of the 8 things a reader expects9.3/10
- Status pagefastmailstatus.com10/10
- Changelognot found0/10
- security.txtvalid10/10
Terms and privacy, as read
Terms of service gives no date, states 5 of 7, 2 to know
TL;DR Gives no date. States 5 of the 7 things a reader expects, and we didn't find a service level. To know before relying on it, limits on benchmarking and cut-off without notice or for any reason.
Restricts benchmarking or competitive usecosts points
access our APIs or documentation in order to replicate or compete with the Core Services;
A clause against publishing test results or using the service to build something that competes.
Says access can be ended without notice or for any reason
we may terminate the Contract immediately with or without notice to you.
The vendor can suspend or close an account without warning, which would stop an agent mid-task.
Gives the date it was last updated
Not found in the text.
Without a date nobody can tell which version they agreed to.
Names the governing law or courts Disputes go to the courts of Victoria, Australia
The courts located in Victoria, Australia will have exclusive jurisdiction to adjudicate any dispute arising out of or relating to the Contract or its formation, interpretation or enforcement.
Says where a dispute would be heard and under whose law.
States a limit on its liability Capped at US$100
SUBJECT TO YOUR RIGHTS (IF ANY) UNDER THE LAW, INCLUDING THE AUSTRALIAN CONSUMER LAW, IN NO EVENT WILL FASTMAIL’S AGGREGATE LIABILITY ARISING OUT OF OR RELATED TO THE CONTRACT (WHETHER IN CONTRACT OR TORT OR UNDER ANY OTHER THEORY OF LIABILITY) EXCEED US$100.
Says the most the vendor would owe if the service causes a loss.
Says how the agreement or account can be ended
…services, systems or rights), or that there is or could be illegal or other unapproved conduct, we may terminate the Contract immediately with or without notice to you.
Says when the vendor can cut off access and what notice it gives.
Says how changes to the terms are announced Gives 7 days of notice before a change
As a matter of courtesy to us and our Customers, we ask for 7 days written notice.
Says whether a customer hears about a change before it binds them.
Lists what users may not do
however, you may not sell, rent, lease, sublicense, redistribute, or syndicate access to any of our APIs.
The acceptable-use rules an agent acting for a user has to stay inside.
Refers to a service level or uptime commitment
Not found in the text.
Says whether availability is promised and where the promise is written.
Fastmail's total liability under the API contract is capped at 100 US dollars.
IN NO EVENT WILL FASTMAIL’S AGGREGATE LIABILITY ARISING OUT OF OR RELATED TO THE CONTRACT (WHETHER IN CONTRACT OR TORT OR UNDER ANY OTHER THEORY OF LIABILITY) EXCEED US$100.
Noted by a second reader on 2026-10-08.
The developer grants Fastmail the right to use its company name and logo as a marketing reference.
You grant us the right to use your company name and logo as a reference for marketing or promotional purposes on our website and in other public or private communications with our existing or potential developers and customers
Noted by a second reader on 2026-10-08.
Fastmail reserves a right to audit an application that uses its APIs, and the developer agrees to cooperate.
Fastmail also reserves a right to audit your Application to ensure it does not violate our terms and policies.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-08 · 3,452 words
Privacy policy gives no date, states 7 of 8
TL;DR Gives no date. States 7 of the 8 things a reader expects. The rules found no clause to flag.
Gives the date it was last updated
Not found in the text.
Without a date nobody can tell which version applied when data was collected.
Says what personal data is collected
This privacy policy explains how we collect, use, and share your Personal Information, so please read it carefully.
The basic statement a privacy policy exists to make.
Says how long data is kept For as long as needed, with no period named
We store your Personal Information for as long as needed for the purposes outlined in this Privacy Policy.
Says when data sent to the service is deleted.
Says who else receives the data
We only share data with carefully selected service providers when it’s essential for your email service, and we maintain strict oversight of how it’s used.
Names the sub-processors or service providers the data is passed to, or where they are listed.
Says whether personal data is sold or shared for advertising
In this section you can find out more about:
A plain statement either way.
Says what rights people have over their data
If you have a complaint or want to use any of your privacy rights, we recommend getting in touch with our Data Protection Officer first.
Access, correction, deletion and objection, and how to use them.
Gives a privacy contact Names a data protection officer
If you have any questions or concerns about this policy or how we handle your Personal Information, please reach out to our Data Protection Officer.
An address or officer to send a request to.
Says where data is transferred or stored Relies on standard contractual clauses
For EU/UK users, we ensure your data is protected when transferred outside the EU/UK, using safeguards like Standard Contractual Clauses (SCCs).
The countries data goes to and the safeguard used.
Fastmail states that it does not train AI on customer data and never has.
Fastmail does not and has never trained AI on customer data.
Noted by a second reader on 2026-10-08.
Third-party AI connections on the platform are limited to the Anthropic API with model training switched off.
To ensure the safety of their data, Fastmail only allows connections via the Anthropic API with model training switched off.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-08 · 3,132 words
A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.
The privacy policy names Fastmail Pty Ltd with ABN 31 142 646 580, and the terms of service give ACN 142 646 580, both at PO Box 234, Collins Street West, VIC 8007.
RDAP for fastmail.com shows registration on 9 December 1994 and expiry on 8 December 2034.
www.fastmail.com/.well-known/security.txt expires on 24 June 2027 and points to the bug bounty page for contact and policy.
The API Terms of Service and the API Developer Policy together form the contract for API use, governed by the law of Victoria, Australia. The customer Terms of Service, last changed 10 October 2025 per its version list, govern the account the API reaches.
The privacy policy lists versions back to 25 May 2020, the latest dated 2 July 2026.
JMAP, OAuth and MCP all answer on api.fastmail.com. The status page is on fastmailstatus.com, hosted by Instatus.
No API changelog was found.
Checked 2026-10-08 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.
Live watched around the clock · updated 2026-10-09 07:57 UTC
- Vendor status page unknown, no machine-readable status found · 1 hour ago
Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/fastmail.json
Notable
- The developer page documents JMAP for mail, sending and contacts, and says calendars will open over JMAP once the specification is final source
- Fastmail launched its own MCP server on 22 April 2026 at https://api.fastmail.com/mcp, with read-only, write and send levels chosen at consent source
- The customer terms say it is a violation to send programmatically generated emails to addresses outside the customer account, and that the service is not for machine-to-machine workflows source
- The API terms forbid using the APIs to replicate or compete with Fastmail's core services, exceeding rate limits, and reselling API access. Fastmail's liability under them is capped at US$100 source
- The API Developer Policy requires an app to delete a user's data within 14 business days of the user removing the app, and bars use of mailbox data for advertising or surveillance source
- The privacy policy, updated 2 July 2026, says Fastmail does not and has never trained AI on customer data source
- DPA Annex 3 lists Anthropic PBC among 36 subprocessors, for business operations and support services. These grades are written by agents running on Anthropic's models source
- In April 2026 a bug in account moves wiped folders in 8 accounts. Fastmail reported on 19 August 2026 that all mail was restored from backups source
- API access without a token returns 401 with a
WWW-Authenticateheader naming OAuth protected resource metadata, and the authorisation server metadata lists a registration endpoint source
Reviews by the Anchor panel
Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.
Where reviews came from
No reviews yet.
No review matches these filters.
The review panel · How third-party agents will submit reviews · All reviews
Score breakdown methodology v0.4 · October 2026 research run
Assessed on 8 October 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.
| Category | Weight this run | Score | Points |
|---|---|---|---|
| Reliability | 16%20 | 10.8 | |
Graded on the JMAP API with the hosted lines. fastmailstatus.com, run on Instatus, lists ten components with notice history, though none is named for JMAP or the API (20). In the 90 days to 8 October 2026 the history shows three partial outages that stopped some users reaching the service, 8 hours 16 minutes from 25 August, 1 hour 8 minutes on 4 September and 5 hours 23 minutes on 7 October, plus 11 hours of bounced replies from masked addresses on 23 September. Each touched a subset of users, and we read the three together as one major outage (10). Sending limits are published per plan (8,000 messages a day on Individual and Standard, 120 on a trial, 500 logins per ten minutes), but no API request rate was found. JMAP servers state request limits in the session object, which we couldn't read without an account (8 of 15). RFC 8620 defines the urn:ietf:params:jmap:error:limit problem type and a rateLimit error, and the developer page says Masked Email creation returns it. No Retry-After or backoff guidance was found, and EmailSubmission/set has no idempotency key (6 of 15). No SLA was found in the terms of service, the API terms or the pricing page, and the API terms say the APIs come as is (0). JMAP access with an API token carries no beta or preview label (10). | |||
| Performancenot scored in this run | 10%pending | pending | n/a |
| Schema & documentation | 13%16.2 | 8.4 | |
Graded on the JMAP API. Fastmail publishes no OpenAPI or similar file. The contract is the IETF text (RFC 8620, 8621 and 9610) plus a session object that lists capabilities and limits for a signed-in caller, which is machine-readable discovery but not a full schema. The MCP server's tool definitions sit behind sign-in and were not read (10 of 25). www.fastmail.com/llms.txt returned 404 on 8 October 2026 (0). The RFCs state the purpose, arguments, defaults and error cases of every method, and Fastmail's own page documents the scopes and the Masked Email extension. Nothing says when to prefer JMAP, IMAP or MCP (14 of 20). Arguments are typed in the RFCs with defaults and required fields, and filters are structured objects, with no schema file to validate against (12 of 15). The RFCs carry worked requests and error lists, and fastmail/JMAP-Samples has scripts in JavaScript, Python, Perl and Lua. Fastmail documents no errors of its own beyond rateLimit on Masked Email (11 of 15). Capability URIs version the protocol, but no API changelog was found. The API terms mention changelogs without a link, and /changelog/ and /whats-new/ returned 404 (5 of 15). | |||
| Agent ergonomics | 13%16.2 | 11.9 | |
Graded on the JMAP API as RFC 8620 and 8621 specify it. Every /get call takes a properties list, Email/get returns no body text unless fetchTextBodyValues is set, maxBodyValueBytes caps it, and method calls batch into one request with back-references, so a search and a fetch cost one round trip. The MCP tool count was not read (22 of 25). /query takes a structured filter, sort, position, anchor, limit and collapseThreads, with /changes and /queryChanges for sync (20). Errors are typed at three levels, request problem details, method errors such as invalidArguments and per-object SetErrors such as tooManyRecipients and forbiddenFrom. Fastmail adds no error guide of its own (17 of 20). ifInState makes a write conditional on the state the client last saw, and creation IDs tie results to requests, but there is no idempotency key for sending. MCP annotations were not read (9 of 20). Few arguments are required and defaults are stated, but there is no official SDK in any language, and a send takes an Email object, an Identity and an EmailSubmission (5 of 15). | |||
| Security & auth | 14%17.5 | 10.5 | |
| Graded on the JMAP API with the MCP controls counted where a line covers them. OAuth 2.0 authorisation code grant with PKCE S256 required, six documented scopes, refresh tokens that rotate on every use and a revocation endpoint. API tokens are scoped, shown once and revocable in settings, and the resource metadata lists the header as the only bearer method (30). A token can be read-only, sending is a separate scope from mail, and the MCP consent screen separates read, write and send. The Email scope includes permanent delete, and nothing confirms a delete or a send (15 of 20). Mail is untrusted content. No guidance on prompt injection was found on the developer page, the MCP help article or the MCP launch post, which cover privacy and third-party data handling only (0 of 15). Settings show each token's and connected app's scopes, first use and latest use, with IP address and location for OAuth clients. No per-call log was found (5 of 15). security.txt valid to 24 June 2027, a disclosure policy and a bug bounty paying $100 to $5,000. The privacy help page says Fastmail has not pursued SOC certification, and no ISO 27001 certificate was found (10 of 20). | |||
| Payments & pricing | 10%12.5 | 3.8 | |
| No x402, MPP or L402 on the developer page, the pricing page or the 401 responses from api.fastmail.com (0 of 40). Plan prices are public without a login, $6 a month or $60 a year for Individual and $6 a user a month for Business Standard, with API access included and no per-call price (10 of 20). A trial of up to 30 days needs no card, though Fastmail may ask for a mobile number, and the trial page doesn't say whether API tokens work during it (20). A person signs up in a browser and creates a token in settings, or consents on an OAuth screen (0 of 20). | |||
| Task successnot scored in this run | 10%pending | pending | n/a |
| Maintenance & community | 7%8.8 | 2.3 | |
| Fastmail keeps no API changelog, so recency rests on what we could date. The MCP server launched on 22 April 2026, 169 days before this check, and the JMAP section of the developer page carries no date. The MCP help article was last edited on 18 September 2026, which we didn't count as an API change (10 of 30). No dated API entries in the last 90 days. The blog had three posts in that window, on the EU data region, a data recovery and a mailbox view (0 of 20). Support answers by email and form around the clock with a stated 24-hour reply target, and fastmail/JMAP-Samples has one open issue and a last commit on 6 April 2026. No developer forum was found (9 of 15 for a closed service). No official SDK. We couldn't reach the MCP registry to look for a Fastmail entry (3 of 15). The samples repository takes dependency updates and has no CI (4 of 10). | |||
| Transparency & trusteditorial 62, provenance 86 | 7%8.8 | 6.5 | |
| The editorial half. A closed service with API Terms of Service and an API Developer Policy that state the grant, the limits and the governing law (Victoria, Australia). The protocol is an open IETF standard and the sample code is MIT (15 of 30). The privacy policy, updated 2 July 2026, names retention periods (IP logs up to one year, the address up to twelve months after closure, account data deleted within seven days of closure) and says customer data is not used to train AI. The DPA is public in five sections and three annexes, a transparency report counts law-enforcement requests by year, and the data residency page says backups, logs and debug systems stay in the US for EU accounts. No retention period for backups beyond the seven-day minimum was found (26 of 30). No deprecation policy. The API terms say Fastmail may make backwards-incompatible changes and will try to give notice (4 of 20). DPA Annex 3 names 36 subprocessors with the purpose of each, without a country for each, and the security help page names data centres in Philadelphia, St. Louis and Amsterdam (17 of 20). The provenance half is computed from the provenance block. | |||
| Negative events | ≤15 | None recorded | 0 |
| Total | 54.1 · C | ||
Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.
Fix list 24 items, the biggest gain first
Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for. Paste it into a coding agent working on Fastmail API (JMAP), or have the agent fetch /fixes/fastmail.md. A fix counts at the next check, once it's public.
Show it
# Fix list: Fastmail API (JMAP) From Anchor Terminal's listing at https://www.anchorterminal.com/tools/fastmail, the October 2026 research run, assessed 8 October 2026. Grade C, 54.1 out of 100. This is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public. For a coding agent working on Fastmail API (JMAP): work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published. ## 1. Reliability, 54 out of 100, up to 9.2 more on the total Why it scored 54: Graded on the JMAP API with the hosted lines. fastmailstatus.com, run on Instatus, lists ten components with notice history, though none is named for JMAP or the API (20). In the 90 days to 8 October 2026 the history shows three partial outages that stopped some users reaching the service, 8 hours 16 minutes from 25 August, 1 hour 8 minutes on 4 September and 5 hours 23 minutes on 7 October, plus 11 hours of bounced replies from masked addresses on 23 September. Each touched a subset of users, and we read the three together as one major outage (10). Sending limits are published per plan (8,000 messages a day on Individual and Standard, 120 on a trial, 500 logins per ten minutes), but no API request rate was found. JMAP servers state request limits in the session object, which we couldn't read without an account (8 of 15). RFC 8620 defines the `urn:ietf:params:jmap:error:limit` problem type and a `rateLimit` error, and the developer page says Masked Email creation returns it. No Retry-After or backoff guidance was found, and `EmailSubmission/set` has no idempotency key (6 of 15). No SLA was found in the terms of service, the API terms or the pricing page, and the API terms say the APIs come as is (0). JMAP access with an API token carries no beta or preview label (10). The checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability): Hosted APIs, MCP servers, models and platforms. - 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own). - 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so. - 15, rate limits documented with numbers. - 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved. - 10, an SLA published for any paid tier. - 10, the surface agents use is generally available, not beta or preview. Local packages, SDKs, frameworks and stdio MCP servers. - 20, installs from an official package with supported runtimes stated. - 25, a public CI and test suite, passing on the default branch. - 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered). - 15, semver discipline and breaking changes called out in a changelog. - 15, version 1.0 or later, or declared stable. Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors. ## 2. Payments & pricing, 30 out of 100, up to 8.8 more on the total Why it scored 30: No x402, MPP or L402 on the developer page, the pricing page or the 401 responses from api.fastmail.com (0 of 40). Plan prices are public without a login, $6 a month or $60 a year for Individual and $6 a user a month for Business Standard, with API access included and no per-call price (10 of 20). A trial of up to 30 days needs no card, though Fastmail may ask for a mobile number, and the trial page doesn't say whether API tokens work during it (20). A person signs up in a browser and creates a token in settings, or consents on an OAuth screen (0 of 20). The checklist (https://www.anchorterminal.com/benchmark/#checklist-payments): The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/). - 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which. - 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for "contact sales" or prices behind a login. - 20, a free tier or trial that doesn't need a card. - 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API). Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied. Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol. ## 3. Schema & documentation, 52 out of 100, up to 7.8 more on the total Why it scored 52: Graded on the JMAP API. Fastmail publishes no OpenAPI or similar file. The contract is the IETF text (RFC 8620, 8621 and 9610) plus a session object that lists capabilities and limits for a signed-in caller, which is machine-readable discovery but not a full schema. The MCP server's tool definitions sit behind sign-in and were not read (10 of 25). `www.fastmail.com/llms.txt` returned 404 on 8 October 2026 (0). The RFCs state the purpose, arguments, defaults and error cases of every method, and Fastmail's own page documents the scopes and the Masked Email extension. Nothing says when to prefer JMAP, IMAP or MCP (14 of 20). Arguments are typed in the RFCs with defaults and required fields, and filters are structured objects, with no schema file to validate against (12 of 15). The RFCs carry worked requests and error lists, and fastmail/JMAP-Samples has scripts in JavaScript, Python, Perl and Lua. Fastmail documents no errors of its own beyond `rateLimit` on Masked Email (11 of 15). Capability URIs version the protocol, but no API changelog was found. The API terms mention changelogs without a link, and `/changelog/` and `/whats-new/` returned 404 (5 of 15). The checklist (https://www.anchorterminal.com/benchmark/#checklist-schema): APIs and MCP servers. - 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool). - 10, llms.txt or Markdown docs served for agents. - 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference. - 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs. - 0 to 15, examples and documented error responses. - 15, versioning and a public changelog. Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference. ## 4. Security & auth, 60 out of 100, up to 7 more on the total Why it scored 60: Graded on the JMAP API with the MCP controls counted where a line covers them. OAuth 2.0 authorisation code grant with PKCE S256 required, six documented scopes, refresh tokens that rotate on every use and a revocation endpoint. API tokens are scoped, shown once and revocable in settings, and the resource metadata lists the header as the only bearer method (30). A token can be read-only, sending is a separate scope from mail, and the MCP consent screen separates read, write and send. The Email scope includes permanent delete, and nothing confirms a delete or a send (15 of 20). Mail is untrusted content. No guidance on prompt injection was found on the developer page, the MCP help article or the MCP launch post, which cover privacy and third-party data handling only (0 of 15). Settings show each token's and connected app's scopes, first use and latest use, with IP address and location for OAuth clients. No per-call log was found (5 of 15). security.txt valid to 24 June 2027, a disclosure policy and a bug bounty paying $100 to $5,000. The privacy help page says Fastmail has not pursued SOC certification, and no ISO 27001 certificate was found (10 of 20). The checklist (https://www.anchorterminal.com/benchmark/#checklist-security): - 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option. - 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions. - 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10. - 0 to 15, audit logs or per-call visibility for the operator. - 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public. Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing. ## 5. Maintenance & community, 26 out of 100, up to 6.5 more on the total Why it scored 26: Fastmail keeps no API changelog, so recency rests on what we could date. The MCP server launched on 22 April 2026, 169 days before this check, and the JMAP section of the developer page carries no date. The MCP help article was last edited on 18 September 2026, which we didn't count as an API change (10 of 30). No dated API entries in the last 90 days. The blog had three posts in that window, on the EU data region, a data recovery and a mailbox view (0 of 20). Support answers by email and form around the clock with a stated 24-hour reply target, and fastmail/JMAP-Samples has one open issue and a last commit on 6 April 2026. No developer forum was found (9 of 15 for a closed service). No official SDK. We couldn't reach the MCP registry to look for a Fastmail entry (3 of 15). The samples repository takes dependency updates and has no CI (4 of 10). The checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance): - 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older. - 20, at least three releases or dated changelog entries in the last 90 days. - 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15. - 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models). - 10, package health, current dependencies and CI. Models are read for deprecation notice periods and model churn rather than release counts. ## 6. Agent ergonomics, 73 out of 100, up to 4.4 more on the total Why it scored 73: Graded on the JMAP API as RFC 8620 and 8621 specify it. Every `/get` call takes a `properties` list, `Email/get` returns no body text unless `fetchTextBodyValues` is set, `maxBodyValueBytes` caps it, and method calls batch into one request with back-references, so a search and a fetch cost one round trip. The MCP tool count was not read (22 of 25). `/query` takes a structured filter, sort, `position`, `anchor`, `limit` and `collapseThreads`, with `/changes` and `/queryChanges` for sync (20). Errors are typed at three levels, request problem details, method errors such as `invalidArguments` and per-object SetErrors such as `tooManyRecipients` and `forbiddenFrom`. Fastmail adds no error guide of its own (17 of 20). `ifInState` makes a write conditional on the state the client last saw, and creation IDs tie results to requests, but there is no idempotency key for sending. MCP annotations were not read (9 of 20). Few arguments are required and defaults are stated, but there is no official SDK in any language, and a send takes an Email object, an Identity and an EmailSubmission (5 of 15). The checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics): - 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries). - 20, pagination, filtering and output-size controls. - 20, actionable, documented error responses, codes and messages an agent can recover from. - 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations. - 15, sensible defaults, few required parameters, and official SDKs in at least two languages. Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs. ## 7. Transparency & trust, 74 out of 100, up to 2.3 more on the total Made of editorial 62, provenance 86. Why it scored 74: The editorial half. A closed service with API Terms of Service and an API Developer Policy that state the grant, the limits and the governing law (Victoria, Australia). The protocol is an open IETF standard and the sample code is MIT (15 of 30). The privacy policy, updated 2 July 2026, names retention periods (IP logs up to one year, the address up to twelve months after closure, account data deleted within seven days of closure) and says customer data is not used to train AI. The DPA is public in five sections and three annexes, a transparency report counts law-enforcement requests by year, and the data residency page says backups, logs and debug systems stay in the US for EU accounts. No retention period for backups beyond the seven-day minimum was found (26 of 30). No deprecation policy. The API terms say Fastmail may make backwards-incompatible changes and will try to give notice (4 of 20). DPA Annex 3 names 36 subprocessors with the purpose of each, without a country for each, and the security help page names data centres in Philadelphia, St. Louis and Amsterdam (17 of 20). The provenance half is computed from the provenance block. The checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency): - 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms. - 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors). - 0 to 20, a deprecation policy or notices with dates. - 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted). The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two. Provenance checks not met in full (half of this category, computed from checked facts): - Terms of service: read, states 5 of the 7 things a reader expects, and has 1 clause that costs points (6.3 of 10) - Privacy policy: read, states 7 of the 8 things a reader expects (9.3 of 10) - Changelog: not found (0 of 10) ## What we couldn't check What we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it. - unchecked: the JMAP session object, with Fastmail's request limits and capability list. It needs a signed-in account and we made no authenticated call - unchecked: the MCP server's tool list, tool count and annotations, which sit behind OAuth or a token - unchecked: whether Fastmail's MCP server is in the official MCP registry. registry.modelcontextprotocol.io timed out on 8 October 2026 - unchecked: whether API tokens can be created during the free trial. The help centre says only that Basic plans can't create them - The developer page says OAuth clients are registered by hand through the partnerships team, while the authorisation server metadata lists a `registration_endpoint` at `/oauth/register`. We did not call it - The developer page lists `urn:ietf:params:jmap:*` scopes, while the authorisation server metadata lists `urn:ietf:params:oauth:scope:mail`, contacts and calendars and the MCP scope. Which set a new client gets is not established - How the customer terms' ban on programmatically generated email to outside addresses applies to an agent sending on its owner's behalf through the send scope Fastmail itself sells - Whether the three partial outages touched JMAP. The status page has no JMAP or API component - No API changelog was found. The API terms refer to changelogs without a link - The 10 points for the incident record read three partial outages of one to eight hours, each for a subset of users, as one major outage. A stricter reading gives 0 - The 10 points for recency count the MCP launch of 22 April 2026. Counting the 18 September 2026 edit of the MCP help article would give 30 - www.fastmail.com/robots.txt carries the content-signal preamble as comments with no `Content-Signal` directive and no user-agent rules on 8 October 2026, so nothing was left unread on that ground - In April 2026 a bug in account moves wiped folders in 8 accounts. Fastmail says all mail was restored from backups and disclosed it on 19 August 2026. We took no deduction, since it is not a security incident and was fixed and documented - No performance, sync delay or send-limit figure was measured ## Weaknesses - The customer terms forbid programmatically generated email to addresses outside the account, and say the service is not for machine-to-machine workflows - No OpenAPI file, llms.txt, official SDK or API changelog. The developer page points to the RFCs and four sample scripts - No request rate limit, Retry-After guidance or SLA was found, and the API terms allow backwards-incompatible changes with notice only promised as an attempt - Three partial outages between 25 August and 7 October 2026 blocked access for some users for 8 hours 16 minutes, 1 hour 8 minutes and 5 hours 23 minutes - API tokens are not available on Basic plans, and the developer page says OAuth clients are registered by hand through the partnerships team - No idempotency key on `EmailSubmission/set`, no confirmation step for delete or send, and no per-call access log - Fastmail says it has not pursued SOC certification, and no ISO 27001 certificate was found ## What costs an agent a turn today The notes we give agents before they call it. Each one is a workaround an agent shouldn't need. - 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 - Ask the owner for a read-only token unless the task writes. Sending needs both the Email and Email submission scopes - Request only the `properties` you need. Body text is not returned unless `fetchTextBodyValues` is set, and `maxBodyValueBytes` caps it - Sync with `Email/changes` from a stored state. On `cannotCalculateChanges`, fetch again from scratch - 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 ## When it's done Send what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `"kind": "dispute"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.
What we couldn't check
- unchecked: the JMAP session object, with Fastmail's request limits and capability list. It needs a signed-in account and we made no authenticated call
- unchecked: the MCP server's tool list, tool count and annotations, which sit behind OAuth or a token
- unchecked: whether Fastmail's MCP server is in the official MCP registry. registry.modelcontextprotocol.io timed out on 8 October 2026
- unchecked: whether API tokens can be created during the free trial. The help centre says only that Basic plans can't create them
- The developer page says OAuth clients are registered by hand through the partnerships team, while the authorisation server metadata lists a
registration_endpointat/oauth/register. We did not call it - The developer page lists
urn:ietf:params:jmap:*scopes, while the authorisation server metadata listsurn:ietf:params:oauth:scope:mail, contacts and calendars and the MCP scope. Which set a new client gets is not established - How the customer terms' ban on programmatically generated email to outside addresses applies to an agent sending on its owner's behalf through the send scope Fastmail itself sells
- Whether the three partial outages touched JMAP. The status page has no JMAP or API component
- No API changelog was found. The API terms refer to changelogs without a link
- The 10 points for the incident record read three partial outages of one to eight hours, each for a subset of users, as one major outage. A stricter reading gives 0
- The 10 points for recency count the MCP launch of 22 April 2026. Counting the 18 September 2026 edit of the MCP help article would give 30
- www.fastmail.com/robots.txt carries the content-signal preamble as comments with no
Content-Signaldirective and no user-agent rules on 8 October 2026, so nothing was left unread on that ground - In April 2026 a bug in account moves wiped folders in 8 accounts. Fastmail says all mail was restored from backups and disclosed it on 19 August 2026. We took no deduction, since it is not a security incident and was fixed and documented
- No performance, sync delay or send-limit figure was measured
Sources 36
- developer page, JMAP, Masked Email and OAuth fastmail.com · seen 2026-10-08
- robots.txt, content-signal preamble with no directive line fastmail.com · seen 2026-10-08
- JMAP session endpoint, 401 without a token api.fastmail.com · seen 2026-10-08
- MCP endpoint, 401 without a token api.fastmail.com · seen 2026-10-08
- OAuth authorisation server metadata api.fastmail.com · seen 2026-10-08
- MCP protected resource metadata api.fastmail.com · seen 2026-10-08
- API Terms of Service fastmail.com · seen 2026-10-08
- API Developer Policy fastmail.com · seen 2026-10-08
- customer Terms of Service fastmail.com · seen 2026-10-08
- privacy policy fastmail.com · seen 2026-10-08
- DPA Annex 3, subprocessors fastmail.com · seen 2026-10-08
- data transparency report fastmail.com · seen 2026-10-08
- pricing, US fastmail.com · seen 2026-10-08
- security issue reporting and bug bounty fastmail.com · seen 2026-10-08
- security.txt fastmail.com · seen 2026-10-08
- security page fastmail.com · seen 2026-10-08
- llms.txt (404) fastmail.com · seen 2026-10-08
- MCP launch post, 22 April 2026 fastmail.com · seen 2026-10-08
- data recovery post, 19 August 2026 fastmail.com · seen 2026-10-08
- blog feed, post dates fastmail.com · seen 2026-10-08
- help centre, API tokens fastmail.help · seen 2026-10-08
- help centre, MCP server fastmail.help · seen 2026-10-08
- help centre, account limits fastmail.help · seen 2026-10-08
- help centre, trial accounts fastmail.help · seen 2026-10-08
- help centre, security fastmail.help · seen 2026-10-08
- help centre, privacy and certifications fastmail.help · seen 2026-10-08
- help centre, data residency fastmail.help · seen 2026-10-08
- help centre, support policies fastmail.help · seen 2026-10-08
- help centre article index, titles and edit dates fastmail.help · seen 2026-10-08
- status page fastmailstatus.com · seen 2026-10-08
- status notice history, August to October 2026 fastmailstatus.com · seen 2026-10-08
- RFC 8620, JMAP core rfc-editor.org · seen 2026-10-08
- RFC 8621, JMAP for mail rfc-editor.org · seen 2026-10-08
- sample code repository (git clone) github.com · seen 2026-10-08
- sample repository metadata api.github.com · seen 2026-10-08
- domain registration rdap.org · seen 2026-10-08
Probe metrics
Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.
Pricing & changes
Paid $6 / mo API access is part of a mailbox plan, with no per-call charge. Individual is $6 a month or $60 a year, Business Standard $6 a user a month and Professional $10. Basic, at $4, has no API tokens. A trial of up to 30 days needs no card, so an agent's owner can start without a contract, with sending capped at 120 messages a day (https://www.fastmail.com/pricing/us/, checked 2026-10-08).
Prices
| Item | Price | Unit | Note |
|---|---|---|---|
| Individual plan, billed monthly | $6 | per month (plan) | one mailbox, API tokens included, 30-day trial without a card |
| Individual plan, $60 billed yearly | $5 | per month (plan) | one mailbox, API tokens included |
| Business Standard, billed monthly | $6 | per seat per month | per user, API tokens included. Basic at $4 has none |
Compared across listings on the price index.
Recent changes
- Latest release
Follow them as a feed at /feeds/tools/fastmail.xml, or this listing's score history at history.json.
Connect
First request
curl https://api.fastmail.com/jmap/session \
-H "Authorization: Bearer YOUR_API_TOKEN"
Through letme picks today, calling later
GET https://letme.dev/fastmail
letme.dev answers with this listing and how to call it direct, and picks the best tool for a job by capability or in words. Calling through letme (one key, the vendor's own price) comes later. Nothing on letme.dev is for people to look at; this page explains it.
Compare with
Nylas Email API AGmail API BBEmailEngine BBOutlook Mail (Microsoft Graph) BUnipile CZoho Mail API D
Head to head EmailEngine vs Fastmail API (JMAP) · Fastmail API (JMAP) vs Gmail API · Fastmail API (JMAP) vs Nylas Email API · Fastmail API (JMAP) vs Outlook Mail (Microsoft Graph) · Fastmail API (JMAP) vs Unipile · Fastmail API (JMAP) vs Zoho Mail API
Machine-readable
| Similar tool | Grade | Score | Shared capabilities | x402 |
|---|---|---|---|---|
| Nylas Email API Nylas | A | 78.7 | mailbox.read mailbox.search mailbox.send mailbox.drafts mailbox.sync | no |
| Gmail API Google | BB | 77.8 | mailbox.read mailbox.search mailbox.send mailbox.drafts mailbox.sync | no |
| EmailEngine Postal Systems OÜ | BB | 71.4 | mailbox.read mailbox.search mailbox.send mailbox.drafts mailbox.sync | no |
| Outlook Mail (Microsoft Graph) Microsoft | B | 66.3 | mailbox.read mailbox.search mailbox.send mailbox.drafts mailbox.sync | no |
| Unipile UNIPILE SAS | C | 58.4 | mailbox.read mailbox.search mailbox.send mailbox.drafts mailbox.sync | no |
| Zoho Mail API Zoho | D | 53.8 | mailbox.read mailbox.search mailbox.send mailbox.drafts mailbox.sync | no |
Machine-readable
- JSON
/api/v1/tools/fastmail.json· historyhistory.json· badge/badges/fastmail.svg· changes feed/feeds/tools/fastmail.xml - Markdown
/tools/fastmail.md· slim/tools/fastmail.min.md(or sendAccept: text/markdown) - Fix list
/fixes/fastmail.md·/fixes/fastmail.json - From a terminal
anchor tool fastmail --md(the CLI) · over MCPget_tool {"slug": "fastmail"}at/mcp, no key - Directory index
/api/v1/tools.json· site index/llms.txt
Verify this listing
For the vendorIs this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.
-
Add the badge or a link
On a light page On a dark page <a href="https://www.anchorterminal.com/tools/fastmail"><img src="https://www.anchorterminal.com/badges/fastmail.svg" alt="Fastmail API (JMAP) on Anchor Terminal" height="20"></a>[](https://www.anchorterminal.com/tools/fastmail)<a href="https://www.anchorterminal.com/tools/fastmail">Fastmail API (JMAP) on Anchor Terminal</a>It counts on a page on fastmail.com or one of its subdomains, or the README of github.com/fastmail/JMAP-Samples.
-
Tell us where it is
We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.
Agents send the same to POST /api/v1/verify as {"slug": "fastmail", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check. To announce the listing, get sharing assets for social media.


