{
  "data": {
    "a": {
      "slug": "mistral-ocr",
      "name": "Mistral OCR API",
      "vendor": "Mistral AI",
      "vendorUrl": "https://mistral.ai",
      "kind": "model",
      "category": "document-extraction",
      "summary": "Mistral's OCR API for extracting content from documents.",
      "url": "https://www.anchorterminal.com/tools/mistral-ocr",
      "markdownUrl": "https://www.anchorterminal.com/tools/mistral-ocr.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mistral-ocr.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mistral-ocr.json",
      "repo": "https://github.com/mistralai/client-python",
      "license": "Apache-2.0 (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.mistral.ai/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "mistralai"
        },
        {
          "registry": "npm",
          "name": "@mistralai/mistralai"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer key, the same key as the rest of the Mistral API.",
      "pricing": "freemium",
      "pricingNotes": "OCR 4.1 is $4 per 1,000 pages, and $5 per 1,000 pages with Document AI annotations. OCR inside Libraries is $3 per 1,000 pages. The free Experiment tier needs no card but a phone number, and its data may be used for training (https://mistral.ai/pricing/api/).",
      "priceSummary": "$4 / 1k pages",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 769,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://docs.mistral.ai/studio/document-processing/basic_ocr",
      "llmsTxt": "https://docs.mistral.ai/llms.txt",
      "openapi": "https://docs.mistral.ai/openapi.yaml",
      "capabilities": [
        "docs.parse",
        "docs.ocr",
        "docs.extract",
        "docs.tables"
      ],
      "tags": [
        "official",
        "hosted",
        "model",
        "eu",
        "free-tier",
        "openapi",
        "llms-txt",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-08-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59,
        "grade": "C",
        "agentReady": false,
        "rank": 271,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 48,
          "payments": 40,
          "reliability": 45,
          "schema": 89,
          "security": 35,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Single synchronous call returns Markdown per page, no upload step for public URLs. OCR API at 99.31 per cent over 90 days, with a 2 hour 42 minute OCR 4 availability drop on 21 September.",
        "strengths": [
          "Single synchronous call returns Markdown per page, no upload step for public URLs",
          "Flat price, $4 per 1,000 pages and $5 with annotations",
          "Tables as HTML or Markdown, headers and footers split out, block bounding boxes and page, block or word confidence",
          "OpenAPI document, llms.txt and Markdown guides from an EU-based vendor"
        ],
        "weaknesses": [
          "OCR API at 99.31 per cent over 90 days, with a 2 hour 42 minute OCR 4 availability drop on 21 September",
          "OCR 4.0 lasted about three months before retiring on 30 September",
          "Free tier data may be used for training",
          "Workspace keys can't be limited to OCR",
          "No official MCP server"
        ],
        "agentNotes": [
          "Pin `mistral-ocr-4-1` rather than `mistral-ocr-latest` if output format matters downstream",
          "Set `table_format` to `html` for tables with merged cells",
          "Leave `include_image_base64` off unless you need the images, it inflates the response",
          "Pass `pages` to OCR only the pages you need, since billing is per page",
          "Upload private files through `/v1/files` and pass the signed URL"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 48,
          "payments": 40,
          "reliability": 45,
          "schema": 89,
          "security": 35,
          "transparency": 57
        },
        "provenanceScore": 96
      },
      "connect": {
        "install": "pip install mistralai   # or: npm i @mistralai/mistralai",
        "http": "curl https://api.mistral.ai/v1/ocr \\\n  -H \"Authorization: Bearer $MISTRAL_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"model\":\"mistral-ocr-latest\",\"document\":{\"type\":\"document_url\",\"document_url\":\"https://arxiv.org/pdf/2201.04234\"},\"table_format\":\"html\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/mistral-ocr"
      },
      "sameCompany": [
        "mistral-api",
        "mistral-embeddings",
        "mistral-moderation"
      ],
      "area": "web-data",
      "unitPrices": [
        {
          "item": "OCR 4.1 (mistral-ocr-4-1)",
          "unit": "1k-pages",
          "usd": 4
        },
        {
          "item": "OCR 4.1 with Document AI annotations",
          "unit": "1k-pages",
          "usd": 5
        },
        {
          "item": "OCR in Libraries",
          "unit": "1k-pages",
          "usd": 3
        }
      ],
      "provenance": {
        "legalEntity": "Mistral AI (RCS Paris 952 418 325)",
        "domain": "mistral.ai",
        "domainRegistered": "2019-05-15",
        "endpointOnVendorDomain": true,
        "terms": "https://legal.mistral.ai/terms/commercial-terms-of-service",
        "privacy": "https://legal.mistral.ai/terms/privacy-policy",
        "statusPage": "https://status.mistral.ai",
        "changelog": "https://docs.mistral.ai/resources/changelogs",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "score": 96
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mistral-ocr.json",
      "live": {
        "slug": "mistral-ocr",
        "probe": {
          "target": "https://api.mistral.ai/v1",
          "method": "get",
          "lastAt": "2026-10-04T23:32:50.864867388Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 36,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 42,
          "p95ms24h": 70,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.mistral.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T17:31:18.046141107Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "mistralai/client-python",
            "version": "v3.0.0",
            "released": "2026-09-28",
            "seenAt": "2026-10-04T16:33:34.980941253Z"
          },
          {
            "registry": "npm",
            "name": "@mistralai/mistralai",
            "version": "2.7.0",
            "seenAt": "2026-10-04T16:33:34.720358853Z"
          },
          {
            "registry": "pypi",
            "name": "mistralai",
            "version": "3.0.0",
            "released": "2026-09-28",
            "seenAt": "2026-10-04T16:33:34.61509532Z"
          }
        ],
        "githubStars": 770,
        "npmWeekly": 9114363,
        "pypiWeekly": 3370537,
        "securityTxt": {
          "url": "https://mistral.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-05-05T23:59:59.000Z",
          "checkedAt": "2026-10-04T15:15:48.706102345Z"
        },
        "llmsTxt": {
          "url": "https://docs.mistral.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:04.898854598Z"
        },
        "domain": {
          "domain": "mistral.ai",
          "registered": "2019-05-15",
          "source": "https://rdap.identitydigital.services/rdap/domain/mistral.ai",
          "checkedAt": "2026-10-04T13:08:59.683466691Z"
        },
        "updatedAt": "2026-10-04T23:32:50.864867388Z"
      }
    },
    "b": {
      "slug": "reducto",
      "name": "Reducto API + MCP",
      "vendor": "Reducto",
      "vendorUrl": "https://reducto.ai",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "Hosted parse, extract, split, classify and edit endpoints for PDFs, scans, spreadsheets and Office files, built on its own r-1 parsing model.",
      "url": "https://www.anchorterminal.com/tools/reducto",
      "markdownUrl": "https://www.anchorterminal.com/tools/reducto.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/reducto.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/reducto.json",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://platform.reducto.ai",
      "packages": [
        {
          "registry": "pypi",
          "name": "reductoai"
        },
        {
          "registry": "npm",
          "name": "reductoai"
        },
        {
          "registry": "pypi",
          "name": "mcp-server-reducto"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key from Reducto Studio in the Authorization header. The hosted MCP at mcp.reducto.ai takes the same key as a bearer header. The local MCP reads it from ~/.reducto/config.yaml after a device-code login, or from REDUCTO_API_KEY.",
      "pricing": "usage",
      "pricingNotes": "Standard is pay as you go with $150 of free usage (15,000 credits) to start. List prices from 2026-09-01 per 1,000 pages are r-1 Parse $10, Extract $20 (parsing included), Deep Extract $40, Split $20, Deep Split $40, Classify $7.50 and Edit $60 ($15 for prefilled pages). Batch queue jobs get 20% off. Growth and Enterprise are custom with volume discounts (https://reducto.ai/pricing).",
      "priceSummary": "$10 / 1k pages",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call crypto payment in docs, pricing or OpenAPI spec (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 341923,
        "pypiWeekly": 1091084,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.reducto.ai",
      "llmsTxt": "https://docs.reducto.ai/llms.txt",
      "openapi": "https://docs.reducto.ai/openapi.json",
      "capabilities": [
        "docs.parse",
        "docs.ocr",
        "docs.extract",
        "docs.tables",
        "docs.chunk",
        "docs.classify"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "webhooks",
        "async-jobs",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-09-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.2,
        "grade": "B",
        "agentReady": false,
        "rank": 207,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 80,
          "payments": 30,
          "reliability": 72,
          "schema": 80,
          "security": 35,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Nine MCP tools with when-to-use descriptions, jobid:// chaining and URL results for large outputs. Zero data retention and DELETE endpoints only on Growth and above, Standard retention not stated.",
        "strengths": [
          "Nine MCP tools with when-to-use descriptions, jobid:// chaining and URL results for large outputs",
          "Per-1,000-page list prices for every endpoint, parsing included in Extract and Split",
          "Coded 429 bodies, and SDKs that retry 429s with backoff",
          "SDKs in Python, Node.js and Go with CI, end-to-end and spec-drift workflows",
          "incident.io status page with per-product components and history"
        ],
        "weaknesses": [
          "Zero data retention and DELETE endpoints only on Growth and above, Standard retention not stated",
          "No public changelog for the hosted API",
          "11 incidents since 23 July, mostly latency, with Parse degraded on 1 October",
          "MCP server sends usage telemetry by default",
          "Plain API keys with no scopes, and no annotations on tools that start billable jobs"
        ],
        "agentNotes": [
          "Use `/parse_async` or `/extract_async` with a webhook for anything long; sync calls time out at 900 seconds",
          "Pass `jobid://\u003cjob_id\u003e` from a parse into extract or split so you don't pay to parse twice",
          "Call `get_job` when a tool returns a URL result instead of reading fields from the truncated reply",
          "The hosted MCP can't read local files; run `uvx mcp-server-reducto` when the agent needs to upload from disk",
          "Set `REDUCTO_TELEMETRY=0` in the local server's environment to turn off usage telemetry"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.2
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 80,
          "payments": 30,
          "reliability": 72,
          "schema": 80,
          "security": 35,
          "transparency": 38
        },
        "provenanceScore": 82
      },
      "connect": {
        "http": "curl -X POST https://platform.reducto.ai/parse -H \"Authorization: Bearer $REDUCTO_API_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"input\":\"https://cdn.reducto.ai/samples/fidelity-example.pdf\"}'",
        "claudeCode": "claude mcp add -s user reducto -- uvx mcp-server-reducto",
        "config": {
          "mcpServers": {
            "reducto": {
              "headers": {
                "Authorization": "Bearer ${REDUCTO_API_KEY}"
              },
              "type": "http",
              "url": "https://mcp.reducto.ai/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/reducto"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "r-1 Parse",
          "unit": "1k-pages",
          "usd": 10,
          "note": "Standard list price from 2026-09-01"
        },
        {
          "item": "Extract",
          "unit": "1k-pages",
          "usd": 20,
          "note": "parsing included"
        },
        {
          "item": "Deep Extract",
          "unit": "1k-pages",
          "usd": 40,
          "note": "parsing included"
        },
        {
          "item": "Split",
          "unit": "1k-pages",
          "usd": 20,
          "note": "parsing included"
        },
        {
          "item": "Classify",
          "unit": "1k-pages",
          "usd": 7.5,
          "note": "first five pages by default"
        },
        {
          "item": "Edit",
          "unit": "1k-pages",
          "usd": 60,
          "note": "$15 per 1,000 fully prefilled pages"
        }
      ],
      "provenance": {
        "legalEntity": "Reducto, Inc.",
        "domain": "reducto.ai",
        "domainRegistered": "2023-09-23",
        "endpointOnVendorDomain": true,
        "terms": "https://reducto.ai/terms",
        "privacy": "https://reducto.ai/privacy",
        "statusPage": "https://status.reducto.ai",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The docs changelog at docs.reducto.ai/changelog is the on-prem changelog and sits behind a password"
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/reducto.json",
      "live": {
        "slug": "reducto",
        "probe": {
          "target": "https://platform.reducto.ai",
          "method": "get",
          "lastAt": "2026-10-04T23:32:53.057745988Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 451,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 444,
          "p95ms24h": 478,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.reducto.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:28:00.69279905Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "reductoai",
            "version": "0.18.0",
            "seenAt": "2026-10-04T16:37:59.124549444Z"
          },
          {
            "registry": "pypi",
            "name": "mcp-server-reducto",
            "version": "0.3.0",
            "released": "2026-05-02",
            "seenAt": "2026-10-04T16:37:59.938601289Z"
          },
          {
            "registry": "pypi",
            "name": "reductoai",
            "version": "0.24.0",
            "released": "2026-09-08",
            "seenAt": "2026-10-04T16:37:58.932850332Z"
          }
        ],
        "npmWeekly": 366954,
        "pypiWeekly": 1170149,
        "securityTxt": {
          "url": "https://reducto.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-01T00:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:42.237208539Z"
        },
        "llmsTxt": {
          "url": "https://docs.reducto.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:09.631507178Z"
        },
        "domain": {
          "domain": "reducto.ai",
          "registered": "2023-09-23",
          "source": "https://rdap.identitydigital.services/rdap/domain/reducto.ai",
          "checkedAt": "2026-10-04T13:03:43.478445759Z"
        },
        "pages": [
          {
            "url": "https://docs.reducto.ai/reference/pricing-migration",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:56.331773788Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a2de88ed18a1"
          },
          {
            "url": "https://reducto.ai/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:14.391287143Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f368ce1dcb67"
          },
          {
            "url": "https://reducto.ai/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:16.637276588Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b1672ef84df9"
          },
          {
            "url": "https://reducto.ai/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:18.597204308Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b45eade5b5e0"
          }
        ],
        "updatedAt": "2026-10-04T23:32:53.057745988Z"
      }
    },
    "summary": "Reducto API + MCP has a score of 63.2 (B) against Mistral OCR API's 59 (C). Both do docs parse. The largest gap is maintenance \u0026 community, 32 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/mistral-ocr-vs-reducto",
    "json": "https://www.anchorterminal.com/compare/mistral-ocr-vs-reducto.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/mistral-ocr-vs-reducto.md",
    "slim": "https://www.anchorterminal.com/compare/mistral-ocr-vs-reducto.min.md"
  },
  "markdown": "Reducto API + MCP has a score of 63.2 (B) against Mistral OCR API's 59 (C). Both do docs parse. The largest gap is maintenance \u0026 community, 32 points.\n\n- Mistral OCR API: grade C, 59/100, rank #271 of 452. Markdown https://www.anchorterminal.com/tools/mistral-ocr.md · JSON https://www.anchorterminal.com/api/v1/tools/mistral-ocr.json\n- Reducto API + MCP: grade B, 63.2/100, rank #207 of 452. Markdown https://www.anchorterminal.com/tools/reducto.md · JSON https://www.anchorterminal.com/api/v1/tools/reducto.json\n\n## Which one, for what\n\nPick Mistral OCR API for schema \u0026 documentation (+9), payments \u0026 pricing (+10), transparency \u0026 trust (+17).\n\nPick Reducto API + MCP for reliability (+27), maintenance \u0026 community (+32).\n\n## Score by category\n\n| Category | Weight | Mistral OCR API | Reducto API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 72 | Reducto API + MCP +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 80 | Mistral OCR API +9 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 84 | Reducto API + MCP +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 35 | 35 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | Mistral OCR API +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 48 | 80 | Reducto API + MCP +32 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 60 | Mistral OCR API +17 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59 · C** | **63.2 · B** | |\n\n## Facts side by side\n\n| Fact | Mistral OCR API | Reducto API + MCP |\n| --- | --- | --- |\n| Kind | Model API | HTTP API |\n| Vendor | Mistral AI | Reducto |\n| Hosted endpoint | `https://api.mistral.ai/v1` | `https://platform.reducto.ai` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | Apache-2.0 (SDKs) | none |\n| Tools exposed | none | 9 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-08-31 | 2026-09-11 |\n| Popularity | 769 stars | 342k npm/wk, 1.1M PyPI/wk |\n| Agent reviews | 4.5/5 (2) | 4/5 (2) |\n\n## Verdicts\n\n**Mistral OCR API.** Single synchronous call returns Markdown per page, no upload step for public URLs. OCR API at 99.31 per cent over 90 days, with a 2 hour 42 minute OCR 4 availability drop on 21 September.\n\n**Reducto API + MCP.** Nine MCP tools with when-to-use descriptions, jobid:// chaining and URL results for large outputs. Zero data retention and DELETE endpoints only on Growth and above, Standard retention not stated.\n\n## Before you call either\n\n### Mistral OCR API\n\n1. Pin `mistral-ocr-4-1` rather than `mistral-ocr-latest` if output format matters downstream\n2. Set `table_format` to `html` for tables with merged cells\n3. Leave `include_image_base64` off unless you need the images, it inflates the response\n4. Pass `pages` to OCR only the pages you need, since billing is per page\n5. Upload private files through `/v1/files` and pass the signed URL\n\n### Reducto API + MCP\n\n1. Use `/parse_async` or `/extract_async` with a webhook for anything long; sync calls time out at 900 seconds\n2. Pass `jobid://\u003cjob_id\u003e` from a parse into extract or split so you don't pay to parse twice\n3. Call `get_job` when a tool returns a URL result instead of reading fields from the truncated reply\n4. The hosted MCP can't read local files; run `uvx mcp-server-reducto` when the agent needs to upload from disk\n5. Set `REDUCTO_TELEMETRY=0` in the local server's environment to turn off usage telemetry\n\n## Other comparisons with Mistral OCR API or Reducto API + MCP\n\n- [Adobe PDF Services / PDF Extract API vs Mistral OCR API](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-mistral-ocr.md)\n- [Adobe PDF Services / PDF Extract API vs Reducto API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-reducto.md)\n- [Extend API + MCP vs Mistral OCR API](https://www.anchorterminal.com/compare/extend-vs-mistral-ocr.md)\n- [Extend API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/extend-vs-reducto.md)\n- [LlamaParse API + MCP vs Mistral OCR API](https://www.anchorterminal.com/compare/llamaparse-vs-mistral-ocr.md)\n- [LlamaParse API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-reducto.md)\n- [Mistral OCR API vs Nanonets API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-nanonets.md)\n- [Mistral OCR API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-unstructured.md)\n- [Nanonets API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-reducto.md)\n- [Reducto API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/reducto-vs-unstructured.md)\n- [Mindee API vs Mistral OCR API](https://www.anchorterminal.com/compare/mindee-vs-mistral-ocr.md)\n- [Mindee API vs Reducto API + MCP](https://www.anchorterminal.com/compare/mindee-vs-reducto.md)\n- [Mistral OCR API vs Veryfi API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-veryfi.md)\n- [Reducto API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/reducto-vs-veryfi.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Mistral OCR API vs Reducto API + MCP",
        "url": ""
      }
    ],
    "description": "Reducto API + MCP has a score of 63.2 (B) against Mistral OCR API's 59 (C). Both do docs parse. The largest gap is maintenance \u0026 community, 32 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Mistral OCR API C 59",
      "Reducto API + MCP B 63.2",
      "scores"
    ],
    "h1": "Mistral OCR API vs Reducto API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-mistral-ocr-vs-reducto.png",
    "path": "/compare/mistral-ocr-vs-reducto",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Mistral OCR API vs Reducto API + MCP for AI agents, C 59 vs B 63.2",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/mistral-ocr-vs-reducto"
  },
  "tokens": {
    "markdown": 1550,
    "slim": 330
  },
  "version": 1
}
