Skip to main content
documents.parse converts a document into structured text. It can return markdown, plain text, layout blocks, optional chunks, image crops, spreadsheet metadata, or an audio/video transcript depending on the source and options. OCR runs automatically when the document needs it. Read ocr_applied on the result to see whether it ran.

Basic usage


Method signature

Parameters

Returns

A Job. After success, job.result is a ParseResult: Ordinary results keep the requested content inline and leave content_url null. An oversized Office package that uses structural-text parsing exposes complete extracted text at document.content_url and reports parse_fidelity with mode="reduced_layout". Separately, when a finalized document result is too large, Markdown/text is a bounded preview, document.content_url contains the complete finalized content, and a content_truncated disclosure has target="document_content". Oversized workbooks use target="spreadsheet_region" and expose complete Markdown under each affected document.spreadsheet.sheets[].content_url. Fetch these URLs with the same X-API-Key used by the client.

Source options

Staged upload

Public or presigned URL

Workspace file

See Sources and uploads for lifecycle and access rules.

Configuration

Select pages and processing effort

Use low for the default native path, medium to route to the best parser, and high when page-level verification and correction justify additional latency.

Choose output formats

The default formats are markdown and blocks. Omitted renderings are None. table_format accepts html or markdown and defaults to html. include_page_markers defaults to True.

OCR and OCR geometry

OCR mode is automatic, and ParseResult.ocr_applied reports whether it ran. Although ParseOcrOptions exposes languages, the current runtime rejects a non-empty language list.

Figures and diagrams

figures.mode accepts omit, include, or describe and defaults to include. Diagram mode accepts omit or mermaid and defaults to omit.

Chunking

Chunking defaults to none, which leaves document.chunks empty. Use page or section for retrieval-oriented chunks. Use markdown for whole-document display.

Spreadsheet controls

An empty sheets list is rejected. Formula source text requires HTML table output and markdown or blocks in output.formats.

Encrypted PDF

The password is accepted only for PDF sources and is excluded from stored job requests and representations.

Response structure

Layout block locations vary by source: pages use normalized polygons, workbooks use sheet ranges, tables can use row ranges, and structured text can use JSON pointers or character spans. Audio and video use the same method. Their result lane is audio or video, and transcript contains the speaker-attributed timeline on a single-job read. See Parse response format.

Reuse a parse

Pass a successful parse job to extract, split, or ground to avoid paying for the same parse twice:
Classify does not accept a parse-result source. Page selection is unavailable when reusing a parse, and a reused parse cannot add images that were not already produced.

Async parse

Use the async client guide for bounded concurrent processing.

Complete example


Error handling

Common failures include an unsupported format, a corrupt file, invalid page ranges, a wrong PDF password, or options incompatible with the source.

Best practices

Request only what you use

Extra renderings, images, descriptions, and higher parse modes add work. Figure descriptions are enabled by default; pass ParseFiguresOptions(mode="omit") when you do not need them.

Inspect OCR status

Use ocr_applied rather than assuming every document was OCR-processed.

Chunk for retrieval

Choose page or section chunking for RAG. Keep whole-document markdown for display.

Reuse successful parses

Pass ParseResultSource to extract, split, or ground when they should read the same parse.

Next steps