Best Practices
This guide covers best practices for using the Parse API, including performance optimization and accuracy improvements.
Async processing and webhooks
The Parse API uses asynchronous processing via POST /parse_runs. This returns a parse run ID that you can use to check status with GET /parse_runs/{id}.
Two ways to get results:
-
Polling - Periodically call
GET /parse_runs/{id}until status isPROCESSEDorFAILED. Simple to implement but less efficient. -
Webhooks - Configure a webhook endpoint to receive notifications when parsing completes. More efficient for production workloads.
For large documents with long processing times, consider using webhooks to avoid unnecessary polling requests. See Webhooks for setup instructions.
Performance optimization
For fastest processing:
- Set
blockOptions.text.agentic.enabledtofalse(most significant speedup—avoids AI-based OCR corrections) - Set
blockOptions.figures.enabledtofalse(avoids AI-based figure analysis) - Set
pageRotationEnabledtofalseif all pages are correctly oriented - Use
chunkingStrategy: "document"(fastest) or"page"instead of"section"(section chunking adds CPU overhead during parsing to generate semantic sections)
For highest accuracy:
- Set
target: "markdown"withchunkingStrategy: "section" - Set
blockOptions.text.agentic.enabledtotruefor handwritten/degraded documents - Set
tableHeaderContinuationEnabledtotruefor multi-page tables - Set
signatureDetectionEnabledtotruefor legal documents
Troubleshooting
Poor quality OCR results
- Set
blockOptions.text.agentic.enabledtotruefor handwritten/degraded documents - Set
pageRotationEnabledtotruefor rotated pages - Try
target: "spatial"for very messy or skewed documents
Chunks are too large or too small
- Adjust
minCharactersandmaxCharactersinchunkingStrategy.optionsif you are usingtype: "section"withtarget: "markdown". - Try different chunking types (
pagevssectionvsdocument) - Consider using
pageRangesto process fewer pages per request
Tables not parsing correctly
- Set
tableHeaderContinuationEnabledtotruefor multi-page tables - Set
targetFormat: "html"for better table structure - Set
blockOptions.tables.agentic.enabledtotrue

