Base URL
All API requests should be made to:Authentication
All endpoints require authentication via API key in the request header:Available Endpoints
Pipeline Steps
Extract
POST
/extractParse documents into markdown, layout, figures, chunks, tables, and an extraction_id.Schema
POST
/schemaApply schemas to extract structured JSON from one extraction, many extractions, or split topics.Tables
POST
/tablesExtract table-first output with span handling, cross-page merging, and chart-to-table conversion.Split
POST
/splitSplit a document into topic-based page groups for routing or per-topic downstream steps.Batch Processing
Batch Processing
POST
/batch/extract, /batch/schema, /batch/tables, /batch/splitRun a workflow across many documents.Forms
Fill Form
POST
/form/fillFill a PDF form from natural-language instructions, or run layout-only OCR on form cells.Clear Form
POST
/form/clearStrip user-filled values from a PDF while preserving the printed template.Jobs, Results & Webhooks
Poll Job
GET
/job/{jobId}Check status and retrieve results of async jobs.Cancel Job
DELETE
/job/{jobId}Cancel a pending or processing async job.Webhooks
POST
/webhookGet portal link to configure webhook endpoints.Large Results
GET
/results/{jobId}Download a completed result that is too large for inline job responses.Result Images
GET
/results/{jobId}/images/{filename}Download visual assets emitted by extraction.Result PDFs
GET
/results/{jobId}/pdfDownload PDFs produced by form workflows.Async Processing
Guide to using
async: true and polling for results.Account & Usage
Get Usage
GET
/usageBilling-period credit status plus document, page, and credit totals with a day/week/month timeline.Deprecated Endpoints
Credit Usage
Pulse bills in credits. Each pipeline step is billed based on the pages (or tables) processed.API keys can have per-key credit caps configured. Requests that would exceed a key’s cap are rejected before processing.
GET /usage.
Status Codes
Best Practices
Use Appropriate Endpoints
Use Appropriate Endpoints
- Use
/extractfor all extractions — it’s the primary endpoint - Set
async: truefor large documents or batch processing - Use
file_urlparameter when you have documents hosted online - Use
/schemafor named JSON fields,/tablesfor table-first output, and/splitfor topic routing
Handle Errors Gracefully
Handle Errors Gracefully
- Implement retry logic with exponential backoff
- Check error codes and handle specifically
- Log errors for debugging
Optimize Performance
Optimize Performance
- Process only necessary pages
- Use schemas for structured extraction
- Cache results when possible
Security
Security
- Never expose API keys in client code
- Use environment variables
- Rotate keys regularly
- Validate file types before upload
Next Steps
Explore specific endpoints:Pipeline Overview
Learn how extract, schema, tables, and split work together
API Quickstart
Get started quickly