PDF & document extraction — compare pricing, reliability & setup
Generated 2026-11-03 22:50 UTC · JSON
For bulk text/markdown extraction for rag, the current pick is Docling (score 90). See cost by profile below.
Ranking — Bulk text/markdown extraction for RAG
| Vendor | Score | Layout parse (10k pages/mo) | Free | Agent-friction | Verified |
|---|---|---|---|---|---|
| Docling | 90 | $0 | yes | 100 | 2026-11-03 |
| MinerU | 88.5 | $0 | yes | 90 | 2026-11-03 |
| Unstructured | 88.5 | $0 | yes | 90 | 2026-11-03 |
| Marker | 87.75 | $0 | yes | 90 | 2026-11-03 |
| PyMuPDF | 87 | $0 | yes | 80 | 2026-11-03 |
| LlamaParse | 78.92 | $25 | yes | 80 | 2026-11-03 |
| Mistral OCR | 76.92 | $40 | yes | 80 | 2026-11-03 |
| Extend | 75.33 | $50 | yes | 80 | 2026-11-03 |
| pdfplumber | 70.5 | $0 | yes | 70 | 2026-11-03 |
| Reducto | 63.67 | $100 | yes | 80 | 2026-11-03 |
| Google Document AI | 56.17 | $100 | yes | 40 | 2026-11-03 |
| Azure AI Document Intelligence | 53.17 | $100 | yes | 40 | 2026-11-03 |
| AWS Textract | 29.5 | $150 | yes | 40 | 2026-11-03 |
Agent-friction — can a service be set up without a human?
Each check and its weight is published; the column total is the 0–100 agent-friction score.
| Check | Docling | MinerU | Unstructured | Marker | PyMuPDF | LlamaParse | Mistral OCR | Extend | pdfplumber | Reducto | Google Document AI | Azure AI Document Intelligence | AWS Textract |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Test credentials without a credit card (20) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | × | × | × |
| Sandbox or test mode (15) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | × | × | × |
| Setup with no human-only steps (15) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | × | × | × |
| Official CLI (10) | ✓ | ✓ | ✓ | ✓ | × | × | × | × | × | × | ✓ | ✓ | ✓ |
| Official MCP server (10) | ✓ | × | × | × | × | × | × | × | × | × | × | × | × |
| Markdown docs, current with the SDK (10) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Typed SDK for main languages (10) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | × | ✓ | ✓ | ✓ | ✓ |
| Error messages that name the fix (10) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Score | 100 | 90 | 90 | 90 | 80 | 80 | 80 | 80 | 70 | 80 | 40 | 40 | 40 |
How this category is scored
Per use case, weights published in the data: cost 35% · fit 15% · integration 10% · agent_friction 15% · health 15% · lock_in 10%. Affiliate status is never an input.