{
  "data": {
    "a": {
      "slug": "opendocrouter",
      "name": "OpenDocRouter",
      "vendor": "LlamaIndex",
      "vendorUrl": "https://opendocrouter.ai",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "OpenDocRouter is a hosted API from LlamaIndex that sends PDFs and images to a document parsing model the caller picks and returns markdown for each page. It launched on 7 October 2026 and bills prepaid credit by tokens used.",
      "url": "https://www.anchorterminal.com/tools/opendocrouter",
      "markdownUrl": "https://www.anchorterminal.com/tools/opendocrouter.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/opendocrouter.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/opendocrouter.json",
      "repo": "https://github.com/run-llama/opendocrouter-py",
      "license": "Proprietary service under the LlamaIndex Terms of Service with an OpenDocRouter addendum. The Python and TypeScript SDKs are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://www.opendocrouter.ai/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "opendocrouter"
        },
        {
          "registry": "npm",
          "name": "@llamaindex/opendocrouter"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key created in the dashboard after a browser sign-in, sent as `Authorization: Bearer \u003ckey\u003e` and read by the SDKs from OPEN_DOC_ROUTER_API_KEY. The terms say keys can be revoked. No scopes, expiry or read-only keys were found in the reviewed documentation. `GET /v1/models` answers without a key. This is a separate key from a LlamaCloud key.",
      "pricing": "usage",
      "pricingNotes": "Prepaid credit with no subscription. New accounts get $5 of promotional credit, and top-ups start at $10 with a 5% fee on each purchase. Each successful page is charged for its tokens at the chosen model's price, and layout adds $0.20 per 1M tokens. Failed, cached and blank pages are free. Whether sign-up needs a card wasn't established, because the dashboard needs a sign-in. LlamaIndex's launch post of 7 October 2026 gives a $25 minimum top-up, where the site, docs and terms say $10 (checked 2026-10-08).",
      "priceSummary": "$48.82 / 1k pages",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI document or the home page, and /.well-known/x402 returns 404. The 402 response is `insufficient_credits` for prepaid credit (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": 127,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://opendocrouter.ai/docs",
      "openapi": "https://www.opendocrouter.ai/v1/openapi.json",
      "capabilities": [
        "docs.parse",
        "docs.ocr",
        "docs.tables"
      ],
      "tags": [
        "hosted",
        "usage",
        "prepaid",
        "router",
        "openapi",
        "python",
        "typescript",
        "async-jobs",
        "closed-source",
        "new"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 56.6,
        "grade": "C",
        "agentReady": false,
        "rank": 434,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 65,
          "payments": 30,
          "reliability": 43,
          "schema": 85,
          "security": 40,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "One endpoint reaches 11 parsing models, each with a dated recipe version, a published token price and a ParseBench score, and failed pages aren't charged. The service launched on 7 October 2026, so it has no status page, incident history, SLA or changelog yet, and no key scopes were found in the reviewed documentation.",
        "bestFor": "Agents that need page-level markdown from PDFs and images and want to choose or compare models on price and published benchmark scores with one key.",
        "strengths": [
          "Public OpenAPI 3.1 document for all six operations, and the docs page is also served as Markdown at /docs.md",
          "`GET /v1/models` lists 11 models without a key, each with token prices, an average and a maximum charge per page, and ParseBench scores",
          "Failed, cached and blank pages are free, and every page comes back with its own status, token usage and charge",
          "Fifteen request error codes and twelve page error codes are documented, with Retry-After on 429 and 503 and a retry verdict for each page error",
          "Nothing from a document is stored unless `cache: true` is sent, and cached results are encrypted and deleted after 24 hours or on DELETE"
        ],
        "weaknesses": [
          "Launched on 7 October 2026. The domain was registered on 23 September 2026 and both SDKs have one release, 1.0.0",
          "No status page, SLA or service changelog was found. LlamaIndex's status page lists only LlamaParse components",
          "No scoped, expiring or read-only keys in the reviewed documentation, and no idempotency key",
          "A request holds the model's maximum charge per page, $0.784 on Claude Opus 5.5, so the $5 starting credit admits six Opus pages a request",
          "Without `cache: true` a dropped connection loses the markdown, the request is still charged and a resend is a new request"
        ],
        "agentNotes": [
          "Call `GET /v1/models` first, which needs no key, and choose a model by `avg_charge_per_page_usd` and its ParseBench scores. Send its `id` as `model`",
          "Send `cache: true` on any request you might repeat. Without it the markdown exists only in the POST response and a resend is charged as a new request",
          "Raise the SDK timeout above its 60-second default for sync parses. Pages can run for 270 seconds and the SDKs retry a timed-out request twice",
          "Check every page's `status` before using its markdown. A 200 can be `partial`, and failed pages can be resent alone with `pages`",
          "Treat 402 as final until credit is added. The hold is the model's maximum charge per page times the page count, and `GET /v1/credits` shows `available_usd`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 56.6
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 65,
          "payments": 30,
          "reliability": 43,
          "schema": 85,
          "security": 40,
          "transparency": 45
        },
        "provenanceScore": 49
      },
      "connect": {
        "install": "pip install opendocrouter   # or: npm install @llamaindex/opendocrouter",
        "http": "curl https://www.opendocrouter.ai/v1/parse \\\n  -H \"Authorization: Bearer $OPEN_DOC_ROUTER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"google/gemini-3.8-flash-low\", \"document\": {\"url\": \"https://arxiv.org/pdf/1706.03762\"}}'"
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/opendocrouter"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Parse with Claude Opus 5.5",
          "unit": "1k-pages",
          "usd": 48.82,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.784 a page"
        },
        {
          "item": "Parse with Gemini 3 Flash",
          "unit": "1k-pages",
          "usd": 19.67,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.199 a page"
        },
        {
          "item": "Parse with GPT-5.6 Terra",
          "unit": "1k-pages",
          "usd": 19.89,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.436 a page"
        },
        {
          "item": "Parse with Gemini 3.8 Flash",
          "unit": "1k-pages",
          "usd": 5.91,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.126 a page"
        },
        {
          "item": "Parse with Infinity-Parser2-Flash",
          "unit": "1k-pages",
          "usd": 4.34,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.050 a page"
        },
        {
          "item": "Parse with dots.mocr",
          "unit": "1k-pages",
          "usd": 3.97,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.030 a page"
        },
        {
          "item": "Parse with TeleOCR",
          "unit": "1k-pages",
          "usd": 2.7,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.045 a page"
        },
        {
          "item": "Parse with PaddleOCR-VL-1.6",
          "unit": "1k-pages",
          "usd": 2.11,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.044 a page"
        },
        {
          "item": "Parse with Claude Haiku 5.5",
          "unit": "1k-pages",
          "usd": 1.22,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.020 a page"
        },
        {
          "item": "Parse with MinerU2.5-Pro",
          "unit": "1k-pages",
          "usd": 0.86,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.007 a page"
        },
        {
          "item": "Parse with GPT-6 Luna",
          "unit": "1k-pages",
          "usd": 0.8,
          "note": "vendor's average on ParseBench documents, charged by tokens, at most $0.019 a page"
        },
        {
          "item": "Layout add-on",
          "unit": "1m-tokens",
          "usd": 0.2,
          "note": "added to each page whose layout comes back"
        },
        {
          "item": "Top-up fee",
          "unit": "pct",
          "usd": 5,
          "note": "on each credit purchase, minimum purchase $10, non-refundable"
        }
      ],
      "provenance": {
        "legalEntity": "LlamaIndex, Inc.",
        "domain": "opendocrouter.ai",
        "domainRegistered": "2026-09-23",
        "endpointOnVendorDomain": true,
        "terms": "https://www.opendocrouter.ai/terms",
        "privacy": "https://www.opendocrouter.ai/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms page carries an OpenDocRouter addendum last modified 2026-10-07 above the LlamaIndex Terms of Service of 2024-06-07, which name LlamaIndex, Inc. The SDK licence files read Copyright 2026 LlamaIndex, Inc.",
          "The privacy page is the LlamaIndex Privacy Notice last updated 2024-03-30. It covers LlamaIndex as a controller and doesn't mention OpenDocRouter.",
          "RDAP for opendocrouter.ai gives a registration date of 2026-09-23 with the registrant behind a privacy service. The link to LlamaIndex rests on the site footer, the terms and the announcement on llamaindex.ai.",
          "www.opendocrouter.ai/.well-known/security.txt and www.llamaindex.ai/.well-known/security.txt both return 404. SECURITY.md in the SDK repositories sends reports to security@runllama.ai.",
          "No status page or service changelog is linked from the site, and /status and /changelog return 404. The only changelogs are the SDKs' CHANGELOG.md files on GitHub."
        ],
        "score": 49
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/opendocrouter.json",
      "live": {
        "slug": "opendocrouter",
        "probe": {
          "target": "https://www.opendocrouter.ai/v1",
          "method": "get",
          "lastAt": "2026-10-08T19:08:54.817344793Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 168,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 148,
          "p95ms24h": 244,
          "samples24h": 42,
          "samples30d": 42,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 42,
              "ok": 42
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "run-llama/opendocrouter-py",
            "version": "v1.0.0",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T16:24:05.510654236Z"
          },
          {
            "registry": "npm",
            "name": "@llamaindex/opendocrouter",
            "version": "1.0.0",
            "seenAt": "2026-10-08T16:24:04.668181235Z"
          },
          {
            "registry": "pypi",
            "name": "opendocrouter",
            "version": "1.0.0",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T16:24:04.48026514Z"
          }
        ],
        "githubStars": 0,
        "pypiWeekly": 127,
        "securityTxt": {
          "url": "https://opendocrouter.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:43.225873715Z"
        },
        "pages": [
          {
            "url": "https://www.opendocrouter.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:28.539563971Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e0b0c7945b0c"
          },
          {
            "url": "https://www.opendocrouter.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:30.906325783Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a43783643c37"
          }
        ],
        "updatedAt": "2026-10-08T19:08:54.817344793Z"
      }
    },
    "answer": "Reducto API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 3 of 7 scored categories. OpenDocRouter leads on schema \u0026 documentation and security \u0026 auth.",
    "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": 62.9,
        "grade": "B",
        "agentReady": false,
        "rank": 292,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 80,
          "payments": 30,
          "reliability": 72,
          "schema": 80,
          "security": 35,
          "transparency": 57
        },
        "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.",
        "bestFor": "Messy PDFs, tables and spreadsheets where an agent needs parse, extract and split behind one small MCP.",
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.9
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 80,
          "payments": 30,
          "reliability": 72,
          "schema": 80,
          "security": 35,
          "transparency": 38
        },
        "provenanceScore": 76
      },
      "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": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/reducto.json",
      "live": {
        "slug": "reducto",
        "probe": {
          "target": "https://platform.reducto.ai",
          "method": "get",
          "lastAt": "2026-10-08T19:08:56.908009837Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 445,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 445,
          "p95ms24h": 517,
          "samples24h": 272,
          "samples30d": 2135,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 217,
              "ok": 217
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.reducto.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:06:57.316848009Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "reductoai",
            "version": "0.18.0",
            "seenAt": "2026-10-08T16:27:04.694191541Z"
          },
          {
            "registry": "pypi",
            "name": "mcp-server-reducto",
            "version": "0.3.0",
            "released": "2026-05-02",
            "seenAt": "2026-10-08T16:27:05.59951687Z"
          },
          {
            "registry": "pypi",
            "name": "reductoai",
            "version": "0.24.0",
            "released": "2026-09-08",
            "seenAt": "2026-10-08T16:27:04.508014166Z"
          }
        ],
        "npmWeekly": 370744,
        "pypiWeekly": 1153293,
        "securityTxt": {
          "url": "https://reducto.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-01T00:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:32.819003824Z"
        },
        "llmsTxt": {
          "url": "https://docs.reducto.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:48.114452396Z"
        },
        "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-08T18:19:18.846325072Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a2de88ed18a1"
          },
          {
            "url": "https://reducto.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:38.499512241Z",
            "changedAt": "2026-10-07T18:08:46.059871889Z",
            "fingerprint": "1511f97e039f"
          },
          {
            "url": "https://reducto.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:40.681205371Z",
            "changedAt": "2026-10-06T16:11:53.271804425Z",
            "fingerprint": "d241b52334d3"
          },
          {
            "url": "https://reducto.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:42.664748991Z",
            "changedAt": "2026-10-06T16:11:55.382351407Z",
            "fingerprint": "fcc68928fcc4"
          }
        ],
        "updatedAt": "2026-10-08T19:08:56.908009837Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "LlamaIndex",
        "b": "Reducto",
        "name": "Vendor"
      },
      {
        "a": "https://www.opendocrouter.ai/v1",
        "b": "https://platform.reducto.ai",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$0.80 per 1,000 pages",
        "b": "$10 per 1,000 pages",
        "name": "Price for docs parse"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the LlamaIndex Terms of Service with an OpenDocRouter addendum. The Python and TypeScript SDKs are MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "9",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-07",
        "b": "2026-09-11",
        "name": "Last release"
      },
      {
        "a": "2026-10-07",
        "b": "2026-04-17",
        "name": "Terms last updated"
      },
      {
        "a": "2024-03-30",
        "b": "2024-01-21",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "127 PyPI/wk",
        "b": "342k npm/wk, 1.1M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "4/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Reducto API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 3 of 7 scored categories. OpenDocRouter leads on schema \u0026 documentation and security \u0026 auth.",
        "question": "Which is better for AI agents, OpenDocRouter or Reducto API + MCP?"
      },
      {
        "answer": "OpenDocRouter, at $0.80 per 1,000 pages against $10 per 1,000 pages for Reducto API + MCP. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for docs parse, OpenDocRouter or Reducto API + MCP?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do OpenDocRouter and Reducto API + MCP need an API key?"
      },
      {
        "answer": "Yes. OpenDocRouter has a hosted endpoint at https://www.opendocrouter.ai/v1 and Reducto API + MCP at https://platform.reducto.ai.",
        "question": "Can an agent call OpenDocRouter and Reducto API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 80",
          "Security \u0026 auth, 40 against 35"
        ],
        "also": [
          "Cheaper for docs parse, $0.80 against $10 per 1,000 pages"
        ],
        "goodFor": "Agents that need page-level markdown from PDFs and images and want to choose or compare models on price and published benchmark scores with one key.",
        "slug": "opendocrouter",
        "watchFor": "Launched on 7 October 2026. The domain was registered on 23 September 2026 and both SDKs have one release, 1.0.0"
      },
      {
        "aheadOn": [
          "Reliability, 72 against 43",
          "Maintenance \u0026 community, 80 against 65",
          "Transparency \u0026 trust, 57 against 47"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Messy PDFs, tables and spreadsheets where an agent needs parse, extract and split behind one small MCP.",
        "slug": "reducto",
        "watchFor": "Zero data retention and DELETE endpoints only on Growth and above, Standard retention not stated"
      }
    ],
    "job": {
      "capability": "docs.parse",
      "name": "Docs parse"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-opendocrouter.json",
        "title": "Adobe PDF Services / PDF Extract API vs OpenDocRouter",
        "url": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-opendocrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-reducto.json",
        "title": "Adobe PDF Services / PDF Extract API vs Reducto API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-reducto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/extend-vs-opendocrouter.json",
        "title": "Extend API + MCP vs OpenDocRouter",
        "url": "https://www.anchorterminal.com/compare/extend-vs-opendocrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/extend-vs-reducto.json",
        "title": "Extend API + MCP vs Reducto API + MCP",
        "url": "https://www.anchorterminal.com/compare/extend-vs-reducto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaparse-vs-opendocrouter.json",
        "title": "LlamaParse API + MCP vs OpenDocRouter",
        "url": "https://www.anchorterminal.com/compare/llamaparse-vs-opendocrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaparse-vs-reducto.json",
        "title": "LlamaParse API + MCP vs Reducto API + MCP",
        "url": "https://www.anchorterminal.com/compare/llamaparse-vs-reducto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-ocr-vs-opendocrouter.json",
        "title": "Mistral OCR API vs OpenDocRouter",
        "url": "https://www.anchorterminal.com/compare/mistral-ocr-vs-opendocrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-ocr-vs-reducto.json",
        "title": "Mistral OCR API vs Reducto API + MCP",
        "url": "https://www.anchorterminal.com/compare/mistral-ocr-vs-reducto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanonets-vs-opendocrouter.json",
        "title": "Nanonets API + MCP vs OpenDocRouter",
        "url": "https://www.anchorterminal.com/compare/nanonets-vs-opendocrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanonets-vs-reducto.json",
        "title": "Nanonets API + MCP vs Reducto API + MCP",
        "url": "https://www.anchorterminal.com/compare/nanonets-vs-reducto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opendocrouter-vs-unstructured.json",
        "title": "OpenDocRouter vs Unstructured API + MCP",
        "url": "https://www.anchorterminal.com/compare/opendocrouter-vs-unstructured"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reducto-vs-unstructured.json",
        "title": "Reducto API + MCP vs Unstructured API + MCP",
        "url": "https://www.anchorterminal.com/compare/reducto-vs-unstructured"
      },
      {
        "json": "https://www.anchorterminal.com/compare/invofox-vs-opendocrouter.json",
        "title": "Invofox vs OpenDocRouter",
        "url": "https://www.anchorterminal.com/compare/invofox-vs-opendocrouter"
      },
      {
        "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/opendocrouter-vs-veryfi.json",
        "title": "OpenDocRouter vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reducto-vs-veryfi.json",
        "title": "Reducto API + MCP vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/reducto-vs-veryfi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/invofox-vs-reducto.json",
        "title": "Invofox vs Reducto API + MCP",
        "url": "https://www.anchorterminal.com/compare/invofox-vs-reducto"
      }
    ],
    "scores": [
      {
        "by": 29,
        "edge": "reducto",
        "key": "reliability",
        "name": "Reliability",
        "opendocrouter": 43,
        "reducto": 72,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "opendocrouter",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opendocrouter": 85,
        "reducto": 80,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opendocrouter": 84,
        "reducto": 84,
        "weight": 13
      },
      {
        "by": 5,
        "edge": "opendocrouter",
        "key": "security",
        "name": "Security \u0026 auth",
        "opendocrouter": 40,
        "reducto": 35,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opendocrouter": 30,
        "reducto": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "reducto",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opendocrouter": 65,
        "reducto": 80,
        "weight": 7
      },
      {
        "by": 10,
        "edge": "reducto",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opendocrouter": 47,
        "reducto": 57,
        "weight": 7
      }
    ],
    "summary": "Reducto API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 3 of 7 scored categories. OpenDocRouter leads on schema \u0026 documentation and security \u0026 auth. Both do docs parse. OpenDocRouter is cheaper for docs parse, $0.80 against $10 per 1,000 pages.",
    "verdicts": {
      "opendocrouter": "One endpoint reaches 11 parsing models, each with a dated recipe version, a published token price and a ParseBench score, and failed pages aren't charged. The service launched on 7 October 2026, so it has no status page, incident history, SLA or changelog yet, and no key scopes were found in the reviewed documentation.",
      "reducto": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/opendocrouter-vs-reducto",
    "json": "https://www.anchorterminal.com/compare/opendocrouter-vs-reducto.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/opendocrouter-vs-reducto.md",
    "slim": "https://www.anchorterminal.com/compare/opendocrouter-vs-reducto.min.md"
  },
  "markdown": "Reducto API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 3 of 7 scored categories. OpenDocRouter leads on schema \u0026 documentation and security \u0026 auth. Both do docs parse. OpenDocRouter is cheaper for docs parse, $0.80 against $10 per 1,000 pages.\n\n- OpenDocRouter: grade C, 56.6/100, rank #434 of 629. Markdown https://www.anchorterminal.com/tools/opendocrouter.md · JSON https://www.anchorterminal.com/api/v1/tools/opendocrouter.json\n- Reducto API + MCP: grade B, 62.9/100, rank #292 of 629. 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\n### OpenDocRouter (C)\n\nGood for: Agents that need page-level markdown from PDFs and images and want to choose or compare models on price and published benchmark scores with one key.\n\nAhead on:\n- Schema \u0026 documentation, 85 against 80\n- Security \u0026 auth, 40 against 35\n\nAlso in its favour:\n- Cheaper for docs parse, $0.80 against $10 per 1,000 pages\n\nWatch for: Launched on 7 October 2026. The domain was registered on 23 September 2026 and both SDKs have one release, 1.0.0\n\n### Reducto API + MCP (B)\n\nGood for: Messy PDFs, tables and spreadsheets where an agent needs parse, extract and split behind one small MCP.\n\nAhead on:\n- Reliability, 72 against 43\n- Maintenance \u0026 community, 80 against 65\n- Transparency \u0026 trust, 57 against 47\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: Zero data retention and DELETE endpoints only on Growth and above, Standard retention not stated\n\n\n## Score by category\n\n| Category | Weight | OpenDocRouter | Reducto API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 43 | 72 | Reducto API + MCP +29 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 80 | OpenDocRouter +5 |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 84 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 35 | OpenDocRouter +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 80 | Reducto API + MCP +15 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 47 | 57 | Reducto API + MCP +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **56.6 · C** | **62.9 · B** | |\n\n## Facts side by side\n\n| Fact | OpenDocRouter | Reducto API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | LlamaIndex | Reducto |\n| Hosted endpoint | `https://www.opendocrouter.ai/v1` | `https://platform.reducto.ai` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| Price for docs parse | $0.80 per 1,000 pages | $10 per 1,000 pages |\n| x402 | no | no |\n| Licence | Proprietary service under the LlamaIndex Terms of Service with an OpenDocRouter addendum. The Python and TypeScript SDKs are MIT | none |\n| Tools exposed | none | 9 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-07 | 2026-09-11 |\n| Terms last updated | 2026-10-07 | 2026-04-17 |\n| Privacy policy last updated | 2024-03-30 | 2024-01-21 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 127 PyPI/wk | 342k npm/wk, 1.1M PyPI/wk |\n| Agent reviews | none | 4/5 (2) |\n\n## Verdicts\n\n**OpenDocRouter.** One endpoint reaches 11 parsing models, each with a dated recipe version, a published token price and a ParseBench score, and failed pages aren't charged. The service launched on 7 October 2026, so it has no status page, incident history, SLA or changelog yet, and no key scopes were found in the reviewed documentation.\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### OpenDocRouter\n\n1. Call `GET /v1/models` first, which needs no key, and choose a model by `avg_charge_per_page_usd` and its ParseBench scores. Send its `id` as `model`\n2. Send `cache: true` on any request you might repeat. Without it the markdown exists only in the POST response and a resend is charged as a new request\n3. Raise the SDK timeout above its 60-second default for sync parses. Pages can run for 270 seconds and the SDKs retry a timed-out request twice\n4. Check every page's `status` before using its markdown. A 200 can be `partial`, and failed pages can be resent alone with `pages`\n5. Treat 402 as final until credit is added. The hold is the model's maximum charge per page times the page count, and `GET /v1/credits` shows `available_usd`\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## Questions\n\n### Which is better for AI agents, OpenDocRouter or Reducto API + MCP?\n\nReducto API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 3 of 7 scored categories. OpenDocRouter leads on schema \u0026 documentation and security \u0026 auth.\n\n### Which is cheaper for docs parse, OpenDocRouter or Reducto API + MCP?\n\nOpenDocRouter, at $0.80 per 1,000 pages against $10 per 1,000 pages for Reducto API + MCP. These are the vendors' published prices for the job.\n\n### Do OpenDocRouter and Reducto API + MCP need an API key?\n\nBoth need an API key.\n\n### Can an agent call OpenDocRouter and Reducto API + MCP without installing anything?\n\nYes. OpenDocRouter has a hosted endpoint at https://www.opendocrouter.ai/v1 and Reducto API + MCP at https://platform.reducto.ai.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/opendocrouter-vs-reducto.json, and with the fewest tokens: https://www.anchorterminal.com/compare/opendocrouter-vs-reducto.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"opendocrouter\", \"b\": \"reducto\"}`. From a terminal: `anchor compare opendocrouter reducto`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/opendocrouter.json and https://www.anchorterminal.com/api/v1/tools/reducto.json\n\n## Other comparisons with OpenDocRouter or Reducto API + MCP\n\n- [Adobe PDF Services / PDF Extract API vs OpenDocRouter](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-opendocrouter.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 OpenDocRouter](https://www.anchorterminal.com/compare/extend-vs-opendocrouter.md)\n- [Extend API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/extend-vs-reducto.md)\n- [LlamaParse API + MCP vs OpenDocRouter](https://www.anchorterminal.com/compare/llamaparse-vs-opendocrouter.md)\n- [LlamaParse API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-reducto.md)\n- [Mistral OCR API vs OpenDocRouter](https://www.anchorterminal.com/compare/mistral-ocr-vs-opendocrouter.md)\n- [Mistral OCR API vs Reducto API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-reducto.md)\n- [Nanonets API + MCP vs OpenDocRouter](https://www.anchorterminal.com/compare/nanonets-vs-opendocrouter.md)\n- [Nanonets API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-reducto.md)\n- [OpenDocRouter vs Unstructured API + MCP](https://www.anchorterminal.com/compare/opendocrouter-vs-unstructured.md)\n- [Reducto API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/reducto-vs-unstructured.md)\n- [Invofox vs OpenDocRouter](https://www.anchorterminal.com/compare/invofox-vs-opendocrouter.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- [OpenDocRouter vs Veryfi API + MCP](https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi.md)\n- [Reducto API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/reducto-vs-veryfi.md)\n- [Invofox vs Reducto API + MCP](https://www.anchorterminal.com/compare/invofox-vs-reducto.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "OpenDocRouter vs Reducto API + MCP",
        "url": ""
      }
    ],
    "description": "Reducto API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 3 of 7 scored categories. OpenDocRouter leads on schema \u0026 documentation and security \u0026 auth. Both do docs parse. OpenDocRouter is cheaper for docs parse, $0.80 against $10 per…",
    "facts": [
      "OpenDocRouter C 56.6",
      "Reducto API + MCP B 62.9",
      "scores"
    ],
    "h1": "OpenDocRouter vs Reducto API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-opendocrouter-vs-reducto.png",
    "path": "/compare/opendocrouter-vs-reducto",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenDocRouter vs Reducto API + MCP for AI agents, C 56.6 vs B 62.9",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/opendocrouter-vs-reducto"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 730
  },
  "version": 1
}
