Skip to main content
POST
Extract tables from a saved extraction

Overview

Pipeline Step 2 (terminal) — Tables requires a prior extraction. This is a terminal step — no further pipeline steps can be chained after it.
Extract structured tables from a saved extraction using Pulse’s semantic and table-structure algorithms. The /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
This is particularly valuable for financial documents (10-Ks, 10-Qs, proxy statements) where span tables encode hierarchy visually rather than explicitly, causing most extraction tools to silently misalign values with the wrong columns.
This endpoint operates on saved extractions (created via /extract with storage enabled, which is the default).
To extract tables from many extractions at once, use Batch Tables.

Async Mode

Set async: 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)

Each table object:

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 with from_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

x-api-key
string
header
required

Body

application/json

Input for the /tables endpoint.

extraction_id
string<uuid>
required

ID of a completed extraction to extract tables from.

tables_config
object

Table extraction configuration. If omitted, defaults are used (merge: false, table_format: "html").

async
boolean
default:false

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.

tables_id
string<uuid>
required

Persisted tables version ID. Can be used to retrieve the tables result later.

tables_output
object
required

The extracted tables data.

credits_used
number<float> | null

Number of credits consumed by this request. Only present when the organization has the credit billing system enabled.

plan_info
object

Billing tier and cumulative usage information for the calling org, including this tables run.