# Docling vs Nanonets API + MCP

> Docling scores 64.3 (B) to Nanonets's 42.7 (E) for document parsing. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/docling-vs-nanonets
- Markdown: https://www.anchorterminal.com/compare/docling-vs-nanonets.md (~4,400 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-07

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.

- Docling: grade B, 64.3/100, rank #475 of 1486. Markdown https://www.anchorterminal.com/tools/docling.md · JSON https://www.anchorterminal.com/api/v1/tools/docling.json
- Nanonets API + MCP: grade E, 42.7/100, rank #1255 of 1486. Markdown https://www.anchorterminal.com/tools/nanonets.md · JSON https://www.anchorterminal.com/api/v1/tools/nanonets.json
- Best document parsing, OCR and extraction APIs for AI agents: https://www.anchorterminal.com/best/document-extraction/index.md
- All 182 documents comparisons: https://www.anchorterminal.com/compare/document-extraction/index.md

## Which one, for what

### Docling (B)

Good 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

### Nanonets API + MCP (E)

Good 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

### 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 | Docling | Nanonets API + MCP | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 85 | 45 | Docling +40 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 77 | 61 | Docling +16 |
| Agent ergonomics | 13% (16.2 this run) | 77 | 47 | Docling +30 |
| Security & auth | 14% (17.5 this run) | 53 | 30 | Docling +23 |
| Payments & pricing | 10% (12.5 this run) | 60 | 35 | Docling +25 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 89 | 8 | Docling +81 |
| Transparency & trust | 7% (8.8 this run) | 65 | 67 | Nanonets API + MCP +2 |
| Negative events | ≤15 | -8 | 0 | |
| **Total** | | **64.3 · B** | **42.7 · E** | |

## 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.

### Nanonets API + MCP

- +0.1 on 27 October 2026: checklist

## 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

1. Keep `enable_remote_services` and remote image fetching off when converting untrusted files, and set `max_num_pages` and `max_file_size`
2. Upgrade to v2.148.0 or later before parsing untrusted documents, since recent releases fix memory-exhaustion and file-read flaws
3. Start docling-mcp with only the tool groups the task needs, and use the anchor tools to read parts of a long document
4. Treat converted text as untrusted input, never as instructions
5. Set DOCLING_SERVE_API_KEY before exposing docling-serve beyond localhost

### Nanonets API + MCP

1. Use the extraction API at `extraction-api.nanonets.com`, not `app.nanonets.com`, unless you already have a trained model
2. Pass a JSON schema in `json_options` when downstream code needs fixed field names
3. Use the async extract endpoints for long documents and poll `/api/v1/extract/results/{record_id}`
4. On a 429, wait 30 seconds and double the delay each retry
5. 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.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/docling-vs-nanonets.json, and with the fewest tokens: https://www.anchorterminal.com/compare/docling-vs-nanonets.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "docling", "b": "nanonets"}`. From a terminal: `anchor compare docling nanonets`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/docling.json and https://www.anchorterminal.com/api/v1/tools/nanonets.json

## Other comparisons with Docling or Nanonets API + MCP

- [Adobe PDF Services / PDF Extract API vs Docling](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-docling.md)
- [Adobe PDF Services / PDF Extract API vs Nanonets API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-nanonets.md)
- [Amazon Textract vs Docling](https://www.anchorterminal.com/compare/amazon-textract-vs-docling.md)
- [Amazon Textract vs Nanonets API + MCP](https://www.anchorterminal.com/compare/amazon-textract-vs-nanonets.md)
- [Azure Document Intelligence vs Docling](https://www.anchorterminal.com/compare/azure-document-intelligence-vs-docling.md)
- [Azure Document Intelligence vs Nanonets API + MCP](https://www.anchorterminal.com/compare/azure-document-intelligence-vs-nanonets.md)
- [Datalab vs Docling](https://www.anchorterminal.com/compare/datalab-vs-docling.md)
- [Datalab vs Nanonets API + MCP](https://www.anchorterminal.com/compare/datalab-vs-nanonets.md)
- [Docling vs Extend API + MCP](https://www.anchorterminal.com/compare/docling-vs-extend.md)
- [Docling vs Google Cloud Document AI](https://www.anchorterminal.com/compare/docling-vs-google-cloud-document-ai.md)
- [Docling vs LandingAI Agentic Document Extraction](https://www.anchorterminal.com/compare/docling-vs-landingai-agentic-document-extraction.md)
- [Docling vs LlamaParse API + MCP](https://www.anchorterminal.com/compare/docling-vs-llamaparse.md)
- [Docling vs Mistral OCR API](https://www.anchorterminal.com/compare/docling-vs-mistral-ocr.md)
- [Docling vs OpenDocRouter](https://www.anchorterminal.com/compare/docling-vs-opendocrouter.md)
- [Docling vs Reducto API + MCP](https://www.anchorterminal.com/compare/docling-vs-reducto.md)
- [Docling vs Unstructured API + MCP](https://www.anchorterminal.com/compare/docling-vs-unstructured.md)
- [Extend API + MCP vs Nanonets API + MCP](https://www.anchorterminal.com/compare/extend-vs-nanonets.md)
- [Google Cloud Document AI vs Nanonets API + MCP](https://www.anchorterminal.com/compare/google-cloud-document-ai-vs-nanonets.md)
- [LandingAI Agentic Document Extraction vs Nanonets API + MCP](https://www.anchorterminal.com/compare/landingai-agentic-document-extraction-vs-nanonets.md)
- [LlamaParse API + MCP vs Nanonets API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-nanonets.md)
- [Mistral OCR API vs Nanonets API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-nanonets.md)
- [Nanonets API + MCP vs OpenDocRouter](https://www.anchorterminal.com/compare/nanonets-vs-opendocrouter.md)
- [Nanonets API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-reducto.md)
- [Nanonets API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-unstructured.md)
- [Clairic vs Docling](https://www.anchorterminal.com/compare/cloudflare-clairic-vs-docling.md)
- [Clairic vs Nanonets API + MCP](https://www.anchorterminal.com/compare/cloudflare-clairic-vs-nanonets.md)
- [Docling vs Invofox](https://www.anchorterminal.com/compare/docling-vs-invofox.md)
- [Invofox vs Nanonets API + MCP](https://www.anchorterminal.com/compare/invofox-vs-nanonets.md)
- [Docling vs Mindee API](https://www.anchorterminal.com/compare/docling-vs-mindee.md)
- [Docling vs Veryfi API + MCP](https://www.anchorterminal.com/compare/docling-vs-veryfi.md)
- [Mindee API vs Nanonets API + MCP](https://www.anchorterminal.com/compare/mindee-vs-nanonets.md)
- [Nanonets API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-veryfi.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
