PDF Tables to CSV & JSON - every table, every page
Pricing
from $2.00 / 1,000 table extracteds
PDF Tables to CSV & JSON - every table, every page
Paste PDF links; get every table back as rows, header-keyed JSON records and CSV, with page number and position. Finds ruled and unruled tables. $2 per 1,000 tables; pages without tables are free.
Pricing
from $2.00 / 1,000 table extracteds
Rating
0.0
(0)
Developer
Forge Creations
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Security
Limited permissionsShare
PDF Tables to CSV & JSON: every table, every page
Paste links to PDFs. You get every table back, ready to use:
rows: the table as a list of rowsrecords: one JSON object per row, keyed by the header rowcsv: the same table as CSV text, ready for a spreadsheetpage,table_indexandbboxso you know where each table came from
It finds ruled tables (drawn grid lines) and unruled tables (columns lined up with spaces), and drops page titles and footnotes that sit next to a table. Each row says how the table was found.
Pricing
| What | Price |
|---|---|
| Table extracted | $0.002 ($2 per 1,000 tables) |
| Apify start fee | $0.00005 per run |
Pages without tables, scanned pages, failed downloads and non-PDF files are not charged. Set a maximum charge in run options to cap spending.
Input
| Field | Default | Notes |
|---|---|---|
| fileUrls | required | Public http(s) links to PDFs, 50 MB max each |
| pages | all | e.g. 1-3,7 |
| maxPagesPerFile | 200 | Pages read per PDF |
| strategy | auto | auto, lines (ruled only) or text (aligned only) |
| firstRowIsHeader | true | Column names for records |
Output (one row per table)
source_url, page, pages_total, table_index, detected_by, n_rows, n_cols, header, rows, records, csv, bbox, status
Files without tables return one free row with status: no_tables and a note.
Limits
- Scanned PDFs have no text layer, so there is nothing to read as a table. Run them through PDF & Image to Text (OCR) first.
- Merged cells come back in the first cell they cover; the other cells are empty.
- Unruled tables with multi-line headers can split header words across columns; the data rows are usually clean. Check
detected_by. - Very complex layouts (nested tables, rotated text) may need the
linesortextsetting.
Works well with
- n8n, Make, Zapier: call it per PDF and map
recordsstraight into your sheet or database. - PDF & Image to Text from the same developer for the text around the tables.
Support
Open an issue on the Issues tab with the PDF URL (if shareable) and the run ID.