PDF Table Extractor: PDF to Excel, JSON, Markdown + QA flags avatar

PDF Table Extractor: PDF to Excel, JSON, Markdown + QA flags

Pricing

Pay per event

Go to Apify Store
PDF Table Extractor: PDF to Excel, JSON, Markdown + QA flags

PDF Table Extractor: PDF to Excel, JSON, Markdown + QA flags

Extract tables from text-based PDFs into typed JSON rows, Markdown and an Excel workbook. Doubtful values, empty numeric cells and totals that don't add up are flagged instead of guessed. For analysts, data pipelines and AI agents.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Cesar Rodriguez

Cesar Rodriguez

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

PDF Table Extractor: PDF to Excel, JSON & Markdown (with QA flags)

Turn text-based PDFs (financial statements, statistical reports, price lists, government tables, invoices with ruled tables) into structured tables: typed JSON rows, Markdown, and one Excel workbook per run. Every doubtful value is flagged instead of guessed.

Built for data teams, analysts and AI/RAG pipelines that need numbers they can check, not a best-effort blob of text.

What you get (per PDF)

  • tables[] – headers, typed numeric rows (US 1,234.56 and DE 1.234,56 are detected per table), markdown, page numbers, per-table flags.
  • Tables that continue on the next page are merged (repeated header or header-less continuation).
  • flags[] – everything you should look at: empty cells in numeric columns, ambiguous thousands/decimal separators, totals that do not equal the sum of the rows above, pages without a text layer, pages that contain images but no readable data.
  • text – full page-separated text (optional).
  • RESULTS.xlsx (key-value store, link in the run output) – one sheet per table, yellow cells = review, Flags sheet, source file/pages on every row.
  • Optional (experimental): values of vector bar charts that carry numeric data labels.

Honest limits

  • No OCR: scanned PDFs are reported (status: no-text-layer, scannedPages) and not charged. No values are invented.
  • Works best on tables with ruling lines or clearly aligned columns. Tables embedded in running prose (typical in academic papers) or with merged/rotated cells can be missed or split – check flags and tableCount.
  • Only public http(s) URLs. Files larger than the configured limit are skipped.
  • You are responsible for having the right to process the documents you submit.

Input

{
"pdfUrls": [{ "url": "https://www.federalreserve.gov/monetarypolicy/files/fomcprojtabl20240918.pdf" }],
"includeText": true,
"maxPagesPerPdf": 100,
"headerMap": { "Revenue": ["sales", "turnover", "umsatz"] }
}

headerMap is optional and unifies column names across documents; unmapped headers are kept exactly as found.

Output (dataset item, shortened)

{
"fileName": "fomcprojtabl20240918.pdf",
"status": "ok",
"pages": 17,
"tableCount": 6,
"tables": [{
"index": 1, "pages": [3], "numberLocale": "unknown",
"headers": ["Variable", "2024", "2025", "2026"],
"rows": [["Change in real GDP", 2.0, 2.0, 2.0]],
"markdown": "| Variable | 2024 | ... |",
"flags": []
}],
"flagCount": 0, "flags": [], "scannedPages": []
}

Pricing

Pay per event (see the Pricing tab): a small fee per run start, per PDF processed and per table extracted. Failed downloads, non-PDF responses and scanned PDFs without text are not charged. Set Max total charge on your run to cap spending.

Use with AI agents / MCP

Runs through the Apify MCP server: an agent can pass PDF URLs and read back structured tables plus the list of items that need human review.

FAQ

Does it send my files anywhere? The Actor downloads the URL you give it, parses it with the open-source pdfplumber library inside the run, and stores results in your run storages. No third-party AI service is called.

Why did it find 0 tables? The PDF may have no text layer (scan), or the tables may sit inside running text. See scannedPages and flags; try another document or open an issue in the Actor's Issues tab.

Can it read charts? Only vector bar charts with numeric data labels, and only when includeCharts is on. Everything else is flagged for visual review.