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
ParsingCreateParams parameters
Body param: Version for the selected tier. Use latest, or pin one of that tier’s dated versions.
Current latest by tier:
fast:2026-06-15cost_effective:2026-06-26agentic:2026-07-15agentic_plus:2026-07-08
Full list: GET /api/v2/parse/versions.
AgenticOptions? agenticOptions
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.
string? clientName
Body param: Identifier for the client/application making the request. Used for analytics and debugging. Example: ‘my-app-v2’
string? configurationID
Body param: ID of a saved parse configuration. When set, tier and version default to the saved configuration’s values — omit them or pass 'configured'.
CropBox cropBox
Body param: Crop boundaries to process only a portion of each page. Values are ratios 0-1 from page edges
Double? Bottom
Bottom boundary as ratio (0-1). 0=top edge, 1=bottom edge. Content below this line is excluded
Double? Left
Left boundary as ratio (0-1). 0=left edge, 1=right edge. Content left of this line is excluded
Boolean? disableCache
Body param: Bypass result caching and force re-parsing. Use when document content may have changed or you need fresh results
JsonElement? fastOptions
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.
string? fileID
Body param: ID of an existing file in the project to parse. Mutually exclusive with source_url
InputOptions inputOptions
Body param: Format-specific options (HTML, PDF, spreadsheet, presentation). Applied based on detected input file type
Html Html
HTML/web page parsing options (applies to .html, .htm files)
Boolean? MakeAllElementsVisible
Force all HTML elements to be visible by overriding CSS display/visibility properties. Useful for parsing pages with hidden content or collapsed sections
Image Image
Image parsing options (applies to .jpg, .jpeg, .png, .webp files)
Boolean? CameraPhotoCorrection
Detect documents photographed with a camera (e.g. phone scans of receipts or forms), then crop, perspective-correct, and flatten uneven lighting and shadows before parsing. Supports JPEG, PNG, WebP, and HEIC/HEIF inputs. Improves results when the document is tilted or surrounded by background. Images that already look like clean scans are left untouched
Presentation Presentation
Spreadsheet Spreadsheet
Spreadsheet parsing options (applies to .xlsx, .xls, .csv, .ods files)
Boolean? DetectSubTablesInSheets
Detect and extract multiple tables within a single sheet. Useful when spreadsheets contain several data regions separated by blank rows/columns
OutputOptions outputOptions
Body param: Output formatting options for markdown, text, and extracted images
IReadOnlyList<string> AdditionalOutputs
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.
Boolean? ExtractPrintedPageNumber
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
IReadOnlyList<GranularBbox> GranularBboxes
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.
IReadOnlyList<ImagesToSave> ImagesToSave
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
Markdown formatting options including table styles and link annotations
Boolean? AnnotateLinks
Add link annotations to markdown output in the format text. When false, only the link text is included
Boolean? InlineImages
Embed images directly in markdown as base64 data URIs instead of extracting them as separate files. Useful for self-contained markdown output
Tables Tables
Table formatting options including markdown vs HTML format and merging behavior
Boolean? CompactMarkdownTables
Remove extra whitespace padding in markdown table cells for more compact output
string? MarkdownTableMultilineSeparator
Separator string for multiline cell content in markdown tables. Example: ‘<br>’ to preserve line breaks, ’ ’ to join with spaces
SpatialText SpatialText
Spatial text output options for preserving document layout structure
Boolean? DoNotUnrollColumns
Keep multi-column layouts intact instead of linearizing columns into sequential text. Automatically enabled for non-fast tiers
PageRanges pageRanges
Body param: Page selection: limit total pages or specify exact pages to process
Long? MaxPages
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
string? TargetPages
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
ProcessingControl processingControl
Body param: Job execution controls including timeouts and failure thresholds
JobFailureConditions JobFailureConditions
Quality thresholds that determine when a job should fail vs complete with partial results
Double? AllowedPageFailureRatio
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%)
Boolean? FailOnBuggyFont
Fail the job if a problematic font is detected that may cause incorrect text extraction. Buggy fonts can produce garbled or missing characters
Boolean? FailOnImageExtractionError
Fail the entire job if any embedded image cannot be extracted. By default, image extraction errors are logged but don’t fail the job
ProcessingOptions processingOptions
Body param: Document processing options including OCR, table extraction, and chart parsing
Boolean? AggressiveTableExtraction
Use aggressive heuristics to detect table boundaries, even without visible borders. Useful for documents with borderless or complex tables
IReadOnlyList<AutoModeConfiguration>? AutoModeConfiguration
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
required ParsingConf ParsingConf
Parsing configuration to apply when trigger conditions are met
ConfidenceScoreEffort? ConfidenceScoreEffort
Confidence scoring effort. Omit for standard scoring. ‘high’: more accurate assessment of the parsing quality of every page, plus a document-level score in the result metadata; costs an additional 5 credits per page
CostOptimizer? CostOptimizer
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.
Boolean? DisableHeuristics
Disable automatic heuristics including outlined table extraction and adaptive long table handling. Use when heuristics produce incorrect results
Forms? Forms
Beta: set to ‘enrich’ to run an additional AI form-analysis pass on pages detected as forms, producing a structured tree of the form’s sections, fields, and fillable grids. Retrieve the result with expand=forms. ‘default’ (the default) applies standard parsing with no extra pass. Not available on the fast tier
Ignore Ignore
Options for ignoring specific text types (diagonal, hidden, text in images)
Boolean? IgnoreDiagonalText
Skip text rotated at an angle (not horizontal/vertical). Useful for ignoring watermarks or decorative angled text
OcrParameters OcrParameters
IReadOnlyDictionary<string, string>? userMetadata
Body param: Arbitrary key/value tags to attach to this job. Returned when retrieving the job. Not searchable. Limits apply to the number of entries and the length of keys and values; oversized metadata is rejected.
IReadOnlyList<string>? webhookConfigurationIds
Body param: IDs of saved webhook configurations to notify for this job.
IReadOnlyList<WebhookConfiguration> webhookConfigurations
Body param: Webhook endpoints for job status notifications. Multiple webhooks can be configured for different events or services
IReadOnlyList<string>? WebhookEvents
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
IReadOnlyDictionary<string, JsonElement>? WebhookHeaders
Custom HTTP headers to include in webhook requests. Use for authentication tokens or custom routing. Example: {‘Authorization’: ‘Bearer xyz’}
string? WebhookSigningSecret
Shared signing secret used to sign webhook deliveries. When set, each request includes an HMAC-SHA256 signature of the request body in the ‘LC-Signature’ header (value ‘sha256=
Parse File
ParsingCreateParams parameters = new()
{
Tier = Tier.Fast,
Version = Version.Latest,
};
var parsing = await client.Parsing.Create(parameters);
Console.WriteLine(parsing);{
"id": "pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"project_id": "prj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"status": "CANCELLED",
"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",
"user_metadata": {
"owner": "jerry",
"team": "research"
}
}Returns Examples
{
"id": "pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"project_id": "prj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"status": "CANCELLED",
"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",
"user_metadata": {
"owner": "jerry",
"team": "research"
}
}