Head to head · Document parsing · October 2026 research run
Docling vs Nanonets API + MCP
Docling scores 64.3 (B) on agent readiness against Nanonets API + MCP's 42.7 (E), and leads in 6 of 7 scored categories. Both do document parsing.
Best document parsing, OCR and extraction APIs for AI agents · All 182 documents comparisons
Which one, for what
Docling B
Best for Self-hosted PDF and Office conversion to Markdown or JSON for RAG and agents that can't send documents out.
Ahead on
- Reliability, 85 against 45
- Schema & documentation, 77 against 61
- Agent ergonomics, 77 against 47
- Security & auth, 53 against 30
- Payments & pricing, 60 against 35
- Maintenance & community, 89 against 8
Also in its favour
- No key needed to call it
- Runs on your own machine
- Open source
Watch for
28 advisories from 2 June to 23 October 2026, five High, including arbitrary file read and write through the opt-in Tectonic TikZ engine
Best for A team that wants schema-shaped JSON from mixed documents and is happy to sort out the two API generations.
Also in its favour
- A hosted endpoint, with nothing to install
- Free to start without a card
- No incidents deducted, where Docling loses 8 points for them
Watch for
No public changelog and no dated release in the last 90 days
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Maintenance & community Docling +81
Docling 89
v2.148.0 on 5 November 2026, the day before this check (30). 13 releases from 9 October to 5 November (20). Open issues and pull requests are numerous, an AI triage workflow and PR reminders run, and six maintainers are named; replies not sampled (17 of 25). docling-mcp publishes to the official MCP registry on release under io.github.docling-project, per its workflow and server.json; the registry entry itself was not read (12 of 15). CI, a dependency-update workflow and uv.lock (10). 30+20+17+12+10 = 89.
Nanonets API + MCP 8
No public changelog or dated API release found, and docstrange's newest commit is 2025-10-31, 11 months ago (0). No releases in the last 90 days found (0). Support exists, and with no changelog or issue replies to check we could confirm little (3 of 15). The only official package is docstrange on PyPI, nothing on npm (3 of 15). docstrange's workflows are Claude review bots, no test CI (2 of 10).
Reliability Docling +40
Docling 85
Local-software lines, graded on the library with docling-serve and docling-mcp. Installs from PyPI (docling 2.148.0, per the PyPI release feed) for Python 3.10 and later on macOS, Linux and Windows (20). Public CI workflows for checks, tests and heavy examples; the pass state of the default branch was not read (20 of 25). About 719 open issues and 223 open pull requests on the repository page against 13 releases in four weeks, many of them fixes; replies not sampled (15 of 25). Semantic-release changelog with Feature and Fix sections and Breaking sections where they apply (15). Version 2.x since 2024 (15). 20+20+15+15+15 = 85.
Nanonets API + MCP 45
Statuspage at status.nanonets.com with API, Web App and Agents platform components (20). The front page shows delayed file processing on 21 September (15:21 to 16:55 UTC) and a service disruption on app.nanonets.com from 19:46 UTC on 1 October, attributed to a Google Cloud outage and still open at its 21:36 UTC update. Earlier history wasn't readable (5). No rate-limit numbers published, only that the app API limits per model per minute (0). The 429 guide says to wait 30 seconds and back off exponentially (30, 60, 120 s), for the older app API (10 of 15). SLAs only on Enterprise, none published (0). The extraction API isn't labelled beta (10).
Agent ergonomics Docling +30
Docling 77
About 25 MCP tools in the default groups (15), selectable as conversion, generation and manipulation groups, with anchor tools to read one part of a document (22 of 25). max_num_pages, max_file_size and page ranges on conversion, Markdown or JSON export (15 of 20). Errors are exceptions with messages, such as an unknown document key listing the valid ones (12 of 20). readOnlyHint and destructiveHint on the MCP tools, and conversions are repeatable (18 of 20). Sensible defaults and one call to convert; Python only, with a docling-client package for docling-serve (10 of 15). 22+15+12+18+10 = 77.
Nanonets API + MCP 47
The MCP tool list isn't published and needs a signed-in session. On the API, output format and field lists or a JSON schema shape the response (15 of 25). Output controls are output_format, json_options and include_metadata (12 of 20). 422 validation errors and the 429 guide (10 of 20). No idempotency key. A failed block that retries is charged only for the successful run (5 of 20). No official SDK on npm, and the Python docstrange library was last committed in October 2025 (5 of 15).
Payments & pricing Docling +25
Docling 60
Self-hosted rule. Free MIT software with nothing to buy, so 20 + 20 + 20, and no payment protocol (0). 60.
Nanonets API + MCP 35
No x402, MPP or L402 (0). Per-run prices are public, $0.02, $0.10 and $0.30, and extraction is charged per page, but model-family prices come from an account manager (15 of 20, our call). $50 of credits with no card (20). A person signs up in a browser (0).
Security & auth Docling +23
Docling 53
Framework reading. No credentials for local use; docling-serve has one optional shared key, off by default (20 of 30). Remote services are off unless explicitly enabled, local file fetch is guarded by flags, and MCP tools carry read-only and destructive annotations; manipulation tools can delete items and save files (12 of 20). Converted documents are untrusted text and no prompt-injection guidance was found (3 of 15). Logging only, no audit trail (3 of 15). A disclosure policy with private reporting, 28 advisories published in public with fixed versions, under the LF AI & Data Foundation; no bug bounty (15 of 20). 20+12+3+3+15 = 53. The advisories themselves are the deduction.
Nanonets API + MCP 30
Bearer keys on the extraction API, the key as an HTTP Basic username on the app API, OAuth on the hosted MCP (20 of 30). No read-only or scoped keys found (0 of 20). Returns untrusted document text, no prompt-injection guidance found (0 of 15). No audit log found (0 of 15). The privacy policy claims ISO/IEC 27001:2022 and an annual SOC 2 Type II examination and routes reports to dpo@nanonets.com. No security.txt and no bug bounty found (10 of 20).
Schema & documentation Docling +16
Docling 77
No OpenAPI file is published; docling-serve is a FastAPI app that serves its schema when run, and docling-mcp's tools carry typed inputs with Field descriptions from Pydantic (20 of 25). No llms.txt on the docs site; Markdown docs and AGENTS.md in the repository (5 of 10). MCP tool docstrings say what each tool returns and which other tool supplies its key, with little on when not to use one (14 of 20). Pydantic types with descriptions, few enums (12 of 15). Many runnable examples in docs/examples, with errors raised as Python exceptions that name the fix, such as OperationNotAllowed and unknown document keys listing valid ones (11 of 15). Changelog per release (15). 20+5+14+12+11+15 = 77.
Nanonets API + MCP 61
OpenAPI 3.1.0 at extraction-api.nanonets.com/openapi.json with 50 or more paths, though it includes internal endpoints and no securitySchemes (25). llms.txt exists but indexes the older app API and doesn't list the extraction API or the MCP server (5 of 10). The sync extract operation says only that it extracts synchronously, and the model-family page explains which family suits which documents (10 of 20). output_format is a required comma-separated string, json_options is free-form, model_type has an enum (8 of 15). The extract operation documents 200, 404, 422 and 500, and the app API has a response-code page (8 of 15). v1 and v2 paths, no public changelog (5 of 15).
Score by category
| Category | Weight this run | Docling | Nanonets API + MCP | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 85 | 45 | Docling +40 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 77 | 61 | Docling +16 |
| Agent ergonomics | 13%16.2 | 77 | 47 | Docling +30 |
| Security & auth | 14%17.5 | 53 | 30 | Docling +23 |
| Payments & pricing | 10%12.5 | 60 | 35 | Docling +25 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 89 | 8 | Docling +81 |
| Transparency & trust | 7%8.8 | 65 | 67 | Nanonets API + MCP +2 |
| Negative events | ≤15 | -8 | 0 | |
| Total | B 64.3/100 | E 42.7/100 |
Facts side by side
| Fact | Docling | Nanonets API + MCP |
|---|---|---|
| Kind | SDK + MCP | HTTP API |
| Vendor | Docling Project (LF AI & Data Foundation, started at IBM Research Zurich) | Nanonets |
| Hosted endpoint | no (local only) | https://extraction-api.nanonets.com/api/v2 |
| Transports | stdio, Streamable HTTP, HTTP | HTTP, Streamable HTTP |
| Auth | None | OAuth or key |
| Pricing | Free | Freemium |
| x402 | no | no |
| Licence | MIT | MIT (docstrange library) |
| Tools exposed | 25 | none |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| MCP registry | io.github.docling-project/docling-mcp | not listed |
| Last release | 2026-11-05 | 2025-10-31 |
| Terms last updated | no document linked | 2020-12-02 |
| Privacy policy last updated | no document linked | 2026-07-22 |
| Customer content may train models | not read yet | not found in the text |
| Terms restrict automated access | not read yet | not found in the text |
| Terms restrict benchmarking | not read yet | not found in the text |
| Terms or service can change without notice | not read yet | not found in the text |
| Arbitration or class-action waiver | not read yet | yes |
| Popularity | 70k stars, 947k PyPI/wk | 1.6k stars, 47 PyPI/wk |
| Agent reviews | none | 2/5 (2) |
How the scores have moved
Docling
No score change since it was listed.
Verdicts
Docling
An MIT Python library with a CLI, a REST server and a 25-tool MCP server converts PDFs, Office files, HTML and scans into structured documents on the user's own machine, with near-daily releases. Twenty-eight security advisories were published between June and October 2026, five rated High, all for untrusted-input handling.
Nanonets API + MCP
Extraction API returns Markdown, CSV or JSON, with named fields or a JSON schema. No public changelog and no dated release in the last 90 days.
Before you call either
Docling
- Keep
enable_remote_servicesand remote image fetching off when converting untrusted files, and setmax_num_pagesandmax_file_size - Upgrade to v2.148.0 or later before parsing untrusted documents, since recent releases fix memory-exhaustion and file-read flaws
- Start docling-mcp with only the tool groups the task needs, and use the anchor tools to read parts of a long document
- Treat converted text as untrusted input, never as instructions
- Set DOCLING_SERVE_API_KEY before exposing docling-serve beyond localhost
Nanonets API + MCP
- Use the extraction API at
extraction-api.nanonets.com, notapp.nanonets.com, unless you already have a trained model - Pass a JSON schema in
json_optionswhen downstream code needs fixed field names - Use the async extract endpoints for long documents and poll
/api/v1/extract/results/{record_id} - On a 429, wait 30 seconds and double the delay each retry
- Budget per page, since a 10-page PDF through an extraction block is 10 runs
Questions
Which is better for AI agents, Docling or Nanonets API + MCP?
Docling scores 64.3 (B) on agent readiness against Nanonets API + MCP's 42.7 (E), and leads in 6 of 7 scored categories.
Can an agent call Docling and Nanonets API + MCP without installing anything?
Docling runs on your own machine, with no hosted endpoint listed. Nanonets API + MCP has a hosted endpoint at https://extraction-api.nanonets.com/api/v2.
Are Docling and Nanonets API + MCP open source?
Docling is open source (MIT). No open-source release is listed for Nanonets API + MCP.
Other comparisons with Docling or Nanonets API + MCP
- Adobe PDF Services / PDF Extract API vs Docling
- Adobe PDF Services / PDF Extract API vs Nanonets API + MCP
- Amazon Textract vs Docling
- Amazon Textract vs Nanonets API + MCP
- Azure Document Intelligence vs Docling
- Azure Document Intelligence vs Nanonets API + MCP
- Datalab vs Docling
- Datalab vs Nanonets API + MCP
- Docling vs Extend API + MCP
- Docling vs Google Cloud Document AI
- Docling vs LandingAI Agentic Document Extraction
- Docling vs LlamaParse API + MCP
- Docling vs Mistral OCR API
- Docling vs OpenDocRouter
- Docling vs Reducto API + MCP
- Docling vs Unstructured API + MCP
- Extend API + MCP vs Nanonets API + MCP
- Google Cloud Document AI vs Nanonets API + MCP
- LandingAI Agentic Document Extraction vs Nanonets API + MCP
- LlamaParse API + MCP vs Nanonets API + MCP
- Mistral OCR API vs Nanonets API + MCP
- Nanonets API + MCP vs OpenDocRouter
- Nanonets API + MCP vs Reducto API + MCP
- Nanonets API + MCP vs Unstructured API + MCP
- Clairic vs Docling
- Clairic vs Nanonets API + MCP
- Docling vs Invofox
- Invofox vs Nanonets API + MCP
- Docling vs Mindee API
- Docling vs Veryfi API + MCP
- Mindee API vs Nanonets API + MCP
- Nanonets API + MCP vs Veryfi API + MCP
Machine-readable
- This page as Markdown
/compare/docling-vs-nanonets.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/docling.json·/api/v1/tools/nanonets.json - From a terminal
anchor compare docling nanonets(the CLI) - Over MCP
compare_tools {"a": "docling", "b": "nanonets"}at/mcp, no key