Parselayer
Deterministic — no LLM hallucinations

Extract tables from any PDF — instantly.

Parselayer's API turns messy PDF tables into clean, typed JSON in seconds. Confidence scores on every table. Pay only for what's extracted.

Free tier includes 100 tables/month. No credit card required.

API request
curl -X POST https://api.parselayer.com/v1/tables \
  -H "X-API-Key: pk_live_••••••••" \
  -F "file=@annual_report.pdf"

# Response
{
  "tables": [
    {
      "table_id": "tbl_01j...",
      "confidence": { "overall": 0.97 },
      "headers": ["Quarter", "Revenue", "EBITDA"],
      "rows": [...]
    }
  ],
  "tables_billed": 3
}

Everything you need to extract tables at scale

Built for developers who need structured data out of PDFs without the guesswork.

Confidence scores on every table

Each extracted table ships with per-subsystem confidence scores — headers, type inference, and footnotes — so you know exactly what to trust.

Deterministic, not generative

No LLMs making things up. Parselayer uses a rule-based pipeline that produces the same output every time for the same input.

Multi-page table stitching

Tables that span multiple pages are automatically detected and stitched into a single clean result with continuous row indexing.

Webhook delivery

Register a callback URL at job submission and receive results via signed webhook the moment extraction completes — no polling required.

Type inference built in

Columns are typed automatically — integers, floats, currencies, percentages, dates, booleans. Nulls are identified, not guessed.

Per-table billing

You're charged for successfully extracted tables, not pages. If a page has no tables, you pay nothing for it.

How it works

Three steps from PDF to structured data.

01

Upload your PDF

POST your PDF to the API with your API key. Works with any PDF — financial reports, research papers, data exports.

02

Tables are extracted

Our deterministic pipeline locates, stitches, and structures every table — with per-table confidence scores and type inference.

03

Get clean JSON

Poll the job endpoint or receive a webhook. Tables come back with typed columns, headers, footnotes, and billing counts.

Pay per table, not per page

You're billed for tables successfully extracted — $0.10 each, $0.50 minimum per paid request. Free tier requests have no minimum. A paid request with 8 tables costs $0.80.

500

Pay as you go

$50.00/mo

Get started

Pro

$49.00/mo

Best valueGet started

Scale

$299.00/mo

Get started

$0.50 minimum per request applies to paid plans. Free plan includes 100 tables/month with no minimums.

Free

$0

100 tables/month, no card required. Enough to validate your integration — not enough for production.

  • 100 tables / month
  • No per-request minimum
  • Async job queue
  • Confidence scores
  • JSON output
  • Community support
Get started

Pay as you go

$0.10 / table

$0.50 minimum per request. No subscription. Credits never expire.

  • $0.10 per extracted table
  • $0.50 minimum per request
  • No monthly commitment
  • Credits never expire
  • Webhook delivery
  • Email support
Get started

Pro

$49/month

500 tables included (~$0.098/table). Overage at $0.08/table.

  • 500 tables / month
  • $0.50 minimum per request
  • Overage at $0.08 / table
  • Webhook delivery
  • Type inference
  • Multi-page table stitching
  • Email support
Get started

Scale

$299/month

3,500 tables included (~$0.085/table). Overage at $0.065/table.

  • 3,500 tables / month
  • $0.50 minimum per request
  • Overage at $0.065 / table
  • Everything in Pro
  • Priority processing queue
  • Slack support
Get started

Enterprise

Custom

Custom volume, SLA guarantees, and dedicated support for mission-critical pipelines.

  • Custom table volume
  • Everything in Scale
  • SLA & uptime guarantee
  • Dedicated infrastructure
  • On-prem deployment option
  • Dedicated account manager
Contact sales

Frequently asked questions

Can't find the answer you're looking for? Email us.

Start extracting tables today

Free tier includes 100 tables per month. No credit card required.