{"uid":"cap_hc8mHGCGS8NTklkLk3hcC","slug":"tanod-docs-pdf-table-extractor-eff14e70","name":"Tanod Docs PDF Table Extractor","description":"Documents: DOCX template fill, Office to PDF, any file to Markdown, PDF to Word, OCR, PDF pipeline.","url":"https://docs.tanod.dev/v1/pdf/tables?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"anyOf":[{"type":"string","maxLength":2048,"minLength":1},{"type":"null"}],"default":null,"description":"Public http(s) URL of the PDF (at most 20 MB; private, internal and IP-literal hosts are refused); or use file_base64."},"pages":{"anyOf":[{"type":"string","pattern":"^[0-9a-zA-Z ,\\-]+$","maxLength":200,"minLength":1},{"type":"null"}],"default":null,"description":"Pages to read (default all; at most 200 per call): N, N-M, N- (to the end), -M, last; comma separated, e.g. 1-5,9."},"format":{"enum":["json","csv","xlsx"],"type":"string","default":"json","description":"json (default: every table with its page, box, header and rows), csv (one CSV file per table) or xlsx (one workbook, a sheet per table)."},"output":{"enum":["base64","url"],"type":"string","default":"base64","description":"base64 (default): the file comes back inline as base64. url: the file is stored for 24 hours and the reply carries a download link (url, expires_at, bytes, content_type, sha256) instead of the base64, which keeps the file out of your context window."},"file_base64":{"anyOf":[{"type":"string","maxLength":13398872,"minLength":1},{"type":"null"}],"default":null,"description":"The PDF as base64 (at most 10 MB decoded); or use url."}}},"responseSchema":{"type":"json","example":{"format":"json","tables":[{"bbox":[56,130,536,262],"name":"page1-table1","page":1,"rows":[["North","1,204","1,311","1,402","1,590","5,507"],["South","980","1,015","1,120","1,205","4,320"],["East","1,512","1,498","1,630","1,774","6,414"],["West","866","902","951","1,040","3,759"],["Total","4,562","4,726","5,103","5,609","20,000"]],"index":1,"header":["Region","Q1","Q2","Q3","Q4","Total"],"method":"lines","columns":6,"row_count":5}],"operation":"tables","input_bytes":2963,"input_pages":1,"table_count":1,"pages_processed":1,"untrusted_content":true,"pages_without_text":[]}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_pFuJlPHhu06hWp5vvsSPV","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Extracts tables from a PDF file and returns them as structured JSON, CSV, or Excel (XLSX) with per-table page, bounding box, headers, and row data.","exampleAgentPrompt":"Pull all the tables from this PDF report — https://example.com/annual-report.pdf — and give me the data in JSON format so I can see each table's headers and rows.","exampleUseCases":[{"title":"Extract financial data from annual report","prompt":"Can you extract all the tables from this annual report PDF — https://example.com/annual-report-2024.pdf — and return the data as JSON? I want to see the headers and row values for each table."},{"title":"Convert PDF tables to Excel for analysis","prompt":"I have a PDF with several data tables at https://example.com/survey-results.pdf — can you extract just pages 3 through 7 and export them into an XLSX file so I can open them in Excel?"},{"title":"Grab specific page tables as CSV","prompt":"There's a PDF at https://example.com/q3-metrics.pdf with a big table on page 2. Can you extract that single page as a CSV and give me a download link instead of sending the whole thing inline?"}],"resultDescription":"A JSON response containing the operation type, input byte size, page count, and a `tables` array. Each table entry includes its page number, bounding box coordinates, auto-generated name, detection method, column count, row count, a `header` array of column names, and a `rows` array of string arrays. For CSV or XLSX output formats, the file is returned either base64-encoded inline or as a time-limited download URL with expiry, byte size, content type, and SHA-256 hash.","failureModes":["PDF URL is inaccessible, private, or internal (IP-literal hosts refused)","File exceeds 20 MB via URL or 10 MB via base64","No tables detected in the specified pages","Page range is invalid or exceeds 200-page limit","PDF is scanned/image-only with no extractable text (pages_without_text returned)","Invalid base64 encoding for file_base64 input","Unsupported format or output enum value"],"whenToPreferThis":"Choose this endpoint when you need to extract structured tabular data from a PDF — especially for reports, financial documents, or data exports where you need headers and rows. It is purpose-built for PDF table detection and returns rich metadata (page, bounding box, header detection) in multiple output formats (JSON, CSV, XLSX). Prefer it over generic PDF-to-text or OCR endpoints when the output must be machine-readable structured tables rather than raw text.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-13T12:46:14.524Z","isFirstParty":false,"canonicalSlug":"tanod-docs-pdf-table-extractor-eff14e70"}