Skip to content
Docs Security Sign in
PdfParse

PDF parser API that returns clean data

Send a PDF or a scan and get JSON, Markdown and CSV back, with tables, form fields and reading order intact.

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
JSON, Markdown and CSV in one call
Tables, forms and checkboxes
OCR for scanned pages
Python and Node SDK

Works with the files you already have

  • PDF with a text layer
  • Scanned PDF
  • PNG
  • JPG
  • TIFF
  • Multi page documents

One parsing engine, two ways to use it

Engineers call the API from their own code. Operations teams use the same engine in the web app, without writing a line.

A printed invoice pinned with a pushpin to a cork strip beside a monitor that shows a dark editor with coloured brackets, lit by a desk lamp at night

For developers

A REST endpoint, typed JSON and SDKs that fit into the pipeline you already run.

  • One POST request returns JSON, Markdown and CSV
  • Python and Node SDK with typed results
  • Signed webhooks when a job finishes
  • Batch jobs with idempotency keys
A desktop document scanner with its feeder loaded with a stack of printed invoices in a back office

For operations teams

Upload documents in the browser, define the fields you need once and export clean tables.

  • Drag and drop PDFs and scans
  • Extraction schemas without code, from Growth
  • CSV export for every table
  • Usage and history per project

Every part of a document, parsed into structure

Tables that stay tables

Merged cells, multi line rows and tables that continue on the next page come back as rows and columns, ready for PDF table extraction or PDF to CSV.

Printed financial report pages with dense tables fanned out next to a highlighter and a calculator

Forms and checkboxes

Form fields return as label and value pairs, checkboxes as true or false. Applications and claims land in your database as records. Included on Scale and Enterprise.

A creased, stamped paper form under the open lid of a flatbed scanner

OCR for scans

Pages without a text layer go through OCR automatically and return the same structure as digital PDFs. See the OCR API.

Your own schema

Define fields once (invoice_number, total, due_date) and every document returns exactly those keys with a confidence score and source page. See PDF data extraction.

RAG chunks

Markdown with headings kept, split into chunks by section, each with page numbers, section path and bounding box. See PDF parsing for RAG.

Webhooks

Large files run as jobs. A signed webhook tells your service the moment the result is ready.

Batch jobs

Send up to 500 files in one job and collect every result through one job id.

From upload to webhook in one pipeline

1

Upload.

A file or a URL arrives through the API or the web app.

2

OCR.

Pages without a text layer are read as images.

3

Layout.

Columns, headings and reading order are detected.

4

Tables.

Rows, columns and merged cells are rebuilt.

5

Schema.

Your fields are filled with values and confidence.

6

Output.

JSON, Markdown and CSV are written together.

7

Webhook.

Your endpoint receives a signed notice.

Running in production in under ten minutes

  1. 01 Create account. 1 min
  2. 02 Get a key. 1 min
  3. 03 First call. 2 min
  4. 04 Add a webhook. 5 min

Find the plan that fits your volume

Move the sliders to see which plan covers your volume and what one page costs in it.

Price per page yearly, USD cents
  1. Starter
    2,000 pp
    1.20¢
  2. Growth
    7,000 pp
    1.06¢
  3. Scale
    24,000 pp
    1.04¢
  4. Enterprise
    72,000 pp
    1.04¢
5,000
60
Plan that fits
Growth
7,000 pages
Price per page
$0.0106
$74 per month

The calculation uses PdfParse prices only, with yearly billing selected by default.

Built for teams that answer to security and finance

Documents carry customer data, so retention, access and audit are part of the product, not an add-on.

  • Retention controls per plan, from 7 days to a setting you choose
  • Zero retention mode on Scale and Enterprise
  • Encryption in transit and at rest
  • Audit log of every request and every key
  • SSO with SAML on Enterprise
  • Priority support on Enterprise
  • Invoicing with net terms on Enterprise

A clerk keying one invoice takes minutes. PdfParse returns it in seconds, at a published price per page on every plan.

Read about security
A paper shredder with strips of shredded invoices in its bin beside a locked steel filing cabinet with a key in the lock, in a small back office

PdfParse compared with the usual alternatives

Most teams start with a PDF library, an OCR engine or a person retyping values. This is what each one gives you on a real document.

What you need PdfParse Open source PDF library Plain OCR engine Manual keying
Tables with merged cells Rows, columns and spans rebuilt Ruled tables only, spans fixed by hand Lines of text, no table structure Retyped cell by cell
Scanned pages OCR, then the same layout and table detection A separate OCR step to wire in Text only, no layout Read by eye
Your own fields Schemas return exactly your keys Custom code for every layout Custom code for every layout A spreadsheet template
Chunks for RAG Section path, pages and bounding boxes Your own splitter Not included Not included
Webhooks and batch jobs Signed webhooks, up to 500 files per job Your own queue and retries Your own queue and retries Not included
Confidence scores On every block and field Not included Per word only Depends on the reviewer
Time to first result One API call, under ten minutes from signup Days of tuning per layout Hours, then cleanup code Minutes per page, on every page

Plans priced by pages, not by credits

Starter

For a solo developer taking a project to production.

$24 / month
  • REST API and web app
  • JSON, Markdown and CSV output
  • Tables and OCR for scans
  • Python and Node SDK

Growth

For a product team with one document pipeline.

$74 / month
  • Everything in Starter
  • Up to 10 extraction schemas
  • Webhooks and batch jobs
  • RAG chunking with metadata

Scale

For a company running several pipelines.

$249 / month
  • Everything in Growth
  • Unlimited schemas and priority queue
  • Form fields and checkboxes
  • Zero retention mode and audit log

Enterprise

For regulated or high volume companies.

$749 / month
  • Everything in Scale
  • SSO, roles and permissions
  • Priority support and processing region choice
  • DPA and invoicing with net terms
Compare every limit
PlanYearly, per monthMonthlyPages per month
Starter$24$492,000
Growth$74$1497,000
Scale$249$49924,000
Enterprise$749$1,49972,000

See every limit on the PDF extraction API pricing page.

Questions before you parse

How accurate is it on scanned documents?

Scanned pages go through OCR and then the same layout and table detection as digital PDFs. Every block and every schema field carries a confidence score, so your code can send low confidence values to a person for review.

Does it keep table structure?

Yes. Tables return as rows and columns with merged cells resolved, in JSON and as a separate CSV per table. A table that continues on the next page is joined into one.

What happens to my files?

Files are kept for the retention period of your plan: 7 days on Starter, a period you choose up to 30 days on Growth. Scale and Enterprise can switch on zero retention mode. Files are never used to train models. Files in the website demo are parsed in your browser and never uploaded.

What counts as a page?

One page of a PDF or one image file counts as one page. Pages count as usage in the billing period, so deleting a document does not return them.

What happens when I reach my limit?

Parsing pauses and the app shows an Upgrade button. Nothing is charged automatically. If you upgrade, the difference is charged right away and the new limit applies at once.

Which languages do the SDKs support?

There are official SDKs for Python and Node.js. Any other language works through the REST API with a single multipart request.

Can I define my own fields?

Yes. From the Growth plan you create extraction schemas with field names, types and descriptions, and every document returns exactly those keys.

Can I cancel anytime?

Yes. You cancel in billing settings. Renewal stops and access runs to the end of the period you paid for. Payments are final, as described in the refund policy.

Parse your first PDF

Drop a file and see page one as JSON, Markdown and CSV in seconds.

Parse your first PDF