Is AWS Textract Free? Real Costs

Aug 4, 2026

Try it now: upload an invoice and get the data in Excel or CSV

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload your invoices

No. AWS Textract is not free. It has a free tier that lasts three months from your first API call, and after that every page is billed. During those three months you get 1,000 pages a month of plain text extraction and only 100 pages a month of Analyze Expense, which is the operation that actually reads invoices. Past the free tier, Analyze Expense costs $10.00 per 1,000 pages and plain text extraction costs $1.50 per 1,000 pages.

The confusion is understandable. AWS puts "free tier" on the product page, plenty of tutorials run entire demos without a bill, and the phrase "pay only for what you use" reads like there is a permanent zero cost floor. There is not. Here is exactly what you get, what it expires into, and where the surprise charges come from.

What the AWS Textract free tier actually includes

The free tier is time limited, not volume limited in the way most people assume. It runs for three months starting from the month you make your first Textract request, and each operation has its own separate monthly allowance. Using up your Detect Document Text pages does not touch your Analyze Expense pages.

OperationWhat it doesFree pages per monthDuration
Detect Document TextPlain text OCR1,0003 months
Analyze Document (Forms, Tables, Layout)Key value pairs and table structure1003 months
Analyze ExpenseInvoice and receipt fields1003 months
Analyze IDUS passports and driver licenses1003 months
Analyze LendingMortgage document packages2,0003 months

If you came here to evaluate invoice extraction, the number that matters is 100. One hundred pages a month, for three months, is 300 invoice pages total. That is enough to test whether the output shape suits you. It is nowhere near enough to run a small business on, and it is not enough to properly benchmark accuracy across the messy edge cases that decide whether the service works for your vendors.

What AWS Textract costs after the free tier

These are the published rates for US West (Oregon), applying to the first million pages a month. AWS is one of the few vendors in this category that publishes a complete public rate card, which is genuinely useful when you need to budget a project before anyone has opened an account.

OperationPrice per pagePer 1,000 pagesPast 1M pages a month
Detect Document Text$0.0015$1.50$0.60
Analyze Expense$0.010$10.00$8.00
Analyze Document: Tables$0.015$15.00$10.00
Analyze Document: Queries$0.015$15.00n/a
Analyze Document: Forms$0.05$50.00$40.00
Forms + Tables + Queries combined$0.070$70.00$55.00
Custom Queries$0.025$25.00$15.00
Signatures$0.0035$3.50$1.40
LayoutFree when combined with Tables$0.00$0.00

Two things worth pulling out. Layout costs nothing if you are already paying for Tables, which is a real discount and not a marketing line. And the gap between operations is enormous: Forms at $0.05 a page is more than thirty times the price of plain text at $0.0015. Choosing the wrong operation is the single most common way a Textract bill comes in higher than expected. If you only need the words on the page, do not call Analyze Document.

For a sense of scale, a company processing 2,000 invoice pages a month through Analyze Expense pays $20 a month. At 50,000 pages a month it is $500. Those are not frightening numbers on their own, which is exactly why teams underestimate the total: the API line is rarely where the money goes. Once a few AWS services are wired together it is worth having something that flags an unexpected jump in the monthly bill before the invoice arrives, because usage based pricing tends to drift quietly upward as more documents get routed through the pipeline.

Is there a permanently free alternative?

Within the major clouds, Azure is the closest thing. Azure AI Document Intelligence offers 500 pages a month on its free F0 tier with no expiry date, compared to the AWS three month window. That is five times the monthly allowance for invoice work, and it does not run out after a quarter.

The catch is real though: the Azure free tier reads only the first two pages of any document and caps file size at 4 MB. So a free tier test on three page invoices is silently testing less than you think. The paid Azure prebuilt invoice model costs $10 per 1,000 pages, which is exactly the same as AWS Analyze Expense. We wrote up the full head to head in AWS Textract vs Azure Document Intelligence, including the language coverage gap and the independent accuracy benchmark, because the pricing is a tie and the decision turns entirely on other things.

Is AWS Textract open source?

No. Textract is a proprietary managed service that runs only on AWS infrastructure. There are no published model weights and no self hosted option. The AWS SDKs and sample code around it are open source, which is where the confusion comes from, but those are clients that call a hosted API. If you need a model that runs inside your own network, Textract is not a candidate at any price.

The limits nobody mentions until you hit them

Free or paid, these hard limits apply and they shape the code you have to write:

  • Synchronous calls handle one page. PDF and TIFF are limited to a single page at 10 MB on the sync API. Any multi page invoice forces you onto the asynchronous flow, which means staging files in S3, starting a job, and polling or subscribing for completion. That is a meaningful amount of plumbing that the per page price does not hint at.
  • Asynchronous handles 3,000 pages and 500 MB. Generous, and well beyond any normal invoice.
  • Invoice extraction is English only. Analyze Expense reads invoices and receipts in English. General text detection covers English, French, German, Italian, Portuguese and Spanish, and handwriting recognition is English only.
  • No vertical text. Textract does not read vertically written text, which rules out some Japanese and Chinese documents entirely.
  • No XFA PDFs, no password protected PDFs. Both fail outright rather than degrading.
  • Minimum text height is 15 pixels, roughly 8 point type at 150 DPI. Faxes and low resolution scans fall below this more often than you would expect.

What you still have to build

This is the part that dwarfs the API bill for most teams. Analyze Expense returns JSON: SummaryFields for header data like vendor name, invoice date and total, and LineItemGroups for the individual rows, normalized across more than 40 field types. That is a good starting point and it is not an accounting file.

Between that JSON and something your ledger will accept, you own: mapping fields into your chart of accounts, splitting line items that continue across a page break, validating that extracted rows actually sum to the stated total, matching vendor names against records you already hold, catching duplicate invoice numbers, handling retries and failures, and writing an export format your system imports. Then you maintain all of it as vendor layouts change, which they do.

At 100,000 invoice pages a year, Analyze Expense costs $1,000. The engineering around it is usually several times that in the first year alone, and it does not stop after the first year. That trade makes sense when extraction is part of your product and you want the data inside your own AWS account. It makes much less sense when what you needed was invoice data in a spreadsheet.

The short version

AWS Textract is not free. It is free for three months at 100 invoice pages a month, then $10 per 1,000 pages, and it returns JSON rather than a finished file. If you are evaluating it against alternatives, compare the full picture: our breakdown of AWS Textract pricing covers every operation and volume tier, and Azure Document Intelligence pricing covers the closest equivalent on the other major cloud.

If you would rather skip the build entirely, upload an invoice above and you will get the extracted fields and line items back as xlsx, csv, json or QBO, with the mapping and totals validation already done.