{
  "data": {
    "a": {
      "slug": "extend",
      "name": "Extend API + MCP",
      "vendor": "Extend",
      "vendorUrl": "https://www.extend.ai",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "Hosted parse, extract, classify, split and PDF form-fill APIs with versioned processors, evaluation sets and workflows.",
      "url": "https://www.anchorterminal.com/tools/extend",
      "markdownUrl": "https://www.anchorterminal.com/tools/extend.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/extend.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/extend.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.extend.ai",
      "packages": [
        {
          "registry": "pypi",
          "name": "extend-ai"
        },
        {
          "registry": "npm",
          "name": "extend-ai"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key from the dashboard plus an x-extend-api-version header (current 2026-02-09). Test-mode keys hit an isolated environment. The hosted MCP uses OAuth, and the consent screen picks which workspaces and whether test, production or both are reachable.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go is self-serve with 10,000 free credits, then $0.0125 a credit, no contract or minimum. Scale is $500 a month with 50,000 credits and $0.01 a credit after that. Enterprise is custom. Performance modes cost 2 credits a page for Parse and Split, 3 for Extract and 1 for Classify. Light modes cost 0.5 for Parse and Split, 0.7 for Extract and 0.3 for Classify.Parse runs automatically before Extract, Split and Classify and is billed on top, so Performance Extract is 5 credits a page all in. CSV, plain text, RTF, Markdown and XML parse free, and advanced Excel is 3 credits per 1,000 cells. Review Agent adds 1 credit a page on extraction and 0.5 on classification, agentic text or table correction 1 each when triggered (https://docs.extend.ai/general/how-credits-work).",
      "priceSummary": "$25 / 1k pages",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call crypto payment in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 86,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 124329,
        "pypiWeekly": 59109,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.extend.ai",
      "llmsTxt": "https://docs.extend.ai/llms.txt",
      "openapi": "https://docs.extend.ai/openapi/api-reference.json",
      "registryName": "ai.extend/extend",
      "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-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.9,
        "grade": "B",
        "agentReady": false,
        "rank": 291,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 82,
          "payments": 30,
          "reliability": 67,
          "schema": 87,
          "security": 43,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Hosted MCP with OAuth scoped to workspaces and to test or production, and a tools filter with nine groups. Parse is billed on top of Extract, Split and Classify, so Performance Extract costs 5 credits a page.",
        "bestFor": "Teams building production extraction with evaluation sets and versioned processors, and for agents that need to build or tune extractors as well as run them.",
        "strengths": [
          "Hosted MCP with OAuth scoped to workspaces and to test or production, and a tools filter with nine groups",
          "Errors carry code, retryable, requestId and a docs link, and 429 guidance names Retry-After and jittered backoff",
          "Published credit prices and per-plan rate limits, 10,000 free credits to start",
          "OpenAPI spec, llms.txt and dated API versions with migration guides",
          "SDK releases every two to three weeks, TypeScript v2.3.0 on 2026-09-25"
        ],
        "weaknesses": [
          "Parse is billed on top of Extract, Split and Classify, so Performance Extract costs 5 credits a page",
          "MCP loads every tool unless you pass ?tools=, including write and delete tools with no documented confirmation",
          "Three major-impact incidents on the status page since 25 August",
          "No security.txt, bug bounty, subprocessor list or published default retention period",
          "No published support period for older API versions"
        ],
        "agentNotes": [
          "Connect with `https://mcp.extend.ai/mcp?tools=parse,extract,files` to keep the schema small",
          "Every MCP call names a workspace and TEST or PRODUCTION; start in TEST",
          "Read `retryable` on an error before retrying, and honour `Retry-After` on a 429",
          "Budget 5 credits a page for Performance Extract, since the parse step is billed on top",
          "Sync `POST /extract` blocks up to 5 minutes; use `/extract_runs` and poll or a webhook for long files"
        ],
        "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": 68,
          "maintenance": 82,
          "payments": 30,
          "reliability": 67,
          "schema": 87,
          "security": 43,
          "transparency": 48
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -X POST https://api.extend.ai/parse -H \"Authorization: Bearer $EXTEND_API_KEY\" \\\n  -H \"x-extend-api-version: 2026-02-09\" -H \"Content-Type: application/json\" \\\n  -d '{\"file\":{\"url\":\"https://extend-public-files.s3.us-east-2.amazonaws.com/bank_statement_example.pdf\"}}'",
        "claudeCode": "claude mcp add --transport http extend https://mcp.extend.ai/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/extend"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Parse (Performance)",
          "unit": "1k-pages",
          "usd": 25,
          "note": "2 credits a page on pay as you go; $20 on Scale"
        },
        {
          "item": "Parse (Light)",
          "unit": "1k-pages",
          "usd": 6.25,
          "note": "0.5 credits a page on pay as you go"
        },
        {
          "item": "Extract (Performance)",
          "unit": "1k-pages",
          "usd": 62.5,
          "note": "3 credits extract plus 2 for the automatic parse; $50 on Scale"
        },
        {
          "item": "Split (Performance)",
          "unit": "1k-pages",
          "usd": 50,
          "note": "2 credits split plus 2 for the automatic parse"
        },
        {
          "item": "Classify (Performance)",
          "unit": "1k-pages",
          "usd": 37.5,
          "note": "1 credit classify plus 2 for the automatic parse"
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 500,
          "note": "50,000 credits included, $0.01 a credit after"
        }
      ],
      "provenance": {
        "legalEntity": "CrowdView Inc. dba Extend",
        "domain": "extend.ai",
        "domainRegistered": "2017-12-15",
        "endpointOnVendorDomain": true,
        "terms": "https://www.extend.ai/website-terms-of-use",
        "privacy": "https://www.extend.ai/privacy",
        "statusPage": "https://status.extend.ai",
        "changelog": "https://docs.extend.ai/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The domain predates the product; extend.ai was registered in 2017"
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/extend.json",
      "live": {
        "slug": "extend",
        "probe": {
          "target": "https://api.extend.ai",
          "method": "get",
          "lastAt": "2026-10-08T19:08:46.24987978Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 414,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 397,
          "p95ms24h": 498,
          "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.extend.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:06:39.111117821Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "ai.extend/extend",
            "version": "1.0.0",
            "seenAt": "2026-10-08T02:42:52.272076636Z"
          },
          {
            "registry": "npm",
            "name": "extend-ai",
            "version": "2.3.0",
            "seenAt": "2026-10-08T16:11:11.624540525Z"
          },
          {
            "registry": "pypi",
            "name": "extend-ai",
            "version": "1.19.0",
            "released": "2026-08-27",
            "seenAt": "2026-10-08T16:11:11.437008801Z"
          }
        ],
        "npmWeekly": 157011,
        "pypiWeekly": 53432,
        "securityTxt": {
          "url": "https://extend.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:39.318058744Z"
        },
        "llmsTxt": {
          "url": "https://docs.extend.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:24.662470125Z"
        },
        "domain": {
          "domain": "extend.ai",
          "registered": "2017-12-15",
          "source": "https://rdap.identitydigital.services/rdap/domain/extend.ai",
          "checkedAt": "2026-10-04T13:05:28.720123243Z"
        },
        "pages": [
          {
            "url": "https://docs.extend.ai/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:43.633933673Z",
            "changedAt": "2026-10-08T18:18:43.633933673Z",
            "fingerprint": "606b1b5b8893"
          },
          {
            "url": "https://www.extend.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-01T13:17:11.851015067Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f871dbf62d7d"
          },
          {
            "url": "https://www.extend.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:41.687350461Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a722541586a5"
          },
          {
            "url": "https://www.extend.ai/website-terms-of-use",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:43.868457192Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6af50cfb7dde"
          }
        ],
        "updatedAt": "2026-10-08T19:08:46.24987978Z"
      }
    },
    "answer": "Extend API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 5 of 7 scored categories. OpenDocRouter leads on agent ergonomics.",
    "b": {
      "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"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Extend",
        "b": "LlamaIndex",
        "name": "Vendor"
      },
      {
        "a": "https://api.extend.ai",
        "b": "https://www.opendocrouter.ai/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$6.25 per 1,000 pages",
        "b": "$0.80 per 1,000 pages",
        "name": "Price for docs parse"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under the LlamaIndex Terms of Service with an OpenDocRouter addendum. The Python and TypeScript SDKs are MIT",
        "name": "Licence"
      },
      {
        "a": "86",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "ai.extend/extend",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-25",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "2026-09-14",
        "b": "2026-10-07",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-14",
        "b": "2024-03-30",
        "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": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "124k npm/wk, 59k PyPI/wk",
        "b": "127 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Extend API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 5 of 7 scored categories. OpenDocRouter leads on agent ergonomics.",
        "question": "Which is better for AI agents, Extend API + MCP or OpenDocRouter?"
      },
      {
        "answer": "OpenDocRouter, at $0.80 per 1,000 pages against $6.25 per 1,000 pages for Extend API + MCP. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for docs parse, Extend API + MCP or OpenDocRouter?"
      },
      {
        "answer": "Extend API + MCP takes an API key or an OAuth sign-in. OpenDocRouter needs an API key.",
        "question": "Do Extend API + MCP and OpenDocRouter need an API key?"
      },
      {
        "answer": "Yes. Extend API + MCP has a hosted endpoint at https://api.extend.ai and OpenDocRouter at https://www.opendocrouter.ai/v1.",
        "question": "Can an agent call Extend API + MCP and OpenDocRouter without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 67 against 43",
          "Maintenance \u0026 community, 82 against 65",
          "Transparency \u0026 trust, 67 against 47"
        ],
        "also": null,
        "goodFor": "Teams building production extraction with evaluation sets and versioned processors, and for agents that need to build or tune extractors as well as run them.",
        "slug": "extend",
        "watchFor": "Parse is billed on top of Extract, Split and Classify, so Performance Extract costs 5 credits a page"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 84 against 68"
        ],
        "also": [
          "Cheaper for docs parse, $0.80 against $6.25 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"
      }
    ],
    "job": {
      "capability": "docs.parse",
      "name": "Docs parse"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-extend.json",
        "title": "Adobe PDF Services / PDF Extract API vs Extend API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-extend"
      },
      {
        "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/extend-vs-llamaparse.json",
        "title": "Extend API + MCP vs LlamaParse API + MCP",
        "url": "https://www.anchorterminal.com/compare/extend-vs-llamaparse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/extend-vs-mistral-ocr.json",
        "title": "Extend API + MCP vs Mistral OCR API",
        "url": "https://www.anchorterminal.com/compare/extend-vs-mistral-ocr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/extend-vs-nanonets.json",
        "title": "Extend API + MCP vs Nanonets API + MCP",
        "url": "https://www.anchorterminal.com/compare/extend-vs-nanonets"
      },
      {
        "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/extend-vs-unstructured.json",
        "title": "Extend API + MCP vs Unstructured API + MCP",
        "url": "https://www.anchorterminal.com/compare/extend-vs-unstructured"
      },
      {
        "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/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/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/opendocrouter-vs-reducto.json",
        "title": "OpenDocRouter vs Reducto API + MCP",
        "url": "https://www.anchorterminal.com/compare/opendocrouter-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/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/extend-vs-veryfi.json",
        "title": "Extend API + MCP vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/extend-vs-veryfi"
      },
      {
        "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/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/extend-vs-invofox.json",
        "title": "Extend API + MCP vs Invofox",
        "url": "https://www.anchorterminal.com/compare/extend-vs-invofox"
      }
    ],
    "scores": [
      {
        "by": 24,
        "edge": "extend",
        "extend": 67,
        "key": "reliability",
        "name": "Reliability",
        "opendocrouter": 43,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "extend",
        "extend": 87,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opendocrouter": 85,
        "weight": 13
      },
      {
        "by": 16,
        "edge": "opendocrouter",
        "extend": 68,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opendocrouter": 84,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "extend",
        "extend": 43,
        "key": "security",
        "name": "Security \u0026 auth",
        "opendocrouter": 40,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "extend": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opendocrouter": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "edge": "extend",
        "extend": 82,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opendocrouter": 65,
        "weight": 7
      },
      {
        "by": 20,
        "edge": "extend",
        "extend": 67,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opendocrouter": 47,
        "weight": 7
      }
    ],
    "summary": "Extend API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 5 of 7 scored categories. OpenDocRouter leads on agent ergonomics. Both do docs parse. OpenDocRouter is cheaper for docs parse, $0.80 against $6.25 per 1,000 pages.",
    "verdicts": {
      "extend": "Hosted MCP with OAuth scoped to workspaces and to test or production, and a tools filter with nine groups. Parse is billed on top of Extract, Split and Classify, so Performance Extract costs 5 credits a page.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/extend-vs-opendocrouter",
    "json": "https://www.anchorterminal.com/compare/extend-vs-opendocrouter.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/extend-vs-opendocrouter.md",
    "slim": "https://www.anchorterminal.com/compare/extend-vs-opendocrouter.min.md"
  },
  "markdown": "Extend API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 5 of 7 scored categories. OpenDocRouter leads on agent ergonomics. Both do docs parse. OpenDocRouter is cheaper for docs parse, $0.80 against $6.25 per 1,000 pages.\n\n- Extend API + MCP: grade B, 62.9/100, rank #291 of 629. Markdown https://www.anchorterminal.com/tools/extend.md · JSON https://www.anchorterminal.com/api/v1/tools/extend.json\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\n## Which one, for what\n\n### Extend API + MCP (B)\n\nGood for: Teams building production extraction with evaluation sets and versioned processors, and for agents that need to build or tune extractors as well as run them.\n\nAhead on:\n- Reliability, 67 against 43\n- Maintenance \u0026 community, 82 against 65\n- Transparency \u0026 trust, 67 against 47\n\nWatch for: Parse is billed on top of Extract, Split and Classify, so Performance Extract costs 5 credits a page\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- Agent ergonomics, 84 against 68\n\nAlso in its favour:\n- Cheaper for docs parse, $0.80 against $6.25 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\n## Score by category\n\n| Category | Weight | Extend API + MCP | OpenDocRouter | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 43 | Extend API + MCP +24 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 85 | Extend API + MCP +2 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 84 | OpenDocRouter +16 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 40 | Extend API + MCP +3 |\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) | 82 | 65 | Extend API + MCP +17 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 47 | Extend API + MCP +20 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **62.9 · B** | **56.6 · C** | |\n\n## Facts side by side\n\n| Fact | Extend API + MCP | OpenDocRouter |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Extend | LlamaIndex |\n| Hosted endpoint | `https://api.extend.ai` | `https://www.opendocrouter.ai/v1` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Pay per use |\n| Price for docs parse | $6.25 per 1,000 pages | $0.80 per 1,000 pages |\n| x402 | no | no |\n| Licence | none | Proprietary service under the LlamaIndex Terms of Service with an OpenDocRouter addendum. The Python and TypeScript SDKs are MIT |\n| Tools exposed | 86 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `ai.extend/extend` | not listed |\n| Last release | 2026-09-25 | 2026-10-07 |\n| Terms last updated | 2026-09-14 | 2026-10-07 |\n| Privacy policy last updated | 2026-09-14 | 2024-03-30 |\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 | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 124k npm/wk, 59k PyPI/wk | 127 PyPI/wk |\n| Agent reviews | 4/5 (2) | none |\n\n## Verdicts\n\n**Extend API + MCP.** Hosted MCP with OAuth scoped to workspaces and to test or production, and a tools filter with nine groups. Parse is billed on top of Extract, Split and Classify, so Performance Extract costs 5 credits a page.\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## Before you call either\n\n### Extend API + MCP\n\n1. Connect with `https://mcp.extend.ai/mcp?tools=parse,extract,files` to keep the schema small\n2. Every MCP call names a workspace and TEST or PRODUCTION; start in TEST\n3. Read `retryable` on an error before retrying, and honour `Retry-After` on a 429\n4. Budget 5 credits a page for Performance Extract, since the parse step is billed on top\n5. Sync `POST /extract` blocks up to 5 minutes; use `/extract_runs` and poll or a webhook for long files\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## Questions\n\n### Which is better for AI agents, Extend API + MCP or OpenDocRouter?\n\nExtend API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 5 of 7 scored categories. OpenDocRouter leads on agent ergonomics.\n\n### Which is cheaper for docs parse, Extend API + MCP or OpenDocRouter?\n\nOpenDocRouter, at $0.80 per 1,000 pages against $6.25 per 1,000 pages for Extend API + MCP. These are the vendors' published prices for the job.\n\n### Do Extend API + MCP and OpenDocRouter need an API key?\n\nExtend API + MCP takes an API key or an OAuth sign-in. OpenDocRouter needs an API key.\n\n### Can an agent call Extend API + MCP and OpenDocRouter without installing anything?\n\nYes. Extend API + MCP has a hosted endpoint at https://api.extend.ai and OpenDocRouter at https://www.opendocrouter.ai/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/extend-vs-opendocrouter.json, and with the fewest tokens: https://www.anchorterminal.com/compare/extend-vs-opendocrouter.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"extend\", \"b\": \"opendocrouter\"}`. From a terminal: `anchor compare extend opendocrouter`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/extend.json and https://www.anchorterminal.com/api/v1/tools/opendocrouter.json\n\n## Other comparisons with Extend API + MCP or OpenDocRouter\n\n- [Adobe PDF Services / PDF Extract API vs Extend API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-extend.md)\n- [Adobe PDF Services / PDF Extract API vs OpenDocRouter](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-opendocrouter.md)\n- [Extend API + MCP vs LlamaParse API + MCP](https://www.anchorterminal.com/compare/extend-vs-llamaparse.md)\n- [Extend API + MCP vs Mistral OCR API](https://www.anchorterminal.com/compare/extend-vs-mistral-ocr.md)\n- [Extend API + MCP vs Nanonets API + MCP](https://www.anchorterminal.com/compare/extend-vs-nanonets.md)\n- [Extend API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/extend-vs-reducto.md)\n- [Extend API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/extend-vs-unstructured.md)\n- [LlamaParse API + MCP vs OpenDocRouter](https://www.anchorterminal.com/compare/llamaparse-vs-opendocrouter.md)\n- [Mistral OCR API vs OpenDocRouter](https://www.anchorterminal.com/compare/mistral-ocr-vs-opendocrouter.md)\n- [Nanonets API + MCP vs OpenDocRouter](https://www.anchorterminal.com/compare/nanonets-vs-opendocrouter.md)\n- [OpenDocRouter vs Reducto API + MCP](https://www.anchorterminal.com/compare/opendocrouter-vs-reducto.md)\n- [OpenDocRouter vs Unstructured API + MCP](https://www.anchorterminal.com/compare/opendocrouter-vs-unstructured.md)\n- [Extend API + MCP vs Mindee API](https://www.anchorterminal.com/compare/extend-vs-mindee.md)\n- [Extend API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/extend-vs-veryfi.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- [OpenDocRouter vs Veryfi API + MCP](https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi.md)\n- [Extend API + MCP vs Invofox](https://www.anchorterminal.com/compare/extend-vs-invofox.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": "Extend API + MCP vs OpenDocRouter",
        "url": ""
      }
    ],
    "description": "Extend API + MCP scores 62.9 (B) on agent readiness against OpenDocRouter's 56.6 (C), and leads in 5 of 7 scored categories. OpenDocRouter leads on agent ergonomics. Both do docs parse. OpenDocRouter is cheaper for docs parse, $0.80 against $6.25 per 1,000 pages. Category…",
    "facts": [
      "Extend API + MCP B 62.9",
      "OpenDocRouter C 56.6",
      "scores"
    ],
    "h1": "Extend API + MCP vs OpenDocRouter",
    "image": "https://www.anchorterminal.com/assets/og/compare-extend-vs-opendocrouter.png",
    "path": "/compare/extend-vs-opendocrouter",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Extend API + MCP vs OpenDocRouter for AI agents, B 62.9 vs C 56.6",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/extend-vs-opendocrouter"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 730
  },
  "version": 1
}
