{
  "data": {
    "a": {
      "slug": "docling",
      "name": "Docling",
      "vendor": "Docling Project (LF AI \u0026 Data Foundation, started at IBM Research Zurich)",
      "vendorUrl": "https://docling-project.github.io/docling/",
      "kind": "sdk",
      "category": "document-extraction",
      "summary": "Docling is an open-source Python library and CLI that converts PDFs, Office files, HTML, images and audio into a structured DoclingDocument, Markdown or JSON, with layout, table and OCR models, plus a REST server (docling-serve) and an MCP server.",
      "url": "https://www.anchorterminal.com/tools/docling",
      "markdownUrl": "https://www.anchorterminal.com/tools/docling.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/docling.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/docling.json",
      "dns": "docling.grade.anchorterminal.com",
      "repo": "https://github.com/docling-project/docling",
      "license": "MIT",
      "transports": [
        "stdio",
        "streamable-http",
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "docling"
        },
        {
          "registry": "pypi",
          "name": "docling-mcp"
        },
        {
          "registry": "pypi",
          "name": "docling-serve"
        }
      ],
      "auth": "none",
      "authNotes": "The library and the stdio MCP server need no credentials. docling-serve requires an `X-Api-Key` header only when `DOCLING_SERVE_API_KEY` is set; it is off by default. Models are downloaded from Hugging Face on first use or prefetched for offline use.",
      "pricing": "free",
      "pricingNotes": "Free and MIT-licensed, run on your own hardware. No paid edition from the project was found (checked 2026-11-06).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Self-hosted library and servers with nothing to buy; no payment protocol in the repositories (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 25,
      "popularity": {
        "githubStars": 70216,
        "npmWeekly": null,
        "pypiWeekly": 946968,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docling-project.github.io/docling/",
      "registryName": "io.github.docling-project/docling-mcp",
      "capabilities": [
        "docs.parse",
        "docs.tables",
        "docs.ocr",
        "docs.chunk",
        "docs.extract"
      ],
      "tags": [
        "open-source",
        "mit",
        "python",
        "self-hosted",
        "local",
        "cli",
        "mcp",
        "stdio",
        "mcp-registry",
        "docker",
        "no-telemetry",
        "free"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.3,
        "grade": "B",
        "agentReady": false,
        "rank": 475,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 89,
          "payments": 60,
          "reliability": 85,
          "schema": 77,
          "security": 53,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -8,
        "negativeNotes": [
          "-8: 28 security advisories published on GitHub between 2 June and 23 October 2026, 5 rated High, among them arbitrary file read and write with the opt-in Tectonic TikZ engine (GHSA-x3q2-h9hx-4r4j, 1 October), unsafe zip extraction in the EasyOCR model download and XML entity expansion in the USPTO backend (both 2 June), and an SSRF guard bypass (1 October). All were published by the maintainers with fixed releases, so the deduction is reduced for disclosure, as with directus's published advisories. https://github.com/docling-project/docling/security"
        ],
        "verdict": "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.",
        "bestFor": "Self-hosted PDF and Office conversion to Markdown or JSON for RAG and agents that can't send documents out.",
        "strengths": [
          "MIT licence, hosted by the LF AI \u0026 Data Foundation, with no telemetry found in the source",
          "Runs locally, and remote services stay off unless `enable_remote_services=True` is set",
          "Releases v2.136.0 to v2.148.0 between 9 October and 5 November 2026, with a semantic-release changelog",
          "docling-mcp groups its tools (conversion, generation, manipulation) and marks them with readOnlyHint and destructiveHint",
          "A public disclosure policy, and advisories published on GitHub with fixes"
        ],
        "weaknesses": [
          "28 advisories from 2 June to 23 October 2026, five High, including arbitrary file read and write through the opt-in Tectonic TikZ engine",
          "No llms.txt on the docs site (404)",
          "docling-serve's only access control is one optional shared API key, off by default",
          "Parsed document text is untrusted, and no prompt-injection guidance was found",
          "About 719 open issues and 223 open pull requests on the main repository"
        ],
        "agentNotes": [
          "Keep `enable_remote_services` and remote image fetching off when converting untrusted files, and set `max_num_pages` and `max_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"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.3
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 89,
          "payments": 60,
          "reliability": 85,
          "schema": 77,
          "security": 53,
          "transparency": 77
        },
        "provenanceScore": 52,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install docling",
        "config": {
          "mcpServers": {
            "docling": {
              "args": [
                "--from=docling-mcp",
                "docling-mcp-server"
              ],
              "command": "uvx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/docling"
      },
      "area": "web-data",
      "provenance": {
        "legalEntity": "Docling Project (LF AI \u0026 Data Foundation)",
        "domain": "docling-project.github.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/docling-project/docling/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "MIT licence. The project is hosted by the LF AI \u0026 Data Foundation and was started at IBM Research Zurich; no single legal entity publishes it.",
          "The security policy is on the repository's Security tab with private advisory reporting and an email route; docling-project.github.io has no security.txt.",
          "docling-project.github.io/docling/llms.txt answered 404 on 6 November 2026."
        ],
        "score": 52
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/docling.json",
      "live": {
        "slug": "docling",
        "versions": [
          {
            "registry": "github",
            "name": "docling-project/docling",
            "version": "v2.148.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:21:57.627571586Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.docling-project/docling-mcp",
            "version": "3.5.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "pypi",
            "name": "docling",
            "version": "2.148.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:21:53.500253508Z"
          },
          {
            "registry": "pypi",
            "name": "docling-mcp",
            "version": "3.5.0",
            "released": "2026-11-04",
            "seenAt": "2026-11-06T23:21:54.889201724Z"
          },
          {
            "registry": "pypi",
            "name": "docling-serve",
            "version": "1.38.2",
            "released": "2026-10-27",
            "seenAt": "2026-11-06T23:21:55.609213125Z"
          }
        ],
        "githubStars": 70222,
        "pypiWeekly": 946968,
        "securityTxt": {
          "url": "https://docling-project.github.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:37.972746959Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/docling-project/docling/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:20:39.957874821Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d0ae114890b9"
          }
        ],
        "updatedAt": "2026-11-07T18:16:28.95801333Z"
      }
    },
    "answer": "Docling scores 64.3 (B) on agent readiness against Mindee API's 57.8 (C), and leads in 5 of 7 scored categories. Mindee API leads on schema \u0026 documentation.",
    "b": {
      "slug": "mindee",
      "name": "Mindee API",
      "vendor": "Mindee",
      "vendorUrl": "https://www.mindee.com",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "Hosted extraction, classification, split, crop and raw-text OCR models that you define in the Mindee platform, then call by model ID through an async REST API.",
      "url": "https://www.anchorterminal.com/tools/mindee",
      "markdownUrl": "https://www.anchorterminal.com/tools/mindee.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mindee.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mindee.json",
      "dns": "mindee.grade.anchorterminal.com",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api-v2.mindee.net/v2",
      "packages": [
        {
          "registry": "pypi",
          "name": "mindee"
        },
        {
          "registry": "npm",
          "name": "mindee"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key sent as the raw Authorization header value (no Bearer prefix). Each request also names a model_id created in the Mindee platform.",
      "pricing": "paid",
      "pricingNotes": "14-day free trial, card requirement not stated on the pricing page. Starter is 44 a month billed annually (529 a year) with one seat, Pro 116 a month billed annually (1,393 a year) with unlimited seats, processing localisation and live chat. Credit options run from 6,000 to 300,000, shown at about 0.044 a credit at 6,000. One page is 1 credit, 1.5 with confidence scores and 0.25 for utilities. Overage is charged at the plan's unit rate plus 20%, and unused credits don't carry over. Enterprise starts at 500,000 credits a year. The pricing page showed us dollars and the docs list the same figures in euros (https://www.mindee.com/pricing).",
      "priceSummary": "$44 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call crypto payment in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 42,
        "npmWeekly": 33264,
        "pypiWeekly": 5513,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.mindee.com",
      "llmsTxt": "https://docs.mindee.com/llms.txt",
      "openapi": "https://api-v2.mindee.net/openapi.json",
      "capabilities": [
        "docs.ocr",
        "docs.extract",
        "docs.classify"
      ],
      "tags": [
        "hosted",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "webhooks",
        "async-jobs",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.8,
        "grade": "C",
        "agentReady": false,
        "rank": 776,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 85,
          "payments": 25,
          "reliability": 80,
          "schema": 82,
          "security": 40,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": -6,
        "negativeNotes": [
          "-3, 19 June and 20 July 2026. The Python SDK `mindee` marked breaking changes in minor releases with no pre-release or notice found. v5.1.0 moved V1 CLI commands under a `v1` subcommand, removed the `mindeeV2` entry point and stopped exporting `InferenceCommand`, and v5.2.0 reworked extraction methods (https://github.com/mindee/mindee-api-python/blob/main/CHANGELOG.md).",
          "-3, 10 September 2026. Node.js SDK v5.7.1, a patch release, is described as a \"constant-time HMAC security fix\" for webhook signature checks, with no advisory in OSV or elsewhere found. The Python SDK still compares the signature with `==` on main (https://github.com/mindee/mindee-api-nodejs/blob/main/CHANGELOG.md)."
        ],
        "verdict": "Extracted data kept 12 hours by default (1 to 24 configurable), deletable on fetch, source files never stored, and no V2 API incident since early August. Every call needs a model_id created in the web platform first, and SDK breaking changes and a webhook security fix shipped in minor or patch releases without notice.",
        "bestFor": "Teams with a fixed set of document types (invoices, receipts, IDs) who want short retention and EU processing.",
        "strengths": [
          "Extracted data kept 12 hours by default (1 to 24 configurable), deletable on fetch, source files never stored",
          "EU or US processing selectable, and SOC 2 Type II per the docs",
          "Problem-details errors with 15 documented cases",
          "Published rate limits, 200 enqueue and 1,200 polling requests a minute",
          "No status incident on the V2 API in the 90 days to 2 November 2026"
        ],
        "weaknesses": [
          "Every call needs a model_id created in the web platform first",
          "No free tier after the 14-day trial, and the trial's card requirement isn't stated",
          "Organisation-wide keys that never expire and reach every model",
          "The public changelog publishes nothing. Changes are recorded only in each SDK's CHANGELOG",
          "The Node.js SDK fixed a webhook HMAC timing flaw in September 2026 with no advisory, and Python SDK minors carried marked breaking changes"
        ],
        "agentNotes": [
          "Create the model in the Mindee app and store its `model_id`; the API can't create one for you",
          "Enqueue returns 202; poll the job or use a webhook, and keep polling under 1,200 a minute",
          "Send `Authorization: $MINDEE_API_KEY` with no Bearer prefix",
          "Turn on confidence scores only when needed, since they cost 1.5 credits a page instead of 1",
          "Keep schemas to 25 fields or fewer, the documented recommendation",
          "Use the /v2/products/extraction/... endpoints. The spec marks /v2/inferences/enqueue and /v2/inferences/{inference_id} deprecated"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.8
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 85,
          "payments": 25,
          "reliability": 80,
          "schema": 82,
          "security": 40,
          "transparency": 58
        },
        "provenanceScore": 75,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install mindee   # or: npm i mindee",
        "http": "curl -X POST https://api-v2.mindee.net/v2/products/extraction/enqueue -H \"Authorization: $MINDEE_API_KEY\" \\\n  -F \"model_id=$MINDEE_MODEL_ID\" -F \"file=@invoice.pdf\""
      },
      "letme": {
        "capability": "https://letme.dev/docs.ocr",
        "tool": "https://letme.dev/mindee"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 44,
          "note": "billed annually, $529 a year, one seat"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 116,
          "note": "billed annually, $1,393 a year, unlimited seats"
        },
        {
          "item": "Credits at the 6,000 option",
          "unit": "1k-pages",
          "usd": 44,
          "note": "about $0.044 a credit, 1 credit a page, 1.5 with confidence scores"
        }
      ],
      "provenance": {
        "legalEntity": "Mindee SAS (Mindee Inc. outside the Eurozone)",
        "domain": "mindee.com",
        "domainRegistered": "2005-01-20",
        "endpointOnVendorDomain": false,
        "terms": "https://www.mindee.com/legals/terms-of-service",
        "privacy": "https://www.mindee.com/legals/privacy-policy",
        "statusPage": "https://status.mindee.com/",
        "changelog": "https://feedback.mindee.com/en/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The API is served from mindee.net, not mindee.com",
          "mindee.com was registered in 2005, long before the company was founded"
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mindee.json",
      "live": {
        "slug": "mindee",
        "probe": {
          "target": "https://api-v2.mindee.net/v2",
          "method": "get",
          "lastAt": "2026-11-07T18:20:39.870983802Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 133,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 62,
          "p95ms24h": 137,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.mindee.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:22.724575624Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "mindee",
            "version": "5.11.1",
            "seenAt": "2026-11-06T23:45:49.727682547Z"
          },
          {
            "registry": "pypi",
            "name": "mindee",
            "version": "5.4.0",
            "released": "2026-09-30",
            "seenAt": "2026-11-06T23:45:49.535757117Z"
          }
        ],
        "npmWeekly": 48644,
        "pypiWeekly": 3798,
        "securityTxt": {
          "url": "https://mindee.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:22.274068978Z"
        },
        "llmsTxt": {
          "url": "https://docs.mindee.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:02.339580517Z"
        },
        "domain": {
          "domain": "mindee.com",
          "registered": "2005-01-20",
          "source": "https://rdap.verisign.com/com/v1/domain/mindee.com",
          "checkedAt": "2026-11-01T14:26:15.761463991Z"
        },
        "pages": [
          {
            "url": "https://feedback.mindee.com/en/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:09:46.377412563Z",
            "changedAt": "2026-11-05T12:33:19.332845244Z",
            "fingerprint": "328d01e90b21"
          },
          {
            "url": "https://www.mindee.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:47.999540162Z",
            "changedAt": "2026-11-06T13:52:24.464673573Z",
            "fingerprint": "c8499bb08b06"
          },
          {
            "url": "https://www.mindee.com/legals/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:43.901577484Z",
            "changedAt": "2026-11-06T13:52:19.730901637Z",
            "fingerprint": "513b030e90f8"
          },
          {
            "url": "https://www.mindee.com/legals/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:45.96177987Z",
            "changedAt": "2026-11-06T13:52:22.156892015Z",
            "fingerprint": "48af21d6943a"
          }
        ],
        "updatedAt": "2026-11-07T18:21:22.724575624Z"
      }
    },
    "edges": [
      {
        "by": 35,
        "category": "payments",
        "leads": "docling",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Self-hosted rule. Free MIT software with nothing to buy, so 20 + 20 + 20, and no payment protocol (0). 60.",
          "b": "No x402, MPP or L402 (0). Plan prices and a per-credit rate are public, but the platform fee rendered as a placeholder in our fetch (15 of 20, our call). A 14-day free trial, and the pricing page doesn't say whether it needs a card (10 of 20, our call until that's confirmed). A person signs up in a browser and has to create a model in the platform before the first call (0)."
        },
        "scores": {
          "a": 60,
          "b": 25
        }
      },
      {
        "by": 13,
        "category": "security",
        "leads": "docling",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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 \u0026 Data Foundation; no bug bounty (15 of 20). 20+12+3+3+15 = 53. The advisories themselves are the deduction.",
          "b": "Organisation-level API keys, several per organisation, deletable, with a recommendation to rotate every 3 months. Each key reaches every model in the organisation and keys never expire (20 of 30). The API only enqueues and reads jobs, so there's little to protect against, but there's no per-model or read-only key (10 of 20). Returns fields extracted from untrusted documents, with no prompt-injection guidance found (0 of 15). No audit log or per-key usage view found (0 of 15). The data processing page says Mindee V2 holds SOC 2 Type II and that a HIPAA BAA is available on Enterprise. No security.txt and no bug bounty found (10 of 20)."
        },
        "scores": {
          "a": 53,
          "b": 40
        }
      },
      {
        "by": 9,
        "category": "ergonomics",
        "leads": "docling",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "Output is the schema you defined, so its size is under your control, and polygons, confidence and raw text are opt-in (20 of 25). Those switches are the only output controls, and results are fetched per job (12 of 20). Problem-details errors with a code per case (16 of 20). No idempotency key on enqueue. Failed jobs and 400s don't use credits, per the 30 September check, and webhooks replace polling (8 of 20). Two required fields, but model_id has to come from the web platform first. Python and Node.js SDKs checked, and the docs list more (12 of 15)."
        },
        "scores": {
          "a": 77,
          "b": 68
        }
      },
      {
        "by": 5,
        "category": "reliability",
        "leads": "docling",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Statuspage at status.mindee.com with separate components for API V1, API V2 (api-v2.mindee.net) and Platform V2 (20). Its history feed, read on 2 November, lists two incidents since 4 August, both on API V1 only. They were 500 errors from the Invoices, Expense Receipts and Financial Documents APIs for 15 minutes on 11 August, and slower responses and failed requests for 10 minutes on 5 October. The listing is the V2 API, so no incident touches it in the window (30). 200 enqueue and 1,200 polling requests a minute per organisation (15). The error page says to wait a few seconds and try again on a 429, with no Retry-After and no idempotency key for enqueue (5 of 15). Custom SLAs on Enterprise only, none published (0). The V2 API is GA (10). 20 + 30 + 15 + 5 + 0 + 10 = 80."
        },
        "scores": {
          "a": 85,
          "b": 80
        }
      },
      {
        "by": 5,
        "category": "schema",
        "leads": "mindee",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "OpenAPI 3.1.0 spec at api-v2.mindee.net/openapi.json, version 2.0.0, 17 paths and 19 operations, 429 documented on 9 paths, read on 2 November (25). llms.txt and Markdown pages (10). The docs say plainly that a model must be defined in the platform before the API can use it, and recommend at most 25 fields per schema (13 of 20). Typed inputs, model_id and file required, optional switches for RAG, polygons, confidence and raw text (12 of 15). Errors follow a problem-details shape with status, title, detail and code, and the problem database lists cases across eight HTTP statuses (14 of 15). V1 and V2 APIs versioned by host, the spec marks the older /v2/inferences operations deprecated in favour of /v2/products/*, and each SDK keeps a dated CHANGELOG, but the public changelog at feedback.mindee.com says \"No changes published\" (8 of 15). 25 + 10 + 13 + 12 + 14 + 8 = 82."
        },
        "scores": {
          "a": 77,
          "b": 82
        }
      }
    ],
    "facts": [
      {
        "a": "SDK + MCP",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Docling Project (LF AI \u0026 Data Foundation, started at IBM Research Zurich)",
        "b": "Mindee",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api-v2.mindee.net/v2",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio, Streamable HTTP, HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "25",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.docling-project/docling-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-11-05",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2025-06-23",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "70k stars, 947k PyPI/wk",
        "b": "42 stars, 33k npm/wk, 5.5k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Docling scores 64.3 (B) on agent readiness against Mindee API's 57.8 (C), and leads in 5 of 7 scored categories. Mindee API leads on schema \u0026 documentation.",
        "question": "Which is better for AI agents, Docling or Mindee API?"
      },
      {
        "answer": "Docling runs on your own machine, with no hosted endpoint listed. Mindee API has a hosted endpoint at https://api-v2.mindee.net/v2.",
        "question": "Can an agent call Docling and Mindee API without installing anything?"
      },
      {
        "answer": "Docling is open source (MIT). No open-source release is listed for Mindee API.",
        "question": "Are Docling and Mindee API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 85 against 80",
          "Agent ergonomics, 77 against 68",
          "Security \u0026 auth, 53 against 40",
          "Payments \u0026 pricing, 60 against 25"
        ],
        "also": [
          "No key needed to call it",
          "Runs on your own machine",
          "Open source"
        ],
        "goodFor": "Self-hosted PDF and Office conversion to Markdown or JSON for RAG and agents that can't send documents out.",
        "slug": "docling",
        "watchFor": "28 advisories from 2 June to 23 October 2026, five High, including arbitrary file read and write through the opt-in Tectonic TikZ engine"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 82 against 77"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Teams with a fixed set of document types (invoices, receipts, IDs) who want short retention and EU processing.",
        "slug": "mindee",
        "watchFor": "Every call needs a model_id created in the web platform first"
      }
    ],
    "history": {
      "docling": null,
      "mindee": [
        {
          "causes": [
            "evidence",
            "method"
          ],
          "date": "2026-11-02",
          "delta": -3.7,
          "from": 61.5,
          "fromGrade": "C",
          "to": 57.8,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 61.3,
          "fromGrade": "C",
          "to": 61.5,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 61.5,
          "fromGrade": "C",
          "to": 61.3,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "docs.ocr",
      "name": "OCR"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-docling.json",
        "title": "Adobe PDF Services / PDF Extract API vs Docling",
        "url": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-docling"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-textract-vs-docling.json",
        "title": "Amazon Textract vs Docling",
        "url": "https://www.anchorterminal.com/compare/amazon-textract-vs-docling"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-document-intelligence-vs-docling.json",
        "title": "Azure Document Intelligence vs Docling",
        "url": "https://www.anchorterminal.com/compare/azure-document-intelligence-vs-docling"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datalab-vs-docling.json",
        "title": "Datalab vs Docling",
        "url": "https://www.anchorterminal.com/compare/datalab-vs-docling"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-extend.json",
        "title": "Docling vs Extend API + MCP",
        "url": "https://www.anchorterminal.com/compare/docling-vs-extend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-google-cloud-document-ai.json",
        "title": "Docling vs Google Cloud Document AI",
        "url": "https://www.anchorterminal.com/compare/docling-vs-google-cloud-document-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-landingai-agentic-document-extraction.json",
        "title": "Docling vs LandingAI Agentic Document Extraction",
        "url": "https://www.anchorterminal.com/compare/docling-vs-landingai-agentic-document-extraction"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-llamaparse.json",
        "title": "Docling vs LlamaParse API + MCP",
        "url": "https://www.anchorterminal.com/compare/docling-vs-llamaparse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-mistral-ocr.json",
        "title": "Docling vs Mistral OCR API",
        "url": "https://www.anchorterminal.com/compare/docling-vs-mistral-ocr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-nanonets.json",
        "title": "Docling vs Nanonets API + MCP",
        "url": "https://www.anchorterminal.com/compare/docling-vs-nanonets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-opendocrouter.json",
        "title": "Docling vs OpenDocRouter",
        "url": "https://www.anchorterminal.com/compare/docling-vs-opendocrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-reducto.json",
        "title": "Docling vs Reducto API + MCP",
        "url": "https://www.anchorterminal.com/compare/docling-vs-reducto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-unstructured.json",
        "title": "Docling vs Unstructured API + MCP",
        "url": "https://www.anchorterminal.com/compare/docling-vs-unstructured"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-clairic-vs-docling.json",
        "title": "Clairic vs Docling",
        "url": "https://www.anchorterminal.com/compare/cloudflare-clairic-vs-docling"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-clairic-vs-mindee.json",
        "title": "Clairic vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-clairic-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-invofox.json",
        "title": "Docling vs Invofox",
        "url": "https://www.anchorterminal.com/compare/docling-vs-invofox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/invofox-vs-mindee.json",
        "title": "Invofox vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/invofox-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-mindee.json",
        "title": "Adobe PDF Services / PDF Extract API vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-textract-vs-mindee.json",
        "title": "Amazon Textract vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/amazon-textract-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-document-intelligence-vs-mindee.json",
        "title": "Azure Document Intelligence vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/azure-document-intelligence-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datalab-vs-mindee.json",
        "title": "Datalab vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/datalab-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docling-vs-veryfi.json",
        "title": "Docling vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/docling-vs-veryfi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/extend-vs-mindee.json",
        "title": "Extend API + MCP vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/extend-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-cloud-document-ai-vs-mindee.json",
        "title": "Google Cloud Document AI vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/google-cloud-document-ai-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/landingai-agentic-document-extraction-vs-mindee.json",
        "title": "LandingAI Agentic Document Extraction vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/landingai-agentic-document-extraction-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaparse-vs-mindee.json",
        "title": "LlamaParse API + MCP vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/llamaparse-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mindee-vs-mistral-ocr.json",
        "title": "Mindee API vs Mistral OCR API",
        "url": "https://www.anchorterminal.com/compare/mindee-vs-mistral-ocr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mindee-vs-nanonets.json",
        "title": "Mindee API vs Nanonets API + MCP",
        "url": "https://www.anchorterminal.com/compare/mindee-vs-nanonets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mindee-vs-opendocrouter.json",
        "title": "Mindee API vs OpenDocRouter",
        "url": "https://www.anchorterminal.com/compare/mindee-vs-opendocrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mindee-vs-reducto.json",
        "title": "Mindee API vs Reducto API + MCP",
        "url": "https://www.anchorterminal.com/compare/mindee-vs-reducto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mindee-vs-unstructured.json",
        "title": "Mindee API vs Unstructured API + MCP",
        "url": "https://www.anchorterminal.com/compare/mindee-vs-unstructured"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mindee-vs-veryfi.json",
        "title": "Mindee API vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/mindee-vs-veryfi"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 5,
        "docling": 85,
        "edge": "docling",
        "key": "reliability",
        "mindee": 80,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "docling": 77,
        "edge": "mindee",
        "key": "schema",
        "mindee": 82,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 9,
        "docling": 77,
        "edge": "docling",
        "key": "ergonomics",
        "mindee": 68,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 13,
        "docling": 53,
        "edge": "docling",
        "key": "security",
        "mindee": 40,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 35,
        "docling": 60,
        "edge": "docling",
        "key": "payments",
        "mindee": 25,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "docling": 89,
        "edge": "docling",
        "key": "maintenance",
        "mindee": 85,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 2,
        "docling": 65,
        "edge": "mindee",
        "key": "transparency",
        "mindee": 67,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Docling scores 64.3 (B) on agent readiness against Mindee API's 57.8 (C), and leads in 5 of 7 scored categories. Mindee API leads on schema \u0026 documentation. Both do ocr.",
    "tasks": null,
    "tutorials": [],
    "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.",
      "mindee": "Extracted data kept 12 hours by default (1 to 24 configurable), deletable on fetch, source files never stored, and no V2 API incident since early August. Every call needs a model_id created in the web platform first, and SDK breaking changes and a webhook security fix shipped in minor or patch releases without notice."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/docling-vs-mindee",
    "json": "https://www.anchorterminal.com/compare/docling-vs-mindee.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/docling-vs-mindee.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/docling-vs-mindee.min.md"
  },
  "markdown": "Docling scores 64.3 (B) on agent readiness against Mindee API's 57.8 (C), and leads in 5 of 7 scored categories. Mindee API leads on schema \u0026 documentation. Both do ocr.\n\n- 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\n- Mindee API: grade C, 57.8/100, rank #776 of 1486. Markdown https://www.anchorterminal.com/tools/mindee.md · JSON https://www.anchorterminal.com/api/v1/tools/mindee.json\n- Best document parsing, OCR and extraction APIs for AI agents: https://www.anchorterminal.com/best/document-extraction/index.md\n- All 182 documents comparisons: https://www.anchorterminal.com/compare/document-extraction/index.md\n\n## Which one, for what\n\n### Docling (B)\n\nGood for: Self-hosted PDF and Office conversion to Markdown or JSON for RAG and agents that can't send documents out.\n\nAhead on:\n- Reliability, 85 against 80\n- Agent ergonomics, 77 against 68\n- Security \u0026 auth, 53 against 40\n- Payments \u0026 pricing, 60 against 25\n\nAlso in its favour:\n- No key needed to call it\n- Runs on your own machine\n- Open source\n\nWatch 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\n\n### Mindee API (C)\n\nGood for: Teams with a fixed set of document types (invoices, receipts, IDs) who want short retention and EU processing.\n\nAhead on:\n- Schema \u0026 documentation, 82 against 77\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: Every call needs a model_id created in the web platform first\n\n\n## Why the edge\n\n### Payments \u0026 pricing: Docling +35\n\n- Docling (60): Self-hosted rule. Free MIT software with nothing to buy, so 20 + 20 + 20, and no payment protocol (0). 60.\n- Mindee API (25): No x402, MPP or L402 (0). Plan prices and a per-credit rate are public, but the platform fee rendered as a placeholder in our fetch (15 of 20, our call). A 14-day free trial, and the pricing page doesn't say whether it needs a card (10 of 20, our call until that's confirmed). A person signs up in a browser and has to create a model in the platform before the first call (0).\n\n### Security \u0026 auth: Docling +13\n\n- 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 \u0026 Data Foundation; no bug bounty (15 of 20). 20+12+3+3+15 = 53. The advisories themselves are the deduction.\n- Mindee API (40): Organisation-level API keys, several per organisation, deletable, with a recommendation to rotate every 3 months. Each key reaches every model in the organisation and keys never expire (20 of 30). The API only enqueues and reads jobs, so there's little to protect against, but there's no per-model or read-only key (10 of 20). Returns fields extracted from untrusted documents, with no prompt-injection guidance found (0 of 15). No audit log or per-key usage view found (0 of 15). The data processing page says Mindee V2 holds SOC 2 Type II and that a HIPAA BAA is available on Enterprise. No security.txt and no bug bounty found (10 of 20).\n\n### Agent ergonomics: Docling +9\n\n- 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.\n- Mindee API (68): Output is the schema you defined, so its size is under your control, and polygons, confidence and raw text are opt-in (20 of 25). Those switches are the only output controls, and results are fetched per job (12 of 20). Problem-details errors with a code per case (16 of 20). No idempotency key on enqueue. Failed jobs and 400s don't use credits, per the 30 September check, and webhooks replace polling (8 of 20). Two required fields, but model_id has to come from the web platform first. Python and Node.js SDKs checked, and the docs list more (12 of 15).\n\n### Reliability: Docling +5\n\n- 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.\n- Mindee API (80): Statuspage at status.mindee.com with separate components for API V1, API V2 (api-v2.mindee.net) and Platform V2 (20). Its history feed, read on 2 November, lists two incidents since 4 August, both on API V1 only. They were 500 errors from the Invoices, Expense Receipts and Financial Documents APIs for 15 minutes on 11 August, and slower responses and failed requests for 10 minutes on 5 October. The listing is the V2 API, so no incident touches it in the window (30). 200 enqueue and 1,200 polling requests a minute per organisation (15). The error page says to wait a few seconds and try again on a 429, with no Retry-After and no idempotency key for enqueue (5 of 15). Custom SLAs on Enterprise only, none published (0). The V2 API is GA (10). 20 + 30 + 15 + 5 + 0 + 10 = 80.\n\n### Schema \u0026 documentation: Mindee API +5\n\n- 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.\n- Mindee API (82): OpenAPI 3.1.0 spec at api-v2.mindee.net/openapi.json, version 2.0.0, 17 paths and 19 operations, 429 documented on 9 paths, read on 2 November (25). llms.txt and Markdown pages (10). The docs say plainly that a model must be defined in the platform before the API can use it, and recommend at most 25 fields per schema (13 of 20). Typed inputs, model_id and file required, optional switches for RAG, polygons, confidence and raw text (12 of 15). Errors follow a problem-details shape with status, title, detail and code, and the problem database lists cases across eight HTTP statuses (14 of 15). V1 and V2 APIs versioned by host, the spec marks the older /v2/inferences operations deprecated in favour of /v2/products/*, and each SDK keeps a dated CHANGELOG, but the public changelog at feedback.mindee.com says \"No changes published\" (8 of 15). 25 + 10 + 13 + 12 + 14 + 8 = 82.\n\n## Score by category\n\n| Category | Weight | Docling | Mindee API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 80 | Docling +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 82 | Mindee API +5 |\n| Agent ergonomics | 13% (16.2 this run) | 77 | 68 | Docling +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 40 | Docling +13 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 25 | Docling +35 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 89 | 85 | Docling +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 67 | Mindee API +2 |\n| Negative events | ≤15 | -8 | -6 | |\n| **Total** | | **64.3 · B** | **57.8 · C** | |\n\n## Facts side by side\n\n| Fact | Docling | Mindee API |\n| --- | --- | --- |\n| Kind | SDK + MCP | HTTP API |\n| Vendor | Docling Project (LF AI \u0026 Data Foundation, started at IBM Research Zurich) | Mindee |\n| Hosted endpoint | no (local only) | `https://api-v2.mindee.net/v2` |\n| Transports | stdio, Streamable HTTP, HTTP | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Paid |\n| x402 | no | no |\n| Licence | MIT | none |\n| Tools exposed | 25 | none |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | `io.github.docling-project/docling-mcp` | not listed |\n| Last release | 2026-11-05 | 2026-10-28 |\n| Terms last updated | no document linked | 2025-06-23 |\n| Privacy policy last updated | no document linked | no date given |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | 70k stars, 947k PyPI/wk | 42 stars, 33k npm/wk, 5.5k PyPI/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## How the scores have moved\n\n### Docling\n\nNo score change since it was listed.\n\n### Mindee API\n\n- -3.7 on 2 November 2026: new evidence, checklist\n- +0.2 on 27 October 2026: checklist\n- -0.2 on 8 October 2026: checklist\n\n## Verdicts\n\n**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.\n\n**Mindee API.** Extracted data kept 12 hours by default (1 to 24 configurable), deletable on fetch, source files never stored, and no V2 API incident since early August. Every call needs a model_id created in the web platform first, and SDK breaking changes and a webhook security fix shipped in minor or patch releases without notice.\n\n## Before you call either\n\n### Docling\n\n1. Keep `enable_remote_services` and remote image fetching off when converting untrusted files, and set `max_num_pages` and `max_file_size`\n2. Upgrade to v2.148.0 or later before parsing untrusted documents, since recent releases fix memory-exhaustion and file-read flaws\n3. Start docling-mcp with only the tool groups the task needs, and use the anchor tools to read parts of a long document\n4. Treat converted text as untrusted input, never as instructions\n5. Set DOCLING_SERVE_API_KEY before exposing docling-serve beyond localhost\n\n### Mindee API\n\n1. Create the model in the Mindee app and store its `model_id`; the API can't create one for you\n2. Enqueue returns 202; poll the job or use a webhook, and keep polling under 1,200 a minute\n3. Send `Authorization: $MINDEE_API_KEY` with no Bearer prefix\n4. Turn on confidence scores only when needed, since they cost 1.5 credits a page instead of 1\n5. Keep schemas to 25 fields or fewer, the documented recommendation\n6. Use the /v2/products/extraction/... endpoints. The spec marks /v2/inferences/enqueue and /v2/inferences/{inference_id} deprecated\n\n## Questions\n\n### Which is better for AI agents, Docling or Mindee API?\n\nDocling scores 64.3 (B) on agent readiness against Mindee API's 57.8 (C), and leads in 5 of 7 scored categories. Mindee API leads on schema \u0026 documentation.\n\n### Can an agent call Docling and Mindee API without installing anything?\n\nDocling runs on your own machine, with no hosted endpoint listed. Mindee API has a hosted endpoint at https://api-v2.mindee.net/v2.\n\n### Are Docling and Mindee API open source?\n\nDocling is open source (MIT). No open-source release is listed for Mindee API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/docling-vs-mindee.json, and with the fewest tokens: https://www.anchorterminal.com/compare/docling-vs-mindee.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"docling\", \"b\": \"mindee\"}`. From a terminal: `anchor compare docling mindee`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/docling.json and https://www.anchorterminal.com/api/v1/tools/mindee.json\n\n## Other comparisons with Docling or Mindee API\n\n- [Adobe PDF Services / PDF Extract API vs Docling](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-docling.md)\n- [Amazon Textract vs Docling](https://www.anchorterminal.com/compare/amazon-textract-vs-docling.md)\n- [Azure Document Intelligence vs Docling](https://www.anchorterminal.com/compare/azure-document-intelligence-vs-docling.md)\n- [Datalab vs Docling](https://www.anchorterminal.com/compare/datalab-vs-docling.md)\n- [Docling vs Extend API + MCP](https://www.anchorterminal.com/compare/docling-vs-extend.md)\n- [Docling vs Google Cloud Document AI](https://www.anchorterminal.com/compare/docling-vs-google-cloud-document-ai.md)\n- [Docling vs LandingAI Agentic Document Extraction](https://www.anchorterminal.com/compare/docling-vs-landingai-agentic-document-extraction.md)\n- [Docling vs LlamaParse API + MCP](https://www.anchorterminal.com/compare/docling-vs-llamaparse.md)\n- [Docling vs Mistral OCR API](https://www.anchorterminal.com/compare/docling-vs-mistral-ocr.md)\n- [Docling vs Nanonets API + MCP](https://www.anchorterminal.com/compare/docling-vs-nanonets.md)\n- [Docling vs OpenDocRouter](https://www.anchorterminal.com/compare/docling-vs-opendocrouter.md)\n- [Docling vs Reducto API + MCP](https://www.anchorterminal.com/compare/docling-vs-reducto.md)\n- [Docling vs Unstructured API + MCP](https://www.anchorterminal.com/compare/docling-vs-unstructured.md)\n- [Clairic vs Docling](https://www.anchorterminal.com/compare/cloudflare-clairic-vs-docling.md)\n- [Clairic vs Mindee API](https://www.anchorterminal.com/compare/cloudflare-clairic-vs-mindee.md)\n- [Docling vs Invofox](https://www.anchorterminal.com/compare/docling-vs-invofox.md)\n- [Invofox vs Mindee API](https://www.anchorterminal.com/compare/invofox-vs-mindee.md)\n- [Adobe PDF Services / PDF Extract API vs Mindee API](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-mindee.md)\n- [Amazon Textract vs Mindee API](https://www.anchorterminal.com/compare/amazon-textract-vs-mindee.md)\n- [Azure Document Intelligence vs Mindee API](https://www.anchorterminal.com/compare/azure-document-intelligence-vs-mindee.md)\n- [Datalab vs Mindee API](https://www.anchorterminal.com/compare/datalab-vs-mindee.md)\n- [Docling vs Veryfi API + MCP](https://www.anchorterminal.com/compare/docling-vs-veryfi.md)\n- [Extend API + MCP vs Mindee API](https://www.anchorterminal.com/compare/extend-vs-mindee.md)\n- [Google Cloud Document AI vs Mindee API](https://www.anchorterminal.com/compare/google-cloud-document-ai-vs-mindee.md)\n- [LandingAI Agentic Document Extraction vs Mindee API](https://www.anchorterminal.com/compare/landingai-agentic-document-extraction-vs-mindee.md)\n- [LlamaParse API + MCP vs Mindee API](https://www.anchorterminal.com/compare/llamaparse-vs-mindee.md)\n- [Mindee API vs Mistral OCR API](https://www.anchorterminal.com/compare/mindee-vs-mistral-ocr.md)\n- [Mindee API vs Nanonets API + MCP](https://www.anchorterminal.com/compare/mindee-vs-nanonets.md)\n- [Mindee API vs OpenDocRouter](https://www.anchorterminal.com/compare/mindee-vs-opendocrouter.md)\n- [Mindee API vs Reducto API + MCP](https://www.anchorterminal.com/compare/mindee-vs-reducto.md)\n- [Mindee API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/mindee-vs-unstructured.md)\n- [Mindee API vs Veryfi API + MCP](https://www.anchorterminal.com/compare/mindee-vs-veryfi.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Docling vs Mindee API",
        "url": ""
      }
    ],
    "description": "Docling scores 64.3 (B) to Mindee's 57.8 (C) for ocr. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Docling B 64.3",
      "Mindee API C 57.8",
      "scores"
    ],
    "h1": "Docling vs Mindee API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/docling-vs-mindee",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Docling vs Mindee for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/docling-vs-mindee"
  },
  "tokens": {
    "markdown": 4300,
    "slim": 2330
  },
  "version": 1
}
