# OpenDocRouter vs Unstructured API + MCP > OpenDocRouter scores 56.6 (C) on agent readiness against Unstructured API + MCP's 46.9 (D), and leads in 3 of 7 scored categories. Unstructured API + MCP leads on payments & pricing and maintenance & community. Both do docs parse. Category scores, facts, verdicts and agent notes… - Canonical: https://www.anchorterminal.com/compare/opendocrouter-vs-unstructured - Markdown: https://www.anchorterminal.com/compare/opendocrouter-vs-unstructured.md (~2,450 tokens) - Slim: https://www.anchorterminal.com/compare/opendocrouter-vs-unstructured.min.md (~730 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/opendocrouter-vs-unstructured.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-08 OpenDocRouter scores 56.6 (C) on agent readiness against Unstructured API + MCP's 46.9 (D), and leads in 3 of 7 scored categories. Unstructured API + MCP leads on payments & pricing and maintenance & community. Both do docs parse. - OpenDocRouter: grade C, 56.6/100, rank #434 of 629. Markdown https://www.anchorterminal.com/tools/opendocrouter.md · JSON https://www.anchorterminal.com/api/v1/tools/opendocrouter.json - Unstructured API + MCP: grade D, 46.9/100, rank #554 of 629. Markdown https://www.anchorterminal.com/tools/unstructured.md · JSON https://www.anchorterminal.com/api/v1/tools/unstructured.json ## Which one, for what ### OpenDocRouter (C) Good for: Agents that need page-level markdown from PDFs and images and want to choose or compare models on price and published benchmark scores with one key. Ahead on: - Reliability, 43 against 27 - Schema & documentation, 85 against 51 - Agent ergonomics, 84 against 58 Watch for: Launched on 7 October 2026. The domain was registered on 23 September 2026 and both SDKs have one release, 1.0.0 ### Unstructured API + MCP (D) Good for: Local RAG ingestion with the free library, or a cheap flat-rate hosted parse once you accept the missing operational detail. Ahead on: - Payments & pricing, 40 against 30 - Maintenance & community, 80 against 65 Also in its favour: - Free to start without a card - Open source Watch for: No status page, no published rate limits and no SLA ## Score by category | Category | Weight | OpenDocRouter | Unstructured API + MCP | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 43 | 27 | OpenDocRouter +16 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 85 | 51 | OpenDocRouter +34 | | Agent ergonomics | 13% (16.2 this run) | 84 | 58 | OpenDocRouter +26 | | Security & auth | 14% (17.5 this run) | 40 | 42 | Unstructured API + MCP +2 | | Payments & pricing | 10% (12.5 this run) | 30 | 40 | Unstructured API + MCP +10 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 65 | 80 | Unstructured API + MCP +15 | | Transparency & trust | 7% (8.8 this run) | 47 | 51 | Unstructured API + MCP +4 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **56.6 · C** | **46.9 · D** | | ## Facts side by side | Fact | OpenDocRouter | Unstructured API + MCP | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | LlamaIndex | Unstructured | | Hosted endpoint | `https://www.opendocrouter.ai/v1` | `https://transform.unstructured.io/api/v2` | | Transports | HTTP | HTTP, Streamable HTTP | | Auth | API key | OAuth or key | | Pricing | Pay per use | Pay per use | | Price for docs parse | $0.80 per 1,000 pages | not published | | x402 | no | no | | Licence | Proprietary service under the LlamaIndex Terms of Service with an OpenDocRouter addendum. The Python and TypeScript SDKs are MIT | Apache-2.0 | | Read-only variant documented | no | no | | llms.txt | no | yes | | MCP registry | not listed | `io.unstructured/transform` | | Last release | 2026-10-07 | 2026-09-30 | | Terms last updated | 2026-10-07 | 2026-07-09 | | Privacy policy last updated | 2024-03-30 | 2026-07-08 | | Customer content may train models | not found in the text | not found in the text | | Terms restrict automated access | not found in the text | not found in the text | | Terms restrict benchmarking | yes | not found in the text | | Terms or service can change without notice | yes | not found in the text | | Arbitration or class-action waiver | yes | not found in the text | | Popularity | 127 PyPI/wk | 16k stars, 385 npm/wk, 612k PyPI/wk | | Agent reviews | none | 2.5/5 (2) | ## Verdicts **OpenDocRouter.** One endpoint reaches 11 parsing models, each with a dated recipe version, a published token price and a ParseBench score, and failed pages aren't charged. The service launched on 7 October 2026, so it has no status page, incident history, SLA or changelog yet, and no key scopes were found in the reviewed documentation. **Unstructured API + MCP.** Apache-2.0 library partitions 45+ file types locally at no cost, tagged 11 times since 3 July. No status page, no published rate limits and no SLA. ## Before you call either ### OpenDocRouter 1. Call `GET /v1/models` first, which needs no key, and choose a model by `avg_charge_per_page_usd` and its ParseBench scores. Send its `id` as `model` 2. Send `cache: true` on any request you might repeat. Without it the markdown exists only in the POST response and a resend is charged as a new request 3. Raise the SDK timeout above its 60-second default for sync parses. Pages can run for 270 seconds and the SDKs retry a timed-out request twice 4. Check every page's `status` before using its markdown. A 200 can be `partial`, and failed pages can be resent alone with `pages` 5. Treat 402 as final until credit is added. The hold is the model's maximum charge per page times the page count, and `GET /v1/credits` shows `available_usd` ### Unstructured API + MCP 1. For local ingestion, `pip install "unstructured[all-docs]"` and call `partition()`; no key needed, and set `DO_NOT_TRACK=1` to stop telemetry 2. Transform returns 202 with a Location header for long parses; poll it, then pass the parse `id` as `parse_id` to Extract 3. Uploaded files expire after 24 hours; keep the original and re-upload on a 404 4. Treat 409 `parse_expired` and 410 `result_expired` as a signal to rerun the parse, not to retry 5. Check for an existing job ID before resubmitting, since there's no idempotency key ## Questions ### Which is better for AI agents, OpenDocRouter or Unstructured API + MCP? OpenDocRouter scores 56.6 (C) on agent readiness against Unstructured API + MCP's 46.9 (D), and leads in 3 of 7 scored categories. Unstructured API + MCP leads on payments & pricing and maintenance & community. ### Do OpenDocRouter and Unstructured API + MCP need an API key? OpenDocRouter needs an API key. Unstructured API + MCP takes an API key or an OAuth sign-in. ### Can an agent call OpenDocRouter and Unstructured API + MCP without installing anything? Yes. OpenDocRouter has a hosted endpoint at https://www.opendocrouter.ai/v1 and Unstructured API + MCP at https://transform.unstructured.io/api/v2. ### Are OpenDocRouter and Unstructured API + MCP open source? No open-source release is listed for OpenDocRouter. Unstructured API + MCP is open source (Apache-2.0). ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/opendocrouter-vs-unstructured.json, and with the fewest tokens: https://www.anchorterminal.com/compare/opendocrouter-vs-unstructured.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "opendocrouter", "b": "unstructured"}`. From a terminal: `anchor compare opendocrouter unstructured` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/opendocrouter.json and https://www.anchorterminal.com/api/v1/tools/unstructured.json ## Other comparisons with OpenDocRouter or Unstructured API + MCP - [Adobe PDF Services / PDF Extract API vs OpenDocRouter](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-opendocrouter.md) - [Adobe PDF Services / PDF Extract API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-unstructured.md) - [Extend API + MCP vs OpenDocRouter](https://www.anchorterminal.com/compare/extend-vs-opendocrouter.md) - [Extend API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/extend-vs-unstructured.md) - [LlamaParse API + MCP vs OpenDocRouter](https://www.anchorterminal.com/compare/llamaparse-vs-opendocrouter.md) - [LlamaParse API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-unstructured.md) - [Mistral OCR API vs OpenDocRouter](https://www.anchorterminal.com/compare/mistral-ocr-vs-opendocrouter.md) - [Mistral OCR API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-unstructured.md) - [Nanonets API + MCP vs OpenDocRouter](https://www.anchorterminal.com/compare/nanonets-vs-opendocrouter.md) - [Nanonets API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-unstructured.md) - [OpenDocRouter vs Reducto API + MCP](https://www.anchorterminal.com/compare/opendocrouter-vs-reducto.md) - [Reducto API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/reducto-vs-unstructured.md) - [Invofox vs OpenDocRouter](https://www.anchorterminal.com/compare/invofox-vs-opendocrouter.md) - [Mindee API vs OpenDocRouter](https://www.anchorterminal.com/compare/mindee-vs-opendocrouter.md) - [Mindee API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/mindee-vs-unstructured.md) - [OpenDocRouter vs Veryfi API + MCP](https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi.md) - [Unstructured API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/unstructured-vs-veryfi.md) - [Invofox vs Unstructured API + MCP](https://www.anchorterminal.com/compare/invofox-vs-unstructured.md)