AWS Textract Cost: Why Your Bill Is Higher Than Your Estimate

Aug 19, 2026 8 min read

A Textract bill that beats its estimate is nearly always a meter problem, not a volume problem. Here are the five mechanics behind it, computed from Amazon's own price list file, and how to spot each one in Cost Explorer.

// Try it now, no signup required

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload a document to extract

Free on your own files. No credit card, no signup to test.

Your AWS Textract bill comes in higher than your estimate for one of five reasons, and four of them are invisible in the AWS Console. You split features across separate API calls and paid a $0.01 per page penalty on each one. You deployed to US West (N. California), which costs exactly 1.4 times every other commercial region. You are billing whole documents when you only needed two pages. You left a feature switched on after a test. Or you assumed asynchronous calls were cheaper, and they are not. Here is how to tell which one it is, using the meter names on your own invoice.

Everything below is computed from Amazon's public Price List bulk offer file for Textract, pulled on 19 August 2026. That file carries 30 meters across 16 regions, and it is the same data AWS bills from, so the numbers are checkable rather than reported.

Why is my AWS Textract bill higher than I calculated?

Almost always because the per-page rate you used in your estimate was not the rate your code actually triggered. Textract has sixteen distinct per-page prices, not one, and they range from $1.50 to $80.00 per 1,000 pages. Most overruns are not a volume surprise. They are a meter surprise: the workload billed on a more expensive line item than the person doing the estimate expected.

The fastest diagnosis is to open Cost Explorer, group by usage type, and read the meter names. They are unusually descriptive. SyncTextPagesProcessed is plain OCR. SyncFormsPagesProcessed is key-value extraction at thirty-three times the price. If you see a meter you did not expect, you have found your answer in about ninety seconds.

The $0.01 per page you pay for splitting one call into two

This is the one nobody writes about, and it is deterministic. AWS meters feature combinations as their own line items, and every combination is priced exactly $0.0100 per page below the sum of its parts. All six of them, without exception:

FeaturesOne call, per 1,000 pagesTwo calls, per 1,000 pagesPenalty
Queries + Tables$20.00$30.0050% more
Custom queries + Tables$30.00$40.0033% more
Forms + Queries$55.00$65.0018% more
Forms + Custom queries$65.00$75.0015% more
Forms + Queries + Tables$70.00$80.0014% more
Forms + Custom queries + Tables$80.00$90.0013% more

Because the rebate is a flat cent rather than a percentage, it hurts the cheap combinations most. A team pulling queries and tables off a page pays half again as much for making two requests instead of one, for byte-identical output.

The mistake almost never appears in version one. It shows up when someone adds table parsing six months after the forms pipeline shipped, and writes a second AnalyzeDocument call rather than adding TABLES to the existing FeatureTypes array. Nothing breaks, nothing warns you, and the bill grows by a clean $10.00 per 1,000 pages. The tell in Cost Explorer is two separate AnalyzeDocument meters accruing against the same document volume in the same month. At 250,000 pages a month that is $30,000 a year of pure overlap.

Does the AWS region change what Textract costs?

Yes, by an exact multiplier. Of the 16 regions in the price list, 13 are priced identically to N. Virginia. US West (N. California) is precisely 1.4 times all of them on every meter, and both GovCloud regions are precisely 1.26 times.

RegionMultiplierPlain text per 1,000Tables per 1,000Forms per 1,000
US West (N. California), us-west-11.40x$2.10$21.00$70.00
GovCloud US-East and US-West1.26x$1.89$18.90$63.00
N. Virginia, Ohio, Oregon and 10 others1.00x$1.50$15.00$50.00

The practical version: deploying to us-west-1 when you meant us-west-2 raises your entire Textract bill by 40 percent, and the output is identical. This is worth checking first because it is the only item on this list you can fix without touching application logic. The 13 regions at parity are N. Virginia, Ohio, Oregon, Canada (Central), Ireland, London, Paris, Frankfurt, Spain, Mumbai, Singapore, Seoul and Sydney.

Does AWS Textract charge per page or per document?

Per page, always, and it bills every page you submit whether or not you read the output. A 40-page loan file sent to AnalyzeDocument with FORMS costs 40 pages at $0.05, which is $2.00, even when the two fields you wanted were on page 3. Unlike Azure Document Intelligence, Textract has no page-range parameter, so trimming the document before the call is your own job. On the $50.00 per 1,000 forms meter it is usually the single largest saving available, and it is entirely under your control.

Does AWS Textract offer a batch discount?

No. We checked this against the price list rather than assuming it: fifteen Textract meters exist in both a synchronous and an asynchronous form, and every pair is identical to the cent. SyncFormsPagesProcessed and AsyncFormsPagesProcessed are both $0.05 per page.

Textract's asynchronous operations exist because a multi-page PDF cannot go through the synchronous path and because long jobs outlive an HTTP timeout. Those are good reasons to use them. A lower rate is not one of them. Azure prices its batch meters identically too, so if you have heard that queuing work overnight halves an extraction bill, you heard it about a language model. Mistral and Gemini discount batch inference by 50 percent; no document-specific API in this category does.

The volume break that arrives ten times earlier than the others

Fifteen of the sixteen meters change price at a million pages a month. AnalyzeID, the identity document operation, changes at 100,000, and the cut is steep: $25.00 per 1,000 pages down to $10.00, a 60 percent reduction ten times sooner than anything else in the price list.

This matters in both directions. If you run driver licenses or passports at moderate volume, your effective rate is far better than the headline suggests, and a forecast built on the $25.00 number will overstate the bill badly. If you are just below 100,000 pages a month, pushing past it is worth more than any other volume threshold AWS offers on this service.

What the per-page price does not include

The bill you are reconciling covers API calls and nothing else. Textract returns a graph of Block objects, not fields, so the real cost of a Textract project also includes table reconstruction that survives merged cells, a decision about what happens when a confidence score comes back at 0.71, somewhere to store the documents, and a screen where a person fixes what the model got wrong. None of that appears on the AWS invoice, and on most projects it is larger than the pages.

That is the comparison worth making when a bill surprises you. The question is rarely whether $1.50 per 1,000 pages is a good price. It is whether the pipeline you built around it costs less than buying one. If you want to see the difference concretely, our AWS Textract pricing rate card lists all sixteen meters with the exact figures, and you can drop a real document into the tool at the top of that page to see what finished, validated fields look like next to a Block-object response.

A five-minute audit you can run today

  1. Check the region. If any Textract traffic is in us-west-1 or GovCloud, you are paying a 40 or 26 percent premium. This is the cheapest possible fix.
  2. Group Cost Explorer by usage type. Count the distinct AnalyzeDocument meters. More than one against the same workload means you are paying the split-call penalty.
  3. Compare pages billed against documents processed. If the ratio is much higher than your average document length, you are sending pages nobody reads.
  4. Look for meters you do not recognize. Signatures and Layout are easy to switch on during an evaluation and forget. They are cheap per page but they are not free.
  5. Recheck your assumed rate against the published file. AWS publishes the whole Textract rate card as machine-readable JSON at a stable URL, and the current version is stamped 20241029, meaning no published Textract rate has changed since 29 October 2024. It is a plain HTTPS endpoint, so you can watch it for changes the same way you would watch any other endpoint you depend on.

The short version

A Textract bill that beats its estimate is nearly always a meter problem, not a volume problem. Check the region first, because it is a 40 percent swing you can fix in a config file. Then check whether you are making two API calls where one would do, because AWS charges exactly $0.01 a page for that mistake and never mentions it. Then check that you are not paying for pages you never look at. Those three account for most of the gap on most bills, and all three are visible from Cost Explorer in under ten minutes.

If you want the full picture rather than the diagnosis, the Textract rate card has every meter, and the cross-vendor pricing comparison normalizes AWS, Azure and Google onto the same per-1,000-pages basis. For the operation-level detail behind each meter, the long-form Textract pricing walkthrough goes through them one at a time, and the Textract limits reference covers the page counts and file sizes that constrain the same workload.

Extract your documents with DocuOCR

DocuOCR's AI OCR software turns any document into clean, structured data in seconds. No template setup required.

Start free

← Back to all articles