Parse File
Parse a file by file ID or URL.
Provide either file_id (a previously uploaded file) or
source_url (a publicly accessible URL). Configure parsing
with options like tier, target_pages, and lang.
Tiers
fast— rule-based, cheapest, no AIcost_effective— balanced speed and qualityagentic— full AI-powered parsingagentic_plus— premium AI with specialized features
The job runs asynchronously. Poll GET /parse/{job_id} with
expand=text or expand=markdown to retrieve results.
ParametersExpand Collapse
params: ParsingCreateParams { tier, version, organization_id, 15 more }
version: "2025-12-11" | "2025-12-18" | "2025-12-31" | 39 more | (string & {})
Body param: Options for AI-powered parsing tiers (cost_effective, agentic, agentic_plus).
These options customize how the AI processes and interprets document content. Only applicable when using non-fast tiers.
client_name?: string | null
Body param: Identifier for the client/application making the request. Used for analytics and debugging. Example: ‘my-app-v2’
Body param: Crop boundaries to process only a portion of each page. Values are ratios 0-1 from page edges
bottom?: number | null
Bottom boundary as ratio (0-1). 0=top edge, 1=bottom edge. Content below this line is excluded
left?: number | null
Left boundary as ratio (0-1). 0=left edge, 1=right edge. Content left of this line is excluded
disable_cache?: boolean | null
Body param: Bypass result caching and force re-parsing. Use when document content may have changed or you need fresh results
fast_options?: unknown
Body param: Options for fast tier parsing (rule-based, no AI).
Fast tier uses deterministic algorithms for text extraction without AI enhancement. It’s the fastest and most cost-effective option, best suited for simple documents with standard layouts. Currently has no configurable options but reserved for future expansion.
file_id?: string | null
Body param: ID of an existing file in the project to parse. Mutually exclusive with source_url
http_proxy?: string | null
Body param: HTTP/HTTPS proxy for fetching source_url. Ignored if using file_id
Body param: Format-specific options (HTML, PDF, spreadsheet, presentation). Applied based on detected input file type
html?: HTML { make_all_elements_visible, remove_fixed_elements, remove_navigation_elements }
HTML/web page parsing options (applies to .html, .htm files)
make_all_elements_visible?: boolean | null
Force all HTML elements to be visible by overriding CSS display/visibility properties. Useful for parsing pages with hidden content or collapsed sections
presentation?: Presentation { out_of_bounds_content, skip_embedded_data }
spreadsheet?: Spreadsheet { detect_sub_tables_in_sheets, force_formula_computation_in_sheets, include_hidden_sheets }
Spreadsheet parsing options (applies to .xlsx, .xls, .csv, .ods files)
detect_sub_tables_in_sheets?: boolean | null
Detect and extract multiple tables within a single sheet. Useful when spreadsheets contain several data regions separated by blank rows/columns
Body param: Output formatting options for markdown, text, and extracted images
extract_printed_page_number?: boolean | null
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?: Array<"screenshot" | "embedded" | "layout">
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
markdown?: Markdown { annotate_links, inline_images, tables }
Markdown formatting options including table styles and link annotations
annotate_links?: boolean | null
Add link annotations to markdown output in the format text. When false, only the link text is included
inline_images?: boolean | null
Embed images directly in markdown as base64 data URIs instead of extracting them as separate files. Useful for self-contained markdown output
tables?: Tables { compact_markdown_tables, markdown_table_multiline_separator, merge_continued_tables, output_tables_as_markdown }
Table formatting options including markdown vs HTML format and merging behavior
compact_markdown_tables?: boolean | null
Remove extra whitespace padding in markdown table cells for more compact output
markdown_table_multiline_separator?: string | null
Separator string for multiline cell content in markdown tables. Example: ‘<br>’ to preserve line breaks, ’ ’ to join with spaces
spatial_text?: SpatialText { do_not_unroll_columns, preserve_layout_alignment_across_pages, preserve_very_small_text }
Spatial text output options for preserving document layout structure
do_not_unroll_columns?: boolean | null
Keep multi-column layouts intact instead of linearizing columns into sequential text. Automatically enabled for non-fast tiers
Body param: Page selection: limit total pages or specify exact pages to process
max_pages?: number | null
Maximum number of pages to process. Pages are processed in order starting from page 1. If both max_pages and target_pages are set, target_pages takes precedence
target_pages?: string | null
Comma-separated list of specific pages to process using 1-based indexing. Supports individual pages and ranges. Examples: ‘1,3,5’ (pages 1, 3, 5), ‘1-5’ (pages 1 through 5 inclusive), ‘1,3,5-8,10’ (pages 1, 3, 5-8, and 10). Pages are sorted and deduplicated automatically. Duplicate pages cause an error
Body param: Job execution controls including timeouts and failure thresholds
job_failure_conditions?: JobFailureConditions { allowed_page_failure_ratio, fail_on_buggy_font, fail_on_image_extraction_error, 2 more }
Quality thresholds that determine when a job should fail vs complete with partial results
allowed_page_failure_ratio?: number | null
Maximum ratio of pages allowed to fail before the job fails (0-1). Example: 0.1 means job fails if more than 10% of pages fail. Default is 0.05 (5%)
fail_on_buggy_font?: boolean | null
Fail the job if a problematic font is detected that may cause incorrect text extraction. Buggy fonts can produce garbled or missing characters
fail_on_image_extraction_error?: boolean | null
Fail the entire job if any embedded image cannot be extracted. By default, image extraction errors are logged but don’t fail the job
timeouts?: Timeouts { base_in_seconds, extra_time_per_page_in_seconds }
Body param: Document processing options including OCR, table extraction, and chart parsing
aggressive_table_extraction?: boolean | null
Use aggressive heuristics to detect table boundaries, even without visible borders. Useful for documents with borderless or complex tables
auto_mode_configuration?: Array<AutoModeConfiguration> | null
Conditional processing rules that apply different parsing options based on page content, document structure, or filename patterns. Each entry defines trigger conditions and the parsing configuration to apply when triggered
parsing_conf: ParsingConf { adaptive_long_table, aggressive_table_extraction, crop_box, 11 more }
Parsing configuration to apply when trigger conditions are met
custom_prompt?: string | null
Custom AI instructions for matched pages. Overrides the base custom_prompt
full_page_image_in_page?: boolean | null
Trigger if page contains a full-page image (scanned page detection)
cost_optimizer?: CostOptimizer | null
Cost optimizer configuration for reducing parsing costs on simpler pages.
When enabled, the parser analyzes each page and routes simpler pages to faster, cheaper processing while preserving quality for complex pages. Only works with ‘agentic’ or ‘agentic_plus’ tiers.
disable_heuristics?: boolean | null
Disable automatic heuristics including outlined table extraction and adaptive long table handling. Use when heuristics produce incorrect results
ignore?: Ignore { ignore_diagonal_text, ignore_hidden_text, ignore_text_in_image }
Options for ignoring specific text types (diagonal, hidden, text in images)
ignore_diagonal_text?: boolean | null
Skip text rotated at an angle (not horizontal/vertical). Useful for ignoring watermarks or decorative angled text
ocr_parameters?: OcrParameters { languages }
source_url?: string | null
Body param: Public URL of the document to parse. Mutually exclusive with file_id
webhook_configurations?: Array<WebhookConfiguration>
Body param: Webhook endpoints for job status notifications. Multiple webhooks can be configured for different events or services
webhook_events?: Array<string> | null
Events that trigger this webhook. Options: ‘parse.success’ (job completed), ‘parse.failure’ (job failed), ‘parse.partial’ (some pages failed). If not specified, webhook fires for all events
Parse File
import LlamaCloud from '@llamaindex/llama-cloud';
const client = new LlamaCloud({
apiKey: process.env['LLAMA_CLOUD_API_KEY'], // This is the default and can be omitted
});
const parsing = await client.parsing.create({ tier: 'fast', version: '2025-12-11' });
console.log(parsing.id);{
"id": "pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"project_id": "prj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"status": "PENDING",
"created_at": "2019-12-27T18:11:19.117Z",
"error_message": "error_message",
"name": "Q4 Financial Report",
"tier": "fast",
"updated_at": "2019-12-27T18:11:19.117Z"
}Returns Examples
{
"id": "pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"project_id": "prj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"status": "PENDING",
"created_at": "2019-12-27T18:11:19.117Z",
"error_message": "error_message",
"name": "Q4 Financial Report",
"tier": "fast",
"updated_at": "2019-12-27T18:11:19.117Z"
}