Best Practices
This guide covers best practices for using the Parse API, including performance optimization and accuracy improvements.
Async vs. sync processing
- Use
POST /parsefor synchronous parsing when you want results immediately and the file size is small enough for a single request. - Use
POST /parse/asyncfor asynchronous parsing, which returns a parser run ID you can poll withGET /parser_runs/{id}.
For high-volume production workloads, prefer async parsing.
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

