How doc.cheap compares

Every comparison page is written by the winner, so here is the deal: the prices below are the vendors' own published list prices, the units are named because they differ, and a speed or accuracy a vendor does not publish is marked as not published. If a row looks unfavourable to us, it is because it is.

Published prices read on .

The table

Eight passport OCR services, compared on price, billing, access, coverage, speed, accuracy and agent support
 Price per documentBilled when the scan fails?First call without an account?Encoded zone + printed fieldsSpeedAccuracyMCP server?
doc.cheap $0.01 flat, any volume; Free – 100 documents every month No – a failed recognition is free Yes – public sandbox key, 10 per IP Both, compared field by field 200 ms 99.87% MCP server, six tools
AWS Textract (Analyze ID) source$0.025/page to 100k/mo, then $0.01/page (us-west-2) Not published as a no-charge case No – AWS account and IAM first Extracts ID fields; zone/print comparison not published Not published Not published No MCP server published
Google Document AI (passport parser) source$0.10/document Not published as a no-charge case No – GCP project and billing first Parser output; zone/print comparison not published Not published Not published No MCP server published
Azure Document Intelligence (ID model) source$10 per 1,000 pages, $0.01/page (Central US) Not published as a no-charge case No – Azure subscription first Returns the encoded zone as one field; comparison not published Not published Not published Not found on the vendor's pages
Mindee sourceCredits from $0.05/document, +20% on overage Not published as a no-charge case No – account first Extracts document fields; comparison not published Not published Above 95% for most fields (Mindee's figure) sourceNo MCP server published
Nanonets source$0.30 per data-extraction run Not published as a no-charge case No – account first Extracts passport fields; comparison not published Not published Not published Not found on the vendor's pages
ID Analyzer source$89/mo for 1,000 calls, then $0.12/call Not published as a no-charge case No – account first Reads the encoded zone, barcode, chip or printed zone; comparison not published 3 s from upload to decision, average (ID Analyzer's figure) source99.8% OCR (ID Analyzer's figure) sourceNot found on the vendor's pages
Veriff source$0.80/verification, $49/mo minimum Not published as a no-charge case No – account first Extracts key ID fields; comparison not published 6 s per verification, average (Veriff's figure) source~99.6% of decisions (Veriff's figure) sourceNot found on the vendor's pages

Prices are the vendors' published list prices read on 2026-09-25; Textract's figure is the us-west-2 rate and Azure's the Central US rate, and both differ by region. A competitor's speed and accuracy are its own published figures, linked where it publishes one. Re-check all of them before relying on this table – this is the kind of page that rots.

Vendors that quote a price only on request are not in the table: we will not publish a number we have not read. Open-source libraries and free projects are not in it either; this page compares paid services.

Read the units before you read the numbers

Some vendors bill by the page, we bill by the document. A passport data page is one page and one document, so for that case the two units coincide – but a multi-page document is one document here and several pages there, and the comparison stops being like-for-like immediately. Where a vendor's unit is the page, the table says so.

The second difference is what a failure costs. Here, a scan that finds no document, cannot read the image, or cannot identify the type is answered and not charged, and a billed flag on every response says which it was. We have not found a published equivalent rule at the others; treat their cells as “read the current terms”, not as “they charge you”.

Where we are ahead

  • Price, for the identity-document case. 1¢ per document. Same price for everyone, at any volume – the first document and the ten-millionth cost the same. Beyond 100,000 pages a month Textract's rate meets ours rather than exceeding it, and Azure's prebuilt ID model lists the same rate by the page.
  • A failed scan is free, and the response tells you.
  • You can call it before you have an account. No cloud project, no IAM role, no billing setup, no card: a sandbox key printed in the documentation.
  • Both zones, compared. Every field is read from the machine-readable zone and from the printed visual zone separately, each with its own confidence, so a disagreement between the encoded date of birth and the printed one is visible. Check digits are verified against ICAO Doc 9303.
  • Native script beside the Latin. Values in Greek, Arabic, Han, Hangul or Thai come back in their own script, tagged with their language, not flattened to ASCII.
  • Retention you control. The image is never written to disk. A result is kept for the retain_hours a request names or, without them, for the account's own setting – one year until you change it – and retain_hours: 0 stores nothing.
  • Speed you can check. About 200 ms of recognition time per document, every response carrying its own timing split, and the live figure published on the status page.
  • An MCP server, so an assistant calls the API directly with six tools and no SDK in between.

Same price for everyone, at any volume – the first document and the ten-millionth cost the same. The first call needs no account, the billing rules are published in full, and the MCP server is the same recognition reached by an assistant.