Azure Document Intelligence vs Google Document AI vs AWS Textract: Real OCR Cost per 1,000 Pages
Short answer
For plain text extraction, all three clouds charge the same $1.50 per 1,000 pages, so it makes almost no difference which one you pick. The moment you need structured data — invoices, forms, tables, custom fields — the gap opens fast: the same page can cost $1.50 or $65+ depending purely on which API you call, not which vendor you chose. AWS is the most expensive for combined forms-and-tables extraction; Azure and Google are close to each other for most structured work; for a dedicated invoice/receipt API specifically, AWS and Azure are tied at the published low-volume rate.
Pricing at a glance
Rates below are per 1,000 pages, at volumes under 1 million pages/month (all three vendors drop their rates above that threshold — see the break-even section).
| Capability | Azure | AWS Textract | |
|---|---|---|---|
| Basic OCR (text only) | $1.50 | $1.50 | $1.50 |
| Layout / structure | $10 | $10 | Included in Forms/Tables below |
| Prebuilt invoice/receipt model | $10 | Bundled into $30 Form Parser | $10 (Analyze Expense, first 1M pages) |
| Forms + tables (structured) | $10 (Layout covers it) | $30 (Form Parser) | $65 (Forms $50 + Tables $15) |
| Custom-trained extraction | $30 | $30 | $25 (Custom Queries via adapter) |
| Add-ons (barcode, formula, high-res) | $6 | $6 | Varies by feature |
| Document classifier | $3 | $5 | Not a separate line item |
Above 1 million pages/month, rates step down: Azure custom extraction drops to $20/1,000 (Azure's custom generative extraction stays flat at $30 with no volume discount — it's a separate SKU from regular custom extraction, priced the same at low volume but behaving differently at scale). Google's Form Parser and custom extractor both drop to $20/1,000. AWS's Forms+Tables combo drops to $50/1,000, its Analyze Expense drops to $8/1,000, and Custom Queries drops to $15/1,000.
What the headline price excludes
Every vendor bills each capability separately rather than as one flat "read this document" rate. Ask AWS to pull both key-value pairs (Forms) and a table (Tables) off the same invoice, and you're charged for Forms and Tables as two separate metered features on the same page ($50 + $15 = $65 per 1,000 pages) — not one combined "structured extraction" fee, and not an additional standalone OCR charge on top, since AWS's own worked examples price the Forms+Tables combination at exactly that $65 total. That's how a single page can cost $65 per 1,000 even though the basic text-extraction rate is $1.50 per 1,000: you're stacking multiple metered features on the same page, not paying for OCR a second time.
None of the three publish their high-volume commitment-tier discounts on their public pricing pages — those require a sales conversation even though the base rate card is fully public. If you're processing tens of millions of pages a month, treat every number in this article as a ceiling, not a floor.
Hidden costs
- AWS's own pricing examples contain a labeling quirk worth knowing about: one of AWS's official worked examples is titled "Forms and Queries" but the actual calculation uses the Tables+Queries rate. If you're pricing out a Forms+Queries combination specifically, don't copy that example's number — it's priced as something slightly different than its own label says.
- Layout is free on AWS when paired with Tables, per AWS's own examples — a small but real saving if your workflow already calls Tables.
- Custom Generative Extraction on Azure doesn't get cheaper at volume the way ordinary Custom Extraction does — both cost $30/1,000 pages at low volume, but only Custom Extraction drops to $20 above 1M pages/month. If you're planning a large-scale generative-extraction deployment, model it at the flat $30 rate, not the $20 rate.
Worked scenarios
All three scenarios below fall under the 1-million-page/month threshold, so the base rates apply throughout — no volume breakpoints kick in at these sizes.
Basic OCR only (text extraction)
| Pages/month | Azure | AWS | |
|---|---|---|---|
| 1,000 | $1.50 | $1.50 | $1.50 |
| 10,000 | $15.00 | $15.00 | $15.00 |
| 100,000 | $150.00 | $150.00 | $150.00 |
At plain-text OCR, the three clouds are identical. There's no cost reason to prefer one over another here — pick based on your existing cloud stack, SDK quality, or latency.
Structured extraction (custom fields / forms + tables)
| Pages/month | Azure (Custom Extraction) | Google (Form Parser) | AWS (Forms + Tables) |
|---|---|---|---|
| 1,000 | $30 | $30 | $65 |
| 10,000 | $300 | $300 | $650 |
| 100,000 | $3,000 | $3,000 | $6,500 |
Azure and Google land in exactly the same place for general structured extraction. AWS's combined Forms+Tables rate runs more than double, because AWS meters the two features separately and adds them together rather than pricing "structured extraction" as one bundle.
Invoices and receipts specifically
AWS has a dedicated Analyze Expense API for invoice/receipt data, priced at $10 per 1,000 pages — the same $10 rate Azure charges for its own prebuilt invoice/receipt model. The two are tied at this published low-volume rate; neither is uniquely cheapest for this specific workload:
| Pages/month | AWS Analyze Expense | Azure Prebuilt Invoice/Receipt | AWS Custom Queries |
|---|---|---|---|
| 1,000 | $10 | $10 | $25 |
| 10,000 | $100 | $100 | $250 |
| 100,000 | $1,000 | $1,000 | $2,500 |
If your workload is specifically invoices or receipts rather than arbitrary forms, both AWS's Analyze Expense and Azure's prebuilt invoice/receipt model are meaningfully cheaper than AWS's own general Forms+Tables route — and, at 100,000 pages, cheaper than either vendor's general-purpose $3,000 structured-extraction bill too.
Break-even and crossover
Google's rate card has a clean, calculable break: its structured-extraction rate is $30/1,000 pages up to 1 million pages/month, then drops to $20/1,000 above that. A team processing close to 1 million pages should model both sides of that line explicitly — crossing it changes your effective rate by a third. Azure's ordinary Custom Extraction has the identical breakpoint and discount; its Custom Generative Extraction does not get any volume discount at all, which is the one place where "wait until we hit AWS's or Google's volume tier" doesn't apply.
Who pays more, and when
- If you only need plain text out of documents, none of the three clouds costs more than the others — the decision comes down to ecosystem fit, not price.
- If you need general structured extraction (arbitrary forms, custom fields), Azure and Google are priced identically and both meaningfully cheaper than AWS's Forms+Tables combination.
- If your workload is specifically invoices or receipts, AWS's Analyze Expense API and Azure's prebuilt invoice/receipt model are tied at the published low-volume rate — both cheaper than AWS's own general Forms+Tables combination and cheaper than either vendor's general-purpose structured-extraction rate at higher volumes.
- If you're running a generative-AI-powered custom extraction model at genuinely large scale (well above 1 million pages/month), Azure's Custom Generative Extraction is the one rate in this whole comparison that never gets a volume discount — budget it at the flat rate regardless of size.
Limitations and uncertainty
Two things are worth flagging rather than glossing over. First, older sources still circulate a $50-per-1,000-page figure for Azure's custom extraction; that figure traces to 2023–2024-era pricing and is no longer current — Azure's live rate card shows $30. Second, high-volume commitment-tier pricing (the kind large enterprises negotiate directly with Microsoft, Google, or AWS) is never published on any of the three public pricing pages — every number in this article is the public, self-serve rate, not a negotiated enterprise rate.
For step-based invoice extraction, compare these cloud rates with Nanonets, Rossum and Veryfi's per-document economics.