Skip to content
Docs Security Sign in
PdfParse

AI document processing priced per page

PdfParse applies AI models to each page of a document to find its layout, read scanned text, rebuild tables and fill the fields you define. You pay for pages, not tokens or model calls, and your files are never used to train anything.

Parse PDF

Watch the models work on page one

Drop a PDF or a photo of a page. The result shows each detected block outlined on the page, with its type and confidence, next to the JSON it produced.

Drop a PDF or scan

PDF, PNG or JPG up to 10 MB. Page one is parsed in full, right here.

Or try a sample file
Output

Optional. Comma separated field names, for example invoice_number, total, due_date.

Page one is parsed in your browser and never uploaded. No card needed to try page one.

What one call returns

Page one rendered with every block outlined, next to the JSON your code receives.

  1. Reading text layer
  2. Detecting layout
  3. Extracting tables
  4. Building JSON
Rendered page Page 1 of your document

Headings, paragraphs, tables and totals detected

heading
Invoice
paragraph
Harbor Street Joinery
14 Dock Lane
Portsmouth, NH 03801
key_value
Invoice no.INV-2026-0418IssuedOct 14, 2026DueNov 13, 2026
table
DescriptionQtyUnitAmount
Oak countertop, 2.4 m2640.001,280.00
Cabinet doors, shaker1285.001,020.00
On site fitting1450.00450.00
total
Subtotal2,750.00Tax 8.5%233.75Total dueUSD 2,983.75
paragraph
Payment by bank transfer within 30 days.
Quote the invoice number with your transfer.
Goods remain ours until paid in full.
footer
Harbor Street JoineryPage 1 of 2
Locked page

Pages 2 and later are parsed after you create an account.

Output
{
  "document": {
    "pages": 2,
    "parsed_pages": 1,
    "language": "en"
  },
  "pages": [
    {
      "number": 1,
      "blocks": [
        { "type": "heading", "text": "Invoice", "bbox": [48, 52, 132, 84] },
        { "type": "paragraph", "text": "Harbor Street Joinery, 14 Dock Lane, Portsmouth" },
        { "type": "key_value", "pairs": {
            "Invoice no.": "INV-2026-0418",
            "Issued": "Oct 14, 2026",
            "Due": "Nov 13, 2026" } },
        { "type": "table", "columns": ["Description", "Qty", "Unit", "Amount"],
          "rows": [
            ["Oak countertop, 2.4 m", 2, 640.00, 1280.00],
            ["Cabinet doors, shaker", 12, 85.00, 1020.00],
            ["On site fitting", 1, 450.00, 450.00] ] },
        { "type": "total", "label": "Total due", "value": 2983.75, "currency": "USD", "confidence": 0.98 }
      ]
    }
  ],
  "fields": {
    "invoice_number": { "value": "INV-2026-0418", "confidence": 0.99, "page": 1 },
    "total": { "value": 2983.75, "confidence": 0.98, "page": 1 },
    "due_date": { "value": "2026-11-13", "confidence": 0.97, "page": 1 }
  }
}

Downloads from the demo include a watermark field and cover page one only.

Page one is parsed in your browser, so your file never reaches our servers.

Request
The same request from your code
Read the API reference
$ curl https://api.pdfparse.ai/v1/parse \
  -H "Authorization: Bearer $PDFPARSE_API_KEY" \
  -F file[email protected] \
  -F outputs=json,markdown,csv
200 OK, 1 page parsed

What the models do on a single page

A page is not processed by one large prompt. It goes through a sequence of specialised steps, each with a narrow job and a measurable output.

Because every step reports where its output came from, you can trace any value in the JSON back to a rectangle on a specific page.

  • Layout detection finds blocks and labels them as heading, paragraph, table, list, form field, checkbox or image, with a bounding box for each.
  • OCR reads pages that have no text layer, and can be forced on pages where the embedded text is broken.
  • Reading order is reconstructed from block positions, so columns, sidebars and footnotes come out in the sequence a person would read them.
  • Table structure recovery maps cells to rows and columns, expands merged headers and joins tables that continue onto the next page.
  • Field extraction reads your schema descriptions and fills each field with a typed value, a confidence score and the source page.

Why narrow steps beat one big prompt

Sending a whole PDF to a general chat model invites three problems. Long documents exceed context limits, tables lose their structure when flattened to text, and the model may produce a confident value that appears nowhere in the source. Splitting the work by page and by task keeps each output checkable. A field without a supporting region on the page is reported with low confidence rather than presented as fact.

Cost per page on each plan

Pricing is a monthly subscription with a fixed page allowance. The figures below divide the plan price by its pages at full use of the allowance.

Plan Pages per month Monthly billing Cost per page, monthly Yearly billing per month Cost per page, yearly
Starter 2,000 $49 2.45 cents $24 1.2 cents
Growth 7,000 $149 2.13 cents $74 1.06 cents
Scale 24,000 $499 2.08 cents $249 1.04 cents
Enterprise 72,000 $1,499 2.08 cents $749 1.04 cents

A scanned page costs the same as a digital one. Tables, OCR and schema fields do not add charges. Pages are counted as usage in the billing period, and deleting a document does not return them. Compare all plan details on PDF extraction API pricing.

No token meter, no overage

Token based pricing makes a dense 40 page contract cost far more than a sparse one, and the difference is hard to predict before you run it. A page allowance removes that guesswork. When you reach it, parsing pauses and an Upgrade button appears. Nothing is charged automatically, and if you choose to upgrade, the difference is charged right away.

Your files never train AI models

Documents you send are processed to produce your result and nothing else. They are never used to train or tune models, on any plan. They stay encrypted at rest for the retention period of your plan, which is 7 days on Starter, up to 30 days by your choice on Growth, and optionally zero on Scale and Enterprise, where files and results are removed once delivered. More on secure document processing.

How to trust model output in production

Treat confidence values as routing signals. Accept fields above a threshold you choose, and send the rest to review. Keep the source page and bounding box with every stored value so an auditor can find the original. Use typed schema fields, such as date and money, so your code receives normalised values instead of loose text. This is the same pattern described on the intelligent document processing page for operations teams.

For the engineers who will wire it up

The API takes one request per file and returns JSON, Markdown and CSV together. The Python PDF parser and PDF parse npm package wrap uploads, polling and retries. The full request and response contract is in the document parsing API reference.

FAQ

Which AI models does PdfParse use?

PdfParse runs a set of AI models, each specialised for one task on the page, such as layout detection, OCR, table structure and field extraction. You interact with one API and one output format regardless of which model handled a step.

Are my documents used to train models?

No. Files are processed only to return your result and are never used for training or tuning, on any plan.

Does a scanned page cost more than a digital page?

No. Every page counts once against your allowance, whether it needs OCR or not. Tables and schema fields add no extra charge.

How does PdfParse avoid invented values?

Each extracted field is tied to a region on a specific page and carries a confidence score. Values without clear support on the page come back with low confidence, so your code can route them to review instead of storing them.

What is the lowest cost per page?

On yearly billing the Scale and Enterprise plans work out to about 1.04 cents per page at full use of the allowance. Starter on yearly billing is 1.2 cents per page.

Put AI models to work on your documents

Pick a plan, get a key and parse your first file with a predictable cost per page.