None of the three major clouds has one OCR price. AWS bills per operation, Azure bills per model ID in the request URL, and Google bills per processor type. The same page costs $1.50 or $50.00 depending on which string your code sends. Every identifier and rate below was read off the vendor's own documentation in August 2026.
Upload a document to extract
Drop files here or click to upload
Up to 50 files
Free plan extracts the first 5, rest can be unlocked after
Uploading...
Skip the operation matrix entirely. DocuOCR runs recognition, field extraction and review on one per-page price.
If you need the words on the page and nothing more, call DetectDocumentText on AWS, prebuilt-read on Azure, or OCR_PROCESSOR on Google. All three cost $1.50 per 1,000 pages and none of them returns a table. If you need table structure, you move to AnalyzeDocument with TABLES at $15.00, prebuilt-layout at $10.00, or FORM_PARSER_PROCESSOR at $30.00. If you need typed fields for a known document type, use the matching prebuilt model or processor, which is usually $10.00.
Paying more does not always get you more. Moving from prebuilt-read to prebuilt-layout costs 6.7 times as much and gains you tables and markdown, but it loses the searchable PDF capability entirely.
Microsoft documents that only prebuilt-read supports it, that other models return an error, and that it carries no added cost. The cheapest model on the menu is the only one that can do it.
Textract has no single price. The operation name is the meter, and inside AnalyzeDocument the FeatureTypes list is the meter. Rates are US West (Oregon) for the first million pages a month.
| Operation | Mode | What comes back | Per 1,000 pages |
|---|---|---|---|
DetectDocumentText |
Synchronous | Raw text only: PAGE, LINE and WORD blocks with confidence and geometry. No tables, no forms. | $1.50 |
AnalyzeDocument (FORMS) |
Synchronous | Key-value pairs as KEY_VALUE_SET blocks, plus everything DetectDocumentText returns. | $50.00 |
AnalyzeDocument (TABLES) |
Synchronous | TABLE and CELL blocks with RowIndex and ColumnIndex, plus the raw text. LAYOUT is free when combined with TABLES. | $15.00 |
AnalyzeDocument (LAYOUT) |
Synchronous | Reading order and structural elements: titles, headers, section headings, lists and figures. | $4.00 |
AnalyzeExpense |
Synchronous | Invoice and receipt fields as SummaryFields and LineItemGroups, without training a model. | $10.00 |
AnalyzeID |
Synchronous | US driver licenses and passports, returned as normalized identity fields. | $25.00 |
StartDocumentTextDetection / GetDocumentTextDetection |
Asynchronous | The multipage equivalent of DetectDocumentText. Same output, same rate, accepts multipage PDF and TIFF from S3. | $1.50 |
StartDocumentAnalysis / GetDocumentAnalysis |
Asynchronous | The multipage equivalent of AnalyzeDocument. You pay for the FeatureTypes you request, exactly as in the sync call. | Per feature |
The spread between the cheapest and the dearest call on the same page is 33 times, from $1.50 for DetectDocumentText to $50.00 for AnalyzeDocument with FORMS. Full rate detail sits on AWS Textract pricing.
On Azure the identifier goes in the request path, as /documentModels/{modelId}:analyze. That string is what you are billed for. Rates come from the public Azure Retail Prices API for eastus, so each carries the meter name it was pulled from.
| Model ID | What comes back | Per 1,000 pages | Billing meter |
|---|---|---|---|
prebuilt-read |
Pages, paragraphs, lines, words and styles, with handwriting detection. The only model that can emit a searchable PDF. | $1.50 | S0 Read Pages, eff 2022-03-01 |
prebuilt-layout |
Everything Read returns plus tables, selection marks and section structure, and the only model with outputContentFormat=markdown. | $10.00 | S0 Batch Layout Pages, eff 2026-01-01 |
prebuilt-invoice |
Invoice fields: vendor, customer, totals, tax and line items, as typed fields with confidence. | $10.00 | S0 Pre-built Pages, eff 2021-08-01 |
prebuilt-receipt |
Merchant, date, totals, tax and itemized purchases from receipts. | $10.00 | S0 Pre-built Pages |
prebuilt-idDocument |
Passports, driver licenses and other identity documents. | $10.00 | S0 Pre-built Pages |
prebuilt-bankStatement |
Account details, statement period, balances and the transaction table. | $10.00 | S0 Pre-built Pages |
prebuilt-tax.us.w2 and the tax.us family |
W2, 1099, 1098, 1040, 1095 and W4 variants, each as its own model ID. | $10.00 | S0 Pre-built Pages |
prebuilt-contract |
Parties, jurisdictions, effective and expiration dates from contracts. | $10.00 | S0 Pre-built Pages |
Custom extraction model |
Your own fields, trained on your own documents, addressed by the model ID you assign. | $30.00 | S0 Custom Pages, eff 2024-06-01 |
Read drops to $0.60 per 1,000 pages above one million pages a month. Watch the unit on that tier: the Retail Prices API expresses it in thousands, so the threshold is 1,000,000 pages and not 1,000. The renaming history is covered on Azure Form Recognizer pricing.
Google is where the identifier and the display name diverge most sharply. You pick "Enterprise Document OCR" in the console, but the string the API expects is OCR_PROCESSOR. Copying the display name into code is one of the most common first-day errors on this platform.
| Processor type | Display name | What comes back | Per 1,000 pages |
|---|---|---|---|
OCR_PROCESSOR |
Enterprise Document OCR | Text including handwriting in more than 200 languages, plus a readability quality assessment. | $1.50 |
FORM_PARSER_PROCESSOR |
Form Parser | Key-value pairs including checkboxes, tables, and 11 generic entity types. | $30.00 |
LAYOUT_PARSER_PROCESSOR |
Layout Parser | Text, tables and lists as context-aware chunks, aimed at retrieval and generative pipelines. | See Google |
INVOICE_PROCESSOR |
Invoice Parser | Invoice number, supplier, amounts, tax, dates and line item detail. | $10.00 |
EXPENSE_PROCESSOR |
Expense Parser | Expense date, supplier, total, currency, line items and tax. | $10.00 |
BANK_STATEMENT_PROCESSOR |
Bank Statement Parser | Name, account details, transactions, balances and statement dates. | $10.00 |
FORM_W2_PROCESSOR |
W2 Parser | Employee and employer detail, wages and tax withholdings from a Form W2. | $10.00 |
US_DRIVER_LICENSE_PROCESSOR |
US Driver License Parser | Name, document ID, dates, address and portrait. | $10.00 |
CUSTOM_EXTRACTION_PROCESSOR |
Custom Extractor | Your own fields, using generative AI or a fine-tuned model. | See Google |
Enterprise Document OCR drops to $0.60 per 1,000 pages above five million pages a month, a higher threshold than the one-million mark AWS and Azure use. The per-processor detail is on Google Document AI pricing.
Google is the sharpest example. You select a processor in the console called "Enterprise Document OCR", but the string your code sends is OCR_PROCESSOR. "Form Parser" is FORM_PARSER_PROCESSOR. Search the docs for the friendly name and you will not find the constant you need, which is why so much sample code is copied wrong.
None of these three vendors has a single "OCR price". AWS bills per operation and, inside AnalyzeDocument, per FeatureType. Azure bills per modelId in the request URL. Google bills per processor type. Quote a buyer one blended rate and you will be wrong by a factor of 10 or more.
AnalyzeDocument takes a list, so asking for FORMS and TABLES together bills both features on the same page. The one exception documented by AWS is that LAYOUT is included at no extra cost when you request it alongside TABLES.
Microsoft is explicit that "only the Read OCR model prebuilt-read supports the searchable PDF capability" and that "other model types return an error". It is included at no added cost. Upgrading to Layout for tables silently removes the ability to produce a searchable PDF.
Its documented response is pages, paragraphs, lines, words and styles. There is no tables collection in it at all. This is not a tuning problem or a confidence problem: the field does not exist, so no amount of prompt or parameter work will get a table out of Read.
On AWS the async pair StartDocumentTextDetection and GetDocumentTextDetection costs the same per page as the sync call. What changes is what you may send: the async operations accept multipage PDF and TIFF from S3, while the sync operations take a single page image or a small inline document.
Not the document type, the output. Raw text, a table grid, typed fields, or a searchable PDF. Every one of those maps to a different call, and the wrong answer here is what makes a bill 10 times bigger than the estimate.
The string in your request is DetectDocumentText, prebuilt-layout or FORM_PARSER_PROCESSOR. Get it from the tables above or the vendor API reference. The console display name will not work in code and is not what the pricing page meters.
Multiply your monthly page count by the rate on that specific operation or model, not by the vendor headline. Moving from prebuilt-read to prebuilt-layout is a 6.7 times change on the same document set.
A clean, ruled, single-page form makes every operation look equivalent. A multirow header, a merged cell, a rotated scan and a table spanning a page break are what separate them. Send that one before you commit.
A cloud OCR API gives you one thing: a response. Choosing between these identifiers is choosing what shape that response takes and what it costs. Everything after that is yours to build, and it is usually more work than the call itself.
You still need somewhere to put the file, a queue for the pages that fail, a rule that decides when a confidence score is too low to trust, a screen where a person corrects the value, and an export into the system that actually needed the data. None of that is priced on these tables because none of it is included.
That is the honest case for a product rather than an API. DocuOCR runs recognition, field extraction, validation, human review and export on one per-page price, so the operation matrix above becomes an implementation detail rather than the thing your team maintains. If you would rather stay on raw APIs, the tables are here to make that choice with the real numbers, and the OCR API pricing comparison walks the same decision from the budget side.
DetectDocumentText, prebuilt-read or OCR_PROCESSOR. $1.50 per 1,000 pages on all three clouds.
AnalyzeDocument with TABLES, prebuilt-layout or FORM_PARSER_PROCESSOR. $10.00 to $30.00.
A prebuilt model or a document-specific processor, usually $10.00 per 1,000 pages.
prebuilt-read with output=pdf. It is the only model that supports it, and it is free.
DetectDocumentText returns raw text only, as PAGE, LINE and WORD blocks, and costs $1.50 per 1,000 pages. AnalyzeDocument returns structure and bills per FeatureType you request: TABLES at $15.00 per 1,000 pages, FORMS at $50.00, LAYOUT at $4.00. If you only need the words, DetectDocumentText is the correct and far cheaper call.
Use prebuilt-read when you need text, handwriting or a searchable PDF, at $1.50 per 1,000 pages. Use prebuilt-layout when you need tables, selection marks or markdown output, at $10.00. Use a prebuilt-invoice, prebuilt-receipt or prebuilt-bankStatement style model when you want typed fields for a known document type, also at $10.00.
The processor type is an uppercase identifier such as OCR_PROCESSOR, FORM_PARSER_PROCESSOR, LAYOUT_PARSER_PROCESSOR, INVOICE_PROCESSOR, EXPENSE_PROCESSOR and BANK_STATEMENT_PROCESSOR. These strings are what the API expects. The console shows friendlier display names, so OCR_PROCESSOR appears as "Enterprise Document OCR" and FORM_PARSER_PROCESSOR as "Form Parser".
prebuilt-read is $1.50 per 1,000 pages and prebuilt-layout is $10.00, so Read is 6.7 times cheaper. Read cannot return tables at all, because its documented response has no tables collection. Layout adds tables, selection marks and markdown output but loses the searchable PDF capability, which Microsoft documents as available only on prebuilt-read.
Only in one combination. AWS documents that LAYOUT is included at no additional cost when it is requested together with TABLES on the same AnalyzeDocument call. Requested on its own, LAYOUT is a billed feature at $4.00 per 1,000 pages. Any other FeatureType you add bills separately on top.
No. StartDocumentTextDetection and GetDocumentTextDetection bill at the same $1.50 per 1,000 pages as the synchronous DetectDocumentText, and the async analysis pair bills per FeatureType exactly like the sync call. The reason to use them is input handling: they accept multipage PDF and TIFF from S3, which the synchronous operations do not.
On Azure, only prebuilt-read. You pass output=pdf on the Analyze request and retrieve the result as application/pdf. Microsoft documents that other model types return an error for this capability, and that it carries no added cost on the 2024-11-30 GA model. AWS Textract and Google Document AI return JSON and leave the overlay to you.
Almost always because the estimate used the vendor headline rate while the code calls a richer operation. A team budgets at $1.50 per 1,000 pages for text, then ships AnalyzeDocument with FORMS and TABLES, which is $50.00 plus $15.00 on the same pages. The rate is per call and per feature, so the estimate has to be built from the identifier your code actually sends.
The two Azure models compared in full, including the searchable PDF capability only Read has.
Every operation and FeatureType priced, with the per-page and per-1,000 columns side by side.
The full Azure rate card, tier thresholds and what the free tier really allows.
Per-processor rates and the five million page tier break.
Every vendor normalized to one unit so the meters can be compared directly.
The buying decision rather than the rate card.
Which of these operations returns a CSV, and what a table costs on each.
Why markdown is a different, dearer meter on both hyperscalers.
Typed, nested fields with confidence rather than a flat text dump.
File sizes, page ceilings and throughput quotas across every major service.
Working code for calling a recognition service and reading the response.
What changes at 100,000 pages a month and above.
Every identifier on this page is a decision you have to make, price and maintain. DocuOCR runs recognition, extraction, review and export on one per-page price. Upload the document you were about to write a proof of concept for.
Identifiers and capability claims on this page were read from each vendor's own API reference and documentation on 16 August 2026. Azure rates come from the public Azure Retail Prices API for eastus. AWS rates are US West (Oregon). Rates and capabilities change. Verify at the source before you sign anything.