How it compares

How it compares ​

There are good hosted answer services for documentation, and this page is not going to pretend otherwise. What it is going to do is name the one architectural difference the rest of the differences fall out of, put the products side by side on it, and then say plainly where the hosted services are the better buy.

Checked August 2026 — verify before you quote it

Every column but the first describes somebody else's product, and products move. Each is sourced at the bottom of this page. Where a vendor does not document something, this page says not documented rather than guessing, and not documented is not the same as "no".

Prices are quoted from the vendor's own pricing page, or marked not published when there is nothing on it to quote. Exactly one figure on this page comes from third parties and it is labelled where it appears — Mintlify's Pro monthly price, because their pricing page renders the number as an animated counter rather than as text.

The one difference ​

DocPilot does retrieval in the reader's browser, against a static file you built. Every other product on this page does retrieval on a server — theirs, or one you run for them.

That is not a small implementation detail, because six things follow from it:

  • there is no index to keep in sync with a vendor, because the index is a file in your public/ directory;
  • an off-topic question can be settled for free, because the decision is arithmetic in the browser rather than a request somebody bills;
  • reader questions reach exactly one third party — the model provider whose key you configured — instead of two;
  • the thing you deploy is a static asset, so its failure mode is a 404 rather than an outage;
  • the gate's thresholds can be measured against your corpus, because the gate is code you run;
  • and it is MIT, so the answer to "what if you disappear" is that the file is still in your repository.

The cost side of that trade is real too, and it is in What DocPilot is worse at.

Price ​

What each of them publishes ​

Quoted from the vendor's own pricing page, and where a vendor publishes no figure this says not published rather than repeating one from a review site.

published pricewhat that figure is
DocPilot$0MIT. No vendor, no plan, no seat, no per-answer fee, and nothing in this project bills anything. The bill you do get is your model provider's — see below.
Algolia Ask AI$0.50 per additional 1K search requests (Grow) · $1.75 (Grow Plus) · $0.40 per additional 1K recordsThe Algolia plan's overage rate, with 10K search requests and 50K–100K records included depending on plan; Elevate is contact-sales. Ask AI is not line-itemed on the pricing page at all — it rides on the plan those requests are metered against, plus an LLM key of your own, because it is bring-your-own-model. DocSearch stays free for qualifying public technical documentation, in exchange for keeping the "Search by Algolia" logo beside the results.
kapa.ainot publishedA 14-day trial on one index; Growth and Enterprise are both "Talk to us". Third parties report a platform fee plus answer volume, which is a shape rather than a price, so it is not repeated here as one.
Inkeepfree, self-hostedThe open-source core is "free forever" with community support. The managed Enterprise plan is not published — the page offers a demo booking instead.
Mintlify AI≈$0.23 an answer past the included allowanceTwo published numbers multiplied: an assistant response averages 23 credits, and overage is $0.01 per credit. Pro includes 10,000 credits a month; add-on bundles are 15,000/$145, 40,000/$370 and 90,000/$800. Starter is free and has no AI features. The Pro plan's own monthly figure is reported at $450 billed annually or $540 billed monthly — that one is third-party, because Mintlify's pricing page renders the number as an animated counter rather than as text.
Oramafree, self-hostedOramaJS is Apache 2.0 and runs in the browser, on a server, or at the edge. Orama Cloud Pro is described as "a flat monthly price" with the amount not published; Zetta is contact-sales.

And what $0 does not cover ​

DocPilot bills nothing and has no hosted half to bill from: no account, no service, no telemetry — the only URL the panel fetches that this project controls is your own index file. But the line is free software, not free answers, and the project's own documentation opens its cost section with "It is worth being clear about the price, because there is one."

  • A model provider key. One key is the whole configuration, and it is yours, billed by them, at their rate. Choosing providers.
  • Or the free tier, which is a real ceiling. With nothing set, the chain falls through to OpenRouter's free tier: one key, no card — and 50 requests a day under 10 credits bought. That meters requests, not tokens, and one turn is an embedding request plus two or three model calls, so fifty is a dozen-odd questions. budget.
  • Rebuilding the index draws on the same allowance — but only for what changed. Vectors are cached by model and by chunk text, so editing one page costs one embedding request rather than one per 32 chunks of the corpus. A first build, or an embedder swap, still pays in full.
  • The proxy route spends money per request and is reachable by anyone who can load the page. A per-IP rate limit and a body cap are part of shipping it.
  • No support contract and no SLA. It is an MIT package, and that cuts both ways.

How the money is arranged ​

DocPilotAlgolia Ask AIkapa.aiInkeepMintlify AIOrama Cloud
Paid to the vendornothing — there is no vendoryour Algolia plan, metered on search requests and records indexedplatform fee plus answer volume, quotedquoted; the self-hosted core is freeyour Mintlify plan, plus AI credits per answeryour Orama plan; the OSS core is free
Paid to a model provideryours, directlyyours, directly — Ask AI is bring-your-own-LLMincluded in the platform feeyours, directlyincluded in the creditsyours, directly
Whose API keyyoursyourskapa'syoursMintlify'syours, via Secure Proxy
An off-topic question costsone model call by default — its own citation contract refuses it, in any language; guard.mode: 'calibrated' moves that to zero model calls on a corpus you calibrated a threshold againstnot documentednot documentednot documentednot documentednot documented
Free path to a running panelyes — the provider chain falls through to OpenRouter's free tier, one key, no cardAlgolia has a free plan; DocSearch is free for qualifying public technical docs14-day trialfree if you self-hostno — Starter has no AIfree with the OSS library and your own key

The row nobody else fills in is the off-topic one. A support-deflection widget answers a great many questions that were never about your product, and on a per-answer contract you pay for each of them — at Mintlify's published rate, roughly 23 cents each. The refusal gate is where a per-corpus, zero-cost version of that decision is available, and npx docpilot calibrate is what measures it against your corpus rather than someone else's — it ships off by default because the threshold it needs is per language too, and a reader's language is not something a threshold can see.

Architecture ​

DocPilotAlgolia Ask AIkapa.aiInkeepMintlify AIOrama Cloud
Where retrieval runsthe reader's browserAlgolia's cloudkapa's cloudtheir cloud, or your infraMintlify's cloudOrama's cloud — or the browser, with the OSS library
Index the reader downloads1-bit vectors, one bit per dimension — 430 KB for this site's 859 chunks at 4096 dimensionsn/a — the index is theirsn/a — the index is theirsn/a — the index is theirsn/a — the index is theirsn/a, unless you ship an OSS bundle
Retrieval modelhybrid — BM25 over the chunk text and cosine over the vectors, fused by Reciprocal Rank Fusionkeyword; NeuralSearch is listed on Elevatenot documentednot documentednot documentedfull-text, vector and hybrid
Where the index livesa static file on the host already serving your sitean Algolia indexkapa's platformtheir platform, or self-hostedthe Mintlify platformOrama Cloud, or a bundle you ship
Server you must runone reverse-proxy route that attaches the model keynonenonenone, unless you self-hostnonenone — Secure Proxy fronts the model call
Self-hostablethere is nothing to hostnonoyes — source-available, fair-codenoyes — the OSS core is Apache 2.0
LicenseMITproprietary SaaSproprietary SaaSfair-code core + managed planproprietary platformApache 2.0 core + managed cloud
Works on a page that is not a docs siteyes — a script tag is the whole requirementyes — the DocSearch snippet is a script tagyes — one JS snippetyesno — the assistant is part of the Mintlify docs platformyes
Index is a diffable build artefactyes — identical input, byte-identical outputnononot documentednoships as a bundle if you use the OSS library

What reaches the reader ​

This is the half that decides whether an answer is trustworthy, and it is the half that is hardest to compare, because most vendors describe the feature ("grounded", "with citations") rather than the mechanism.

DocPilotAlgolia Ask AIkapa.aiInkeepMintlify AIOrama Cloud
Refusal decided before the model is calledopt-in — a calibrated relevance floor on the retrieval side, guard.mode: 'calibrated'not documentednot documentednot documentednot documentednot documented
Refusal threshold measured against your corpusyes — npx docpilot calibrate, and until it runs every record says the values are provisionalnot documentednot documentednot documentednot documentednot documented
Sources shown with the answeryesyesyesyesyesyes
Every citation checked against what the host retrieved that turnyes, by host code no message can reachnot documentednot documentednot documentednot documentednot documented
Invented links removed before renderyes — de-linked in the markdown-it token streamnot documentednot documentednot documentednot documentednot documented
A/B two retrieval configurations offlineyes — npx docpilot bench, no API key needednot documentednot documentednot documentednot documentednot documented
Sweep the retrieval levers against a golden setyes — npx docpilot tunenot documentednot documentednot documentednot documentednot documented

The four guarantees, in the exact words the README and the reference also use, are in What it guarantees — including the paragraph saying what they are not, which is a security boundary.

The chat itself ​

Every product here renders a chat. What differs is how much of it is yours.

DocPilothosted answer services
Scope the question to a page or a sectionyes — a picker in the composer, with a filterable page listnot documented
Select a passage on the page and ask about ityesnot documented
Show the model's own instruction to the readeryes — prompt.show, including the tool definitionsno
Let the reader add their own instruction for a turnyes — prompt.allowAppend, never merged into the system promptno
Conversation historyin the reader's own localStorage; nothing is sent anywheretypically vendor-side, and therefore also an analytics surface
Reader feedbackposted to an endpoint you own, or kept on the devicevendor dashboard
Reader-facing strings replaceableall 185 of them, one at a time, in 26 groupsvendor's locales
Question containing an API keyredacted in the browser, before the embedding callnot documented

Everything in that first column is described, one feature at a time, in The assistant panel.

What DocPilot is worse at ​

A comparison page that ends with the author winning every row is a comparison page nobody should believe. These are the reasons to buy one of the others.

It indexes what you can put in a directory. Markdown, OpenAPI, and imported pages you allowlist one URL at a time. kapa.ai connects to fifty-odd source types — GitHub, Slack, Discord, Zendesk, Confluence, PDFs, YouTube — and that is a genuinely different product. If your answers need to come from three years of support tickets, this is not the tool.

The reader downloads the index. Small for a documentation site, and worth measuring before it is not; a server-side index costs the reader nothing but the question. The numbers, and the scale at which they stop working, are in Building the index.

Nobody is tuning it for you. Calibration, the golden set, the evals — that loop is yours to run, and it is the half that gets skipped. A hosted service does it as part of the fee, and for a team with no time for it, being tuned by someone who has not read your docs beats not being tuned at all.

There is no analytics dashboard. DocPilot collects nothing, which is the same sentence as: DocPilot shows you nothing. What readers asked, and what got refused, reaches you only if you stand up a feedbackEndpoint and read it yourself.

No support contract, no SLA, no roadmap you can buy into. It is an MIT package. That cuts both ways and this page will not pretend it only cuts one.

It will not answer about the page it is mounted on unless that page is in the corpus. This surprises people, so it is stated on its own page: Where it can go.

Choosing ​

  • Your docs are markdown in a repository, and you want the answer machinery to be auditable and free. DocPilot.
  • You already pay Algolia and DocSearch is already on the site. Ask AI is a snippet away, it is bring-your-own-LLM, and the index it answers from is the one you already maintain. That is a very short path.
  • Your corpus is Slack, Zendesk, GitHub issues and four wikis. kapa.ai or Inkeep. The connector inventory is the product.
  • Your docs are on Mintlify. The assistant is already there.
  • You want the search and the answers from one open-source engine and are happy to build the panel around it. Orama.
  • You need something none of the above does, and have a team for it. Roll your own — and read Why DocPilot, which is a list of the decisions you are about to make.

Sources ​

Checked August 2026.

DocPilot's own column is not sourced to a marketing page; every claim in it is either a documented setting, a measured artefact of this site's own index, or one of the four guarantees, each of which is covered by a test in this repository. The index figures — 859 chunks, 4096 dimensions, 430 KB of 1-bit vectors, at 0.010 mean |Δcos| — describe the files this page is served alongside and can be checked with ls -l docs/public/rag/.