What document extraction costs per 1,000 pages

Published rates hide extract surcharges and creative page definitions. Here is what a page costs on Veralens, measured across 1,651 real pages, and how the market compares.

6 min read

If you are pricing a document extraction API, the published rate almost never matches the invoice. This post explains why, and shows what a real page costs on Veralens, measured rather than estimated.

All vendor prices below were checked in July 2026 against primary sources. This market reprices often, so verify before you commit.

Three ways the sticker price misleads

Extract is usually charged on top of parse. Several vendors publish a parse rate, then bill extraction as a second operation on the same page. LlamaParse, Reducto, Extend and Datalab all work this way. A $1.25 parse tier becomes $7.50 to $75 for the same job once you actually want fields back, so the number in the pricing table is not the number for your workload.

A "page" is whatever the vendor says it is. This is where the surprises live. One vendor bills non-PDF formats by file size divided by 100 KB, so a 5 MB HTML file counts as 50 pages. Two bill spreadsheets per cell. One adds an uncapped charge per output character on top of the per-page rate. Another doubles the rate for pages that need a vision model, and one has a 30 credit floor per document, so a single page bills as fifteen.

Failures may still cost you. Ask what happens when a document errors halfway through, and whether a retry bills twice.

What a page actually costs on Veralens

Veralens is priced per token, not per page, so a page costs what it consumes. To turn that into a number you can compare, we ran the full 1,651 page OmniDocBench benchmark through the default engine and measured every page.

Measured on 1,651 real pagesvera-1.0-high
Input tokens per page (median)1,093
Output tokens per page (median)640
Output tokens per page (95th percentile)3,102
Cost per 1,000 pages$5.63

That workload is full page transcription, which is the most output heavy thing you can ask for. Structured extraction against a schema costs less, because output is where the money goes and a schema with eight fields produces a fraction of the tokens of a full page. On the budget engine the same work is roughly 55% cheaper.

The practical lever is output size. Request the fields you need rather than everything the document contains, and the bill follows.

Against the rest of the market

Per 1,000 pages, on an extraction workload rather than a parse-only headline rate:

VendorExtraction workload
Veralens~$5.63 measured
Mistral Document AI$5
LlamaParse$7.50 to $75 (extract is additive)
Datalab$10 (convert plus extract)
Extend$15 to $62.50
Reducto$30 to $60
Azure Document Intelligence~$30
LandingAI ADE$10 plus per output character
Doctly$50
AWS Textract~$65

Two honest notes on this table.

If all you need is raw text, dedicated OCR models are cheaper than us. Mistral OCR runs $2 per 1,000 pages in batch mode and $4 through the API for plain transcription. If your pipeline just needs the words off the page and you already have the rest built, that is the better buy and we would rather tell you than sell you something you do not need.

Where the gap gets wide is against the enterprise tier. Textract and Azure sit 5 to 11 times above us for comparable extraction work, and they arrive with setup, custom model training and, usually, a sales call.

The per token argument

Per token pricing has one real drawback: you cannot predict a job's exact cost before it runs, because output length depends on the document. Veralens handles that by placing a hold when the job is created and settling to actual usage when it completes, refunding in full if the job fails.

What you get in exchange is that there is no page definition to argue about. Your spreadsheet is not billed per cell, your HTML file is not billed by the megabyte, and a long answer is not billed twice. Every job reports its own inputTokens, outputTokens and cost, so your own reporting can be exact rather than modelled.

How to compare properly

  1. Take twenty documents that look like your real ones, not the vendor's sample invoice.
  2. Ask for the fields you actually need, with the schema you would really use.
  3. Price the whole job, parse and extract together, including any per character or per cell surcharge.
  4. Include the failure path. Count what a document that errors costs you.
  5. Divide by twenty. That is your page rate, and it is the only one that means anything.

You can run step one through three on Veralens without talking to anyone. Add funds from $5, create a key, and the quickstart has you sending documents in a few minutes. Per job cost comes back on every response.

Try it on your own documents

Add funds from $5, create a key, and send your first document. Every job reports exactly what it cost.

Start extracting

Keep reading