LlamaParse Extract API
The Extract API from LlamaParse — 5 operation(s) for extract.
The Extract API from LlamaParse — 5 operation(s) for extract.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/llamaparse-extract-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Llama Platform Agent Data Extract API
version: 0.1.0
servers:
- url: https://api.cloud.llamaindex.ai
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Extract
paths:
/api/v2/extract/schema/validation:
post:
tags:
- Extract
summary: Validate Extraction Schema
description: Validate a JSON schema for extraction.
operationId: validate_extraction_schema_api_v2_extract_schema_validation_post
security:
- HTTPBearer: []
parameters:
- name: session
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Session
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractV2SchemaValidateRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractV2SchemaValidateResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v2/extract/schema/generate:
post:
tags:
- Extract
summary: Generate Extraction Schema
description: Generate a JSON schema and return a product configuration request.
operationId: generate_extraction_schema_api_v2_extract_schema_generate_post
security:
- HTTPBearer: []
parameters:
- name: project_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Project Id
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Organization Id
- name: session
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Session
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractV2SchemaGenerateRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationCreateRequest'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v2/extract:
post:
tags:
- Extract
summary: Create Extract Job
description: 'Create an extraction job.
Extracts structured data from a document using either a saved
configuration or an inline JSON Schema.
## Input
Provide exactly one of:
- `configuration_id` — reference a saved extraction config
- `configuration` — inline configuration with a `data_schema`
## Document input
Set `file_input` to a file ID (`dfl-...`) or a
completed parse job ID (`pjb-...`).
The job runs asynchronously. Poll `GET /extract/{job_id}` or
register a webhook to monitor completion.'
operationId: create_extract_job_api_v2_extract_post
security:
- HTTPBearer: []
parameters:
- name: project_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Project Id
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Organization Id
- name: session
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Session
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractV2JobCreate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractV2Job'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Extract
summary: List Extract Jobs
description: 'List extraction jobs with optional filtering and pagination.
Filter by `configuration_id`, `status`, `file_input`,
or creation date range. Results are returned newest-first.
Use `expand=configuration` to include the full configuration used,
and `expand=extract_metadata` for per-field metadata.'
operationId: list_extract_jobs_api_v2_extract_get
security:
- HTTPBearer: []
parameters:
- name: document_input_type
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by document input type (file_id or parse_job_id)
title: Document Input Type
description: Filter by document input type (file_id or parse_job_id)
- name: file_input
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by file input value
title: File Input
description: Filter by file input value
- name: document_input_value
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'Deprecated: use file_input instead'
deprecated: true
title: Document Input Value
description: 'Deprecated: use file_input instead'
deprecated: true
- name: status
in: query
required: false
schema:
anyOf:
- enum:
- PENDING
- THROTTLED
- RUNNING
- COMPLETED
- FAILED
- CANCELLED
type: string
- type: 'null'
description: Filter by status
title: Status
description: Filter by status
- name: page_size
in: query
required: false
schema:
anyOf:
- type: integer
- type: 'null'
description: Number of items per page
title: Page Size
description: Number of items per page
- name: page_token
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Token for pagination
title: Page Token
description: Token for pagination
- name: job_ids
in: query
required: false
schema:
anyOf:
- type: array
items:
type: string
- type: 'null'
description: Filter by specific job IDs
title: Job Ids
description: Filter by specific job IDs
- name: expand
in: query
required: false
schema:
type: array
items:
type: string
description: 'Additional fields to include: configuration, extract_metadata'
title: Expand
description: 'Additional fields to include: configuration, extract_metadata'
- name: project_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Project Id
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Organization Id
- name: configuration_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by configuration ID
examples:
- cfg-11111111-2222-3333-4444-555555555555
title: Configuration Id
description: Filter by configuration ID
- name: created_at_on_or_after
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
description: Include items created at or after this timestamp (inclusive)
title: Created At On Or After
description: Include items created at or after this timestamp (inclusive)
- name: created_at_on_or_before
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
description: Include items created at or before this timestamp (inclusive)
title: Created At On Or Before
description: Include items created at or before this timestamp (inclusive)
- name: session
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Session
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractV2JobQueryResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v2/extract/{job_id}:
get:
tags:
- Extract
summary: Get Extract Job
description: 'Get a single extraction job by ID.
Returns the job status and results when complete.
Use `expand=configuration` to include the full configuration used,
and `expand=extract_metadata` for per-field metadata.'
operationId: get_extract_job_api_v2_extract__job_id__get
security:
- HTTPBearer: []
parameters:
- name: job_id
in: path
required: true
schema:
type: string
title: Job Id
- name: expand
in: query
required: false
schema:
type: array
items:
type: string
description: 'Additional fields to include: configuration, extract_metadata'
title: Expand
description: 'Additional fields to include: configuration, extract_metadata'
- name: project_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Project Id
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Organization Id
- name: session
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Session
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractV2Job'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Extract
summary: Delete Extract Job
description: Delete an extraction job and its results.
operationId: delete_extract_job_api_v2_extract__job_id__delete
security:
- HTTPBearer: []
parameters:
- name: job_id
in: path
required: true
schema:
type: string
title: Job Id
- name: project_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Project Id
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Organization Id
- name: session
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Session
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v2/extract/{job_id}/cancel:
post:
tags:
- Extract
summary: Cancel Extract Job
description: 'Cancel a running extraction job.
Stops processing and marks the job as CANCELLED. Returns the updated job. Jobs already in a terminal state (COMPLETED, FAILED, CANCELLED) cannot be cancelled.'
operationId: cancel_extract_job_api_v2_extract__job_id__cancel_post
security:
- HTTPBearer: []
parameters:
- name: job_id
in: path
required: true
schema:
type: string
title: Job Id
- name: project_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Project Id
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Organization Id
- name: session
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Session
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractV2Job'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
LlamaParseWebhookConfiguration:
properties:
webhook_url:
anyOf:
- type: string
pattern: '^https?:'
- type: 'null'
title: Webhook Url
description: HTTPS URL to receive webhook POST requests. Must be publicly accessible
webhook_headers:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Webhook Headers
description: 'Custom HTTP headers to include in webhook requests. Use for authentication tokens or custom routing. Example: {''Authorization'': ''Bearer xyz''}'
webhook_events:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Webhook Events
description: 'Events that trigger this webhook. Options: ''parse.success'' (job completed), ''parse.error'' (job failed), ''parse.partial_success'' (some pages failed), ''parse.pending'', ''parse.running'', ''parse.cancelled''. If not specified, webhook fires for all events'
examples:
- - parse.success
- parse.error
webhook_output_format:
anyOf:
- type: string
enum:
- string
- json
- type: 'null'
title: Webhook Output Format
description: Format of the webhook payload body. 'string' (default) sends the payload as a JSON-encoded string; 'json' sends it as a JSON object.
examples:
- json
additionalProperties: false
type: object
title: LlamaParseWebhookConfiguration
description: 'Webhook configuration for receiving parsing job notifications.
Webhooks are called when specified events occur during job processing.
Configure multiple webhook configurations to send to different endpoints.'
SplitCategory:
properties:
name:
type: string
maxLength: 200
minLength: 1
title: Name
description: Name of the category.
description:
anyOf:
- type: string
maxLength: 2000
minLength: 1
- type: 'null'
title: Description
description: Optional description of what content belongs in this category.
type: object
required:
- name
title: SplitCategory
description: Category definition for document splitting.
ExtractV2Parameters:
properties:
target_pages:
anyOf:
- type: string
- type: 'null'
title: Target Pages
description: Comma-separated page numbers or ranges to process (1-based). Omit to process all pages.
examples:
- 1,3,5-7
- 1-3,8-10
max_pages:
anyOf:
- type: integer
minimum: 1.0
- type: 'null'
title: Max Pages
description: Maximum number of pages to process. Omit for no limit.
examples:
- 10
tier:
type: string
enum:
- cost_effective
- agentic
title: Tier
description: 'Extract tier: cost_effective (5 credits/page) or agentic (15 credits/page)'
default: cost_effective
examples:
- cost_effective
- agentic
version:
type: string
title: Version
description: Use 'latest' for the latest release for the selected tier or a date string (YYYY-MM-DD format) to pin to the nearest release at or before that date.
default: latest
examples:
- latest
data_schema:
additionalProperties:
anyOf:
- additionalProperties: true
type: object
- items: {}
type: array
- type: string
- type: integer
- type: number
- type: boolean
- type: 'null'
type: object
title: Data Schema
description: JSON Schema defining the fields to extract. Validate with the /schema/validate endpoint first.
extraction_target:
type: string
enum:
- per_doc
- per_page
- per_table_row
title: Extraction Target
description: 'Granularity of extraction: per_doc returns one object per document, per_page returns one object per page, per_table_row returns one object per table row'
default: per_doc
examples:
- per_doc
- per_page
- per_table_row
system_prompt:
anyOf:
- type: string
- type: 'null'
title: System Prompt
description: Custom system prompt to guide extraction behavior
examples:
- Extract all monetary values in USD. If a currency is not specified, assume USD.
cite_sources:
type: boolean
title: Cite Sources
description: Include citations in results
default: false
confidence_scores:
type: boolean
title: Confidence Scores
description: Include confidence scores in results
default: false
parse_tier:
anyOf:
- type: string
- type: 'null'
title: Parse Tier
description: Parse tier to use before extraction. Defaults to the extract tier if not specified.
examples:
- fast
- cost_effective
parse_config_id:
anyOf:
- type: string
- type: 'null'
title: Parse Config Id
description: Saved parse configuration ID to control how the document is parsed before extraction
examples:
- cfg-11111111-2222-3333-4444-555555555555
product_type:
type: string
const: extract_v2
title: Product Type
description: Product type.
type: object
required:
- data_schema
- product_type
title: ExtractV2Parameters
description: Typed parameters for an *extract v2* product configuration.
UntypedParameters:
properties:
product_type:
type: string
const: unknown
title: Product Type
description: Product type.
additionalProperties: true
type: object
required:
- product_type
title: UntypedParameters
description: 'Catch-all for configurations without a dedicated typed schema.
Accepts arbitrary JSON fields alongside ``product_type``.'
SplitV1Parameters:
properties:
categories:
items:
$ref: '#/components/schemas/SplitCategory'
type: array
maxItems: 50
minItems: 1
title: Categories
description: Categories to split documents into.
splitting_strategy:
$ref: '#/components/schemas/SplitStrategy'
description: Strategy for splitting documents.
product_type:
type: string
const: split_v1
title: Product Type
description: Product type.
type: object
required:
- categories
- product_type
title: SplitV1Parameters
description: Typed parameters for a *split v1* product configuration.
LlamaParseTables:
properties:
compact_markdown_tables:
anyOf:
- type: boolean
- type: 'null'
title: Compact Markdown Tables
description: Remove extra whitespace padding in markdown table cells for more compact output
output_tables_as_markdown:
anyOf:
- type: boolean
- type: 'null'
title: Output Tables As Markdown
description: Output tables as markdown pipe tables instead of HTML <table> tags. Markdown tables are simpler but cannot represent complex structures like merged cells
markdown_table_multiline_separator:
anyOf:
- type: string
- type: 'null'
title: Markdown Table Multiline Separator
description: 'Separator string for multiline cell content in markdown tables. Example: ''<br>'' to preserve line breaks, '' '' to join with spaces'
merge_continued_tables:
anyOf:
- type: boolean
- type: 'null'
title: Merge Continued Tables
description: Automatically merge tables that span multiple pages into a single table. The merged table appears on the first page with merged_from_pages metadata
additionalProperties: false
type: object
title: LlamaParseTables
description: Table formatting options for markdown output.
LlamaParseOutputOptions:
properties:
markdown:
$ref: '#/components/schemas/LlamaParseMarkdownOptions'
description: Markdown formatting options including table styles and link annotations
spatial_text:
$ref: '#/components/schemas/LlamaParseSpatialTextOptions'
description: Spatial text output options for preserving document layout structure
tables_as_spreadsheet:
$ref: '#/components/schemas/LlamaParseTablesAsSpreadsheetOptions'
description: Options for exporting tables as XLSX spreadsheets
extract_printed_page_number:
anyOf:
- type: boolean
- type: 'null'
title: Extract Printed Page Number
description: Extract the printed page number as it appears in the document (e.g., 'Page 5 of 10', 'v', 'A-3'). Useful for referencing original page numbers
images_to_save:
items:
type: string
enum:
- screenshot
- embedded
- layout
type: array
title: Images To Save
description: 'Image categories to extract and save. Options: ''screenshot'' (full page renders useful for visual QA), ''embedded'' (images found within the document), ''layout'' (cropped regions from layout detection like figures and diagrams). Empty list saves no images'
additional_outputs:
items:
type: string
type: array
title: Additional Outputs
description: 'Optional additional output artifacts to save alongside the primary parse output. Each value opts in to generating and persisting one extra file; the empty list (default) saves none. The three accepted values are: ''stripped_md'' — per-page markdown stripped of formatting (links, bold/italic, images, HTML), saved as JSON for full-text-search indexing; fetch via `expand=stripped_markdown_content_metadata`. ''concatenated_stripped_txt'' — all stripped pages concatenated into a single plain-text file with `\n\n---\n\n` between pages, useful for feeding the document into search or embedding pipelines as one blob; fetch via `expand=concatenated_stripped_markdown_content_metadata`. ''word_bbox'' — raw word-level bounding boxes (one JSON object per word, with page number and x/y/w/h coordinates) saved as JSONL, useful for highlighting or grounding extracted answers back to the source document; fetch via `expand=raw_words_content_metadata`.'
examples:
- - stripped_md
- concatenated_stripped_txt
- word_bbox
granular_bboxes:
items:
type: string
enum:
- cell
- line
- word
type: array
title: Granular Bboxes
description: Bounding-box granularity levels to compute for the parse. 'word' computes one bounding box per detected word; 'line' computes one per text line; 'cell' computes one per table cell. Multiple levels can be requested. Empty list (default) disables granular bboxes — only item-level layout boxes are returned on the result. When set, the computed boxes are not inlined on the result items; they are written to a separate `grounded_items` sidecar (JSONL, one row per page) and exposed as `result_content_metadata.grounded_items` (a presigned download URL) on the parse result. Each row matches the `GroundedJsonItem` shape.
examples:
- - word
- line
- cell
additionalProperties: false
type: object
title: LlamaParseOutputOptions
description: 'Output formatting and content extraction options.
Controls how parsed content is formatted and what additional data is extracted.'
AutoModeIgnoreOptions:
properties:
ignore_diagonal_text:
anyOf:
- type: boolean
- type: 'null'
title: Ignore Diagonal Text
description: Whether to ignore diagonal text in the document
ignore_hidden_text:
anyOf:
- type: boolean
- type: 'null'
title: Ignore Hidden Text
description: Whether to ignore hidden text in the document
additionalProperties: false
type: object
title: AutoModeIgnoreOptions
description: Ignore options for auto mode parsing configuration.
LlamaParseHtmlOptions:
properties:
make_all_elements_visible:
anyOf:
- type: boolean
- type: 'null'
title: Make All Elements Visible
description: Force all HTML elements to be visible by overriding CSS display/visibility properties. Useful for parsing pages with hidden content or collapsed sections
remove_fixed_elements:
anyOf:
- type: boolean
- type: 'null'
title: Remove Fixed Elements
description: Remove fixed-position elements (headers, footers, floating buttons) that appear on every page render
remove_navigation_elements:
anyOf:
- type: boolean
- type: 'null'
title: Remove Navigation Elements
description: Remove navigation elements (nav bars, sidebars, menus) to focus on main content
additionalProperties: false
type: object
title: LlamaParseHtmlOptions
description: HTML/web page parsing options.
ExtractV2Job:
properties:
file_input:
type: string
title: File Input
description: File ID or parse job ID that was extracted
examples:
- dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
id:
type: string
title: Id
description: Unique job identifier (job_id)
examples:
- ext-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
project_id:
type: string
title: Project Id
description: Project this job belongs to
examples:
- prj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
configuration_id:
anyOf:
- type: string
- type: 'null'
title: Configuration Id
description: Saved extract configuration ID used for this job, if any
examples:
- cfg-11111111-2222-3333-4444-555555555555
configuration:
anyOf:
- $ref: '#/components/schemas/ExtractConfiguration'
- type: 'null'
description: Configuration used for this job
status:
type: string
title: Status
description: 'Current job status.
- `PENDING` — queued, not yet started
- `RUNNING` — actively processing
- `COMPLETED` — finished successfully
- `FAILED` — terminated with an error
- `CANCELLED` — cancelled by user'
examples:
- COMPLETED
error_message:
anyOf:
- type: string
- type: 'null'
title: Error Message
description: Error details when status is FAILED
extract_result:
anyOf:
- additionalProperties:
anyOf:
- additionalProperties: true
type: object
- items: {}
type: array
- type: string
- type: integer
- type: number
- type: boolean
- type: 'null'
type: object
- items:
additionalProperties:
anyOf:
- additionalProperties: true
type: object
- items: {}
type: array
- type: string
- type: integer
- type: number
- type: boolean
- type: 'null'
type: object
type: array
- type: 'null'
title: Extract Result
description: Extracted data conforming to the data_schema. Returns a single object for per_doc, or an array for per_page / per_table_row.
extract_metadata:
anyOf:
- $ref: '#/components/schemas/ExtractJobMetadata'
- type: 'null'
description: Extraction metadata including per-field info
metadata:
anyOf:
- $ref: '#/components/schemas/ExtractV2JobMetadata'
- type: 'null'
description: Custom metadata - limited to enterprise plans.
created_at:
type: string
format: date-time
title: Created At
description: Creation timestamp
updated_at:
type: string
format: date-time
title: Updated At
description: Last update timestamp
type: object
required:
- file_input
- id
- project_id
- status
- created_at
- updated_at
title: ExtractV2Job
description: An extraction job.
LlamaParseProcessingOptions:
properties:
ignore:
$ref:
# --- truncated at 32 KB (95 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/llamaparse/refs/heads/main/openapi/llamaparse-extract-api-openapi.yml