Tables
Extract tables from a previously completed extraction. Processes the extraction’s document content and returns structured table data.
Requires the tables_endpoint feature flag to be enabled for your
organization.
Set async: true to return immediately with a tables_id for
polling via GET /job/{tables_id}.
To extract tables from many extractions at once, see Batch Tables or the Batch Processing guide.
Overview
/tables endpoint detects and reconstructs tables from your document, handling:
- Span tables — cells that merge across rows or columns (e.g., “Year Ended December 31” spanning three columns)
- Multi-level header hierarchies — nested spans like period → segment → line item
- Cross-page tables — tables that continue across page breaks, automatically merged with row-continuity tracking
/extract with storage enabled, which is the default).Async Mode
Setasync: true to return immediately with a job ID for polling. See Polling for Results for details.
Request
Request Body
Tables Config (tables_config)
Response
Synchronous Response (200)
Async Response (200)
Example Usage
Basic Table Extraction
With Cross-Page Table Merging
With Chart-to-Table Conversion
Convert figures and charts into structured tables using LLM processing. Chart-derived tables are marked withfrom_chart: true in the response.
Async Processing
Error Responses
When to Use Tables vs. Basic Extraction
Basic extraction via/extract already returns tables in the markdown output. Use the /tables endpoint when you need:
- Span-aware table parsing — correct handling of merged cells, multi-level headers, and column/row spans
- Cross-page table merging — tables that continue across page breaks reconstructed into a single table
- Financial document accuracy — SEC filings, annual reports, and other documents where misaligned columns mean wrong data
- Dedicated table output — clean HTML tables with citation tracking, separated from the rest of the document content
Authorizations
Body
Input for the /tables endpoint.
ID of a completed extraction to extract tables from.
Table extraction configuration. If omitted, defaults are used (merge: false, table_format: "html").
When true, returns immediately with a job ID. Poll GET /job/{tables_id} for the result.
Response
Table extraction result (when async=false or omitted).
Result of table extraction.
Persisted tables version ID. Can be used to retrieve the tables result later.
The extracted tables data.
Number of credits consumed by this request. Only present when the organization has the credit billing system enabled.
Billing tier and cumulative usage information for the calling org, including this tables run.