Developer Docs Platforms Arena
Developer Docs Platforms — procurement report
ProductArena · rankings as of 2026-09-16 · evidence as of 2026-09-16 · 5 products · 53 judged requirements · 265 judged cells
Methodology: Every product is judged against a shared taxonomy of user stories using cited evidence — hands-on probes > repository code > independent community sources > vendor claims — never opinion. Full writeup: https://ultrametric.ai/productarena/methodology
Leaderboard
| # | Product | PA Score | Coverage score | Applicable cells | Confidence |
|---|---|---|---|---|---|
| 1 | Fern | 43.1 | 41.5 | 50/53 | B |
| 2 | Mintlify | 38.4 | 43.4 | 53/53 | C |
| 3 | GitBook | 31.6 | 39.2 | 51/53 | B |
| 4 | Docusaurus | 30.2 | 30.4 | 33/53 | B |
| 5 | ReadMe | 27.8 | 36.6 | 51/53 | B |
PA Score = agent-readiness blend (see methodology). Coverage score = weighted share of judged requirements met. Confidence = how much of the score rests on tested vs claimed evidence (A–D).
Uncertainty note
The current #1/#2 gap in this arena is not close enough to qualify for the multi-judge uncertainty pass (or the pass has not covered it yet) — no extra caveat applies beyond the per-product confidence grades above.
Buyer checklist (RFP)
The arena's 53 judged user stories as requirements, grouped by theme. Priorities mirror the story weights our scoring uses (3 = must-have, 2 = should-have, 1 = nice-to-have). Interactive version with per-requirement verdicts for the top products: /arena/docs-platforms/checklist
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
- ai-native userPlug MCP servers into this product so it can use their toolsmust-have
- ai-native userConnect an agent via an official MCP servermust-have
- ai-native userDrive the product through a documented public APImust-have
- ai-native userDelegate tasks to a built-in AI assistant inside the productmust-have
- ai-native userPoint an agent at llms.txt or agent-oriented docsshould-have
- ai-native userRun the product headlessly / in CI for automationshould-have
- ai-native userUse an official CLIshould-have
- ai-native userIssue scoped/least-privilege API credentials for an agentshould-have
- ai-native userBuild against official SDKsshould-have
- ai-native userSubscribe to events via webhooksshould-have
- ai-native userGet AI-generated insights and suggestions from my data inside the productshould-have
- ai-native userSet up automations that run autonomously in the backgroundshould-have
- ai-native userOperate the product with natural-language commandsshould-have
- ai-native userExplore an interactive API reference with runnable examplesshould-have
- ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)should-have
- ai-native userRely on versioned APIs with a documented deprecation policyshould-have
- ai-native userTest against a sandbox environment without touching production datanice-to-have
Ai docs — stories about ai docs in this arenaAi docs
Stories about ai docs in this arena
- ai-native userMy published docs site exposes its own MCP server that my users' agents can query for search and page contentmust-have
- ai-native userMy published docs site automatically serves llms.txt (and a full-content variant) so agents can index itmust-have
- ai-native userEvery published page serves clean markdown at its URL (e.g. appending .md) so agents skip the HTMLmust-have
- ai-native userAn embedded AI assistant on my docs site answers reader questions with citations into my contentshould-have
- ai-native userA platform AI agent drafts, updates, and reviews my docs — from a prompt, a PR, or a schedule — and ships its work as change requestsshould-have
Analytics insights — stories about analytics insights in this arenaAnalytics insights
Stories about analytics insights in this arena
- ai-native userMy docs analytics distinguish AI-agent traffic from human traffic so I can see who — or what — is actually readingshould-have
- devrel leadI see page views, search terms, and reader feedback so I know which docs work and which failshould-have
Api reference — stories about api reference in this arenaApi reference
Stories about api reference in this arena
- developerMy API reference pages are generated from an OpenAPI spec and stay in sync when the spec changesmust-have
- developerReaders can try real API calls from an interactive playground embedded in the reference docsshould-have
Authoring editing — stories about authoring editing in this arenaAuthoring editing
Stories about authoring editing in this arena
- technical writerI author pages in Markdown/MDX with rich components — tabs, callouts, code groups, steps — without writing custom HTMLmust-have
- technical writerNon-technical teammates can edit docs in a visual web editor without touching git, and their changes flow into the same source of truthshould-have
- technical writerAutomated checks lint my content against a style guide and flag issues before they publishshould-have
- technical writerReusable snippets and variables keep repeated content in sync across pagesnice-to-have
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
- ai-native userDefine rules that trigger actions automatically on eventsmust-have
- ai-native userPerform bulk operations across many items at onceshould-have
- ai-native userSchedule recurring jobs or workflowsshould-have
- ai-native userVersion, review, and roll back my automationsnice-to-have
Collaboration review — stories about collaboration review in this arenaCollaboration review
Stories about collaboration review in this arena
- technical writerTeammates propose changes that go through review — comments, approvals, and a merge step — before they publishshould-have
Customization — bending the product to your needs — settings, theming, extension pointsCustomization
Bending the product to your needs — settings, theming, extension points
- devrel leadI customize themes, fonts, and layout — down to custom CSS/JS or my own components — so the docs match my brandshould-have
Docs as code — stories about docs as code in this arenaDocs as code
Stories about docs as code in this arena
- developerMy docs live in my own git repository — branches, pull requests, and merges drive what gets publishedmust-have
- developerEvery docs pull request gets a shareable preview deployment before it mergesshould-have
- developerCI validation catches broken links and invalid configuration before the site publishesshould-have
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
- ai-native userExport all of my data in open formats and leavemust-have
- ai-native userSelf-host the core productmust-have
- ai-native userDo everything through the API that I can do in the UIshould-have
- ai-native userRead the product's source under an open licenseshould-have
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
- ai-native userPrevent my data from being used to train AI modelsmust-have
- ai-native userChoose where my data is stored (region/residency)should-have
- ai-native userControl data retention and deletionshould-have
- ai-native userOpt out of telemetry and usage trackingshould-have
Publishing hosting — stories about publishing hosting in this arenaPublishing hosting
Stories about publishing hosting in this arena
- devrel leadI serve docs on my own custom domain or as a /docs subpath of my main siteshould-have
- developerExport my entire docs site as a static bundle and host it anywhere, so my content is never locked inshould-have
- devrel leadI gate some or all docs behind authentication — password, JWT, or SSO — for customers-only contentnice-to-have
Search discovery — stories about search discovery in this arenaSearch discovery
Stories about search discovery in this arena
- developerReaders get fast, typo-tolerant, relevance-ranked search over the whole docs site out of the boxmust-have
Versioning localization — stories about versioning localization in this arenaVersioning localization
Stories about versioning localization in this arena
- developerI publish versioned documentation per product or API version, and readers switch versions from the sitemust-have
- technical writerI publish my docs in multiple languages with translated navigation and contentnice-to-have
Appendix: recorded probes
Hands-on probe recordings — transcripts/videos a human can replay, the strongest evidence tier. Watch them at https://ultrametric.ai/productarena/proofs
- Docusaurus
mktemp -d && npx -y create-docusaurus@latest pa-probe classic --typescript --skip-install && ls pa-probeterminal · recorded 2026-09-08 · exit 0 - Fern
npx -y fern-api --versionterminal · recorded 2026-09-08 · exit 0 - Fern
curl -s -X POST https://buildwithfern.com/learn/_mcp/server -H 'Content-Type: application/json' -d '<jsonrpc initialize>' # the docs MCP server Fern generates, on its own docsterminal · recorded 2026-09-08 · exit 0 - Fern
curl -s https://buildwithfern.com/openapi.json | head -c 500terminal · recorded 2026-09-08 · exit 0 - Fern
curl -s https://buildwithfern.com/llms.txt | head -8terminal · recorded 2026-09-08 · exit 0 - Fern
curl -sL https://buildwithfern.com/learn/docs/ai-features/llms-txt.md | head -6terminal · recorded 2026-09-08 · exit 0 - GitBook
curl -s -X POST 'https://gitbook.com/docs/~gitbook/mcp' -H 'Content-Type: application/json' -d '<jsonrpc initialize>' # the MCP server GitBook auto-generates for every published site, on its own docsterminal · recorded 2026-09-08 · exit 0 - GitBook
curl -si -X POST https://mcp.gitbook.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-08 · exit 0 - GitBook
curl -sL https://gitbook.com/docs/llms.txt | head -6terminal · recorded 2026-09-08 · exit 0 - GitBook
curl -sL https://gitbook.com/docs/getting-started/quickstart.md | head -5terminal · recorded 2026-09-08 · exit 0 - Mintlify
curl -si -X POST https://mcp.mintlify.com -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-08 · exit 0 - Mintlify
npx -y mint --help | head -16terminal · recorded 2026-09-08 · exit 0 - Mintlify
curl -s -X POST https://www.mintlify.com/docs/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>' # the per-site MCP server Mintlify ships for every customer, on its own docsterminal · recorded 2026-09-08 · exit 0 - Mintlify
curl -s -X POST https://index.mintlify.com -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-08 · exit 0 - Mintlify
curl -s https://www.mintlify.com/docs/llms.txt | head -6 # the vendor drinks its own champagneterminal · recorded 2026-09-08 · exit 0 - Mintlify
curl -sL https://www.mintlify.com/docs/quickstart.md | head -8terminal · recorded 2026-09-08 · exit 0 - ReadMe
npx -y rdme --versionterminal · recorded 2026-09-08 · exit 0 - ReadMe
curl -s -X POST https://docs.readme.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>' # the per-project MCP server ReadMe ships, on its own docsterminal · recorded 2026-09-08 · exit 0 - ReadMe
curl -sL 'https://docs.readme.com/llms.txt?query=mcp+server' | head -12 # llms.txt with built-in search, on ReadMe's own docsterminal · recorded 2026-09-08 · exit 0 - ReadMe
curl -sL https://docs.readme.com/main/docs/your-projects-mcp-server.md | head -12terminal · recorded 2026-09-08 · exit 0
Cite as: ProductArena by Ultrametric Inc, Developer Docs Platforms arena, rankings as of 2026-09-16 — https://ultrametric.ai/productarena/arena/docs-platforms
License: © 2026 Ultrametric Inc. Brief quotation of individual verdicts, scores, or evidence excerpts is permitted with attribution to "ProductArena by Ultrametric Inc (ultrametric.ai/productarena)", as is use of the data to evaluate, contest, or contribute corrections. Bulk copying, redistribution, or use to build competing datasets requires prior written permission (see DATA-LICENSE in the repository).
No liability: rankings, verdicts, and scores are research outputs derived from the cited evidence at a point in time, provided "as is", without warranties. Ultrametric Inc accepts no responsibility for procurement, purchasing, or other decisions made in reliance on them — verify against the cited evidence before acting (https://ultrametric.ai/productarena/terms).