{
  "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": "OpenDocRouter scores 56.6 (C) on agent readiness against Veryfi API + MCP's 55.2 (C), and leads in 2 of 7 scored categories. Veryfi API + MCP leads on reliability, payments \u0026 pricing, maintenance \u0026 community and transparency \u0026 trust.",
    "b": {
      "slug": "veryfi",
      "name": "Veryfi API + MCP",
      "vendor": "Veryfi",
      "vendorUrl": "https://www.veryfi.com",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "Receipt, invoice, bank statement, cheque and W-2 extraction API priced per document, with fraud checks as add-ons.",
      "url": "https://www.anchorterminal.com/tools/veryfi",
      "markdownUrl": "https://www.anchorterminal.com/tools/veryfi.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/veryfi.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/veryfi.json",
      "repo": "https://github.com/veryfi/mcp-server",
      "license": "MIT (MCP server and SDKs)",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.veryfi.com/api/v8/partner",
      "packages": [
        {
          "registry": "pypi",
          "name": "veryfi"
        },
        {
          "registry": "npm",
          "name": "@veryfi/veryfi-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Every request needs a CLIENT-ID header plus either `Authorization: apikey USERNAME:API_KEY` (legacy) or a Bearer key, which can be scoped. Optional HMAC request signing with the client secret.",
      "pricing": "freemium",
      "pricingNotes": "Free for 100 documents a month. Starter is pay as you go with a $500 a month minimum, $0.08 a receipt, $0.16 an invoice or W-2/W-9, $0.25 a bank statement or cheque, 1 cent off each with a 12-month commitment. Charged per document up to 15 pages, not per page. Growth is quoted (https://www.veryfi.com/pricing/).",
      "priceSummary": "$500 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 1,
      "popularity": {
        "githubStars": 31,
        "npmWeekly": 5692,
        "pypiWeekly": 16904,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.veryfi.com",
      "llmsTxt": "https://docs.veryfi.com/llms.txt",
      "capabilities": [
        "docs.ocr",
        "docs.extract",
        "docs.tables",
        "docs.classify"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "python",
        "typescript",
        "webhooks",
        "async-jobs"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.2,
        "grade": "C",
        "agentReady": false,
        "rank": 456,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 78,
          "payments": 40,
          "reliability": 55,
          "schema": 50,
          "security": 40,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Typed fields and line items for receipts, invoices, cheques, bank statements and tax forms. API outage on 29 September and degraded, incomplete extraction on 1 October.",
        "bestFor": "Expense, accounts-payable and lending flows that need line items from receipts, invoices and bank statements at a per-document price.",
        "strengths": [
          "Typed fields and line items for receipts, invoices, cheques, bank statements and tax forms",
          "Per-document pricing up to 15 pages, $0.08 a receipt, 100 free documents a month with no card",
          "Published rate limits per endpoint and Retry-After on 429",
          "HMAC request signing with the client secret",
          "Node.js SDK tagged seven times since 4 August, v1.4.8 to v1.5.2"
        ],
        "weaknesses": [
          "API outage on 29 September and degraded, incomplete extraction on 1 October",
          "Submitted documents train Veryfi's models unless opted out by agreement",
          "$500 a month minimum once past 100 free documents",
          "MCP server has one tool, no package and no commits since 2025-09-26",
          "No downloadable OpenAPI spec and no public changelog"
        ],
        "agentNotes": [
          "Always send an `Idempotency-Key` header so a retry after a 504 doesn't bill twice",
          "Wait for the seconds in `Retry-After` on a 429; identical failing requests are capped at 10 a minute",
          "Set the `CLIENT-ID` header on every call",
          "Use the dedicated endpoints for bank statements, cheques and tax forms, since the documents endpoint handles receipts, invoices and purchase orders",
          "Set `max_pages_to_process` for long PDFs, since one transaction covers 15 pages"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.2
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 78,
          "payments": 40,
          "reliability": 55,
          "schema": 50,
          "security": 40,
          "transparency": 40
        },
        "provenanceScore": 75
      },
      "connect": {
        "install": "pip install veryfi   # or: npm i @veryfi/veryfi-sdk",
        "http": "curl https://api.veryfi.com/api/v8/partner/documents \\\n  -H \"CLIENT-ID: $VERYFI_CLIENT_ID\" -H \"Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" -H \"content-type: application/json\" \\\n  -d '{\"file_url\":\"https://example.com/receipt.jpg\"}'",
        "config": {
          "mcpServers": {
            "veryfi": {
              "args": [
                "--directory",
                "path/to/mcp-server",
                "run",
                "src/server.py"
              ],
              "command": "uv",
              "env": {}
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/docs.ocr",
        "tool": "https://letme.dev/veryfi"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter minimum",
          "unit": "month",
          "usd": 500
        },
        {
          "item": "Receipt",
          "unit": "call",
          "usd": 0.08,
          "note": "one document up to 15 pages"
        },
        {
          "item": "Invoice, W-2 or W-9",
          "unit": "call",
          "usd": 0.16,
          "note": "one document up to 15 pages"
        },
        {
          "item": "Bank statement or cheque",
          "unit": "call",
          "usd": 0.25,
          "note": "one document up to 15 pages"
        }
      ],
      "provenance": {
        "legalEntity": "Veryfi, Inc.",
        "domain": "veryfi.com",
        "domainRegistered": "2008-04-18",
        "endpointOnVendorDomain": true,
        "terms": "https://www.veryfi.com/terms/",
        "privacy": "https://www.veryfi.com/privacy/",
        "statusPage": "https://status.veryfi.com/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/veryfi.json",
      "live": {
        "slug": "veryfi",
        "probe": {
          "target": "https://api.veryfi.com/api/v8/partner",
          "method": "get",
          "lastAt": "2026-10-08T19:09:01.631613519Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 508,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.91,
          "p50ms24h": 511,
          "p95ms24h": 611,
          "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": 246
            },
            {
              "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.veryfi.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:51:18.538346938Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@veryfi/veryfi-sdk",
            "version": "1.5.2",
            "seenAt": "2026-10-08T16:34:18.538664908Z"
          },
          {
            "registry": "pypi",
            "name": "veryfi",
            "version": "5.1.0",
            "released": "2026-05-14",
            "seenAt": "2026-10-08T16:34:18.342618383Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 6299,
        "pypiWeekly": 11521,
        "securityTxt": {
          "url": "https://veryfi.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:39:03.005176302Z"
        },
        "llmsTxt": {
          "url": "https://docs.veryfi.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:59.640876576Z"
        },
        "domain": {
          "domain": "veryfi.com",
          "registered": "2008-04-18",
          "source": "https://rdap.verisign.com/com/v1/domain/veryfi.com",
          "checkedAt": "2026-10-04T13:06:38.949880383Z"
        },
        "pages": [
          {
            "url": "https://www.veryfi.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:23.896770942Z",
            "changedAt": "2026-10-08T18:31:23.896770942Z",
            "fingerprint": "df898cdf0bc5"
          },
          {
            "url": "https://www.veryfi.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:26.434693117Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "47a7b02e27f5"
          },
          {
            "url": "https://www.veryfi.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:28.142127377Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ccf4f32a76c6"
          }
        ],
        "updatedAt": "2026-10-08T19:09:01.631613519Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "LlamaIndex",
        "b": "Veryfi",
        "name": "Vendor"
      },
      {
        "a": "https://www.opendocrouter.ai/v1",
        "b": "https://api.veryfi.com/api/v8/partner",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "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": "MIT (MCP server and SDKs)",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "1",
        "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-15",
        "name": "Last release"
      },
      {
        "a": "2026-10-07",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2024-03-30",
        "b": "2026-07-10",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "127 PyPI/wk",
        "b": "31 stars, 5.7k npm/wk, 17k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenDocRouter scores 56.6 (C) on agent readiness against Veryfi API + MCP's 55.2 (C), and leads in 2 of 7 scored categories. Veryfi API + MCP leads on reliability, payments \u0026 pricing, maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, OpenDocRouter or Veryfi API + MCP?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do OpenDocRouter and Veryfi API + MCP need an API key?"
      },
      {
        "answer": "Yes. OpenDocRouter has a hosted endpoint at https://www.opendocrouter.ai/v1 and Veryfi API + MCP at https://api.veryfi.com/api/v8/partner.",
        "question": "Can an agent call OpenDocRouter and Veryfi API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 50",
          "Agent ergonomics, 84 against 75"
        ],
        "also": null,
        "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, 55 against 43",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 78 against 65",
          "Transparency \u0026 trust, 58 against 47"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Expense, accounts-payable and lending flows that need line items from receipts, invoices and bank statements at a per-document price.",
        "slug": "veryfi",
        "watchFor": "API outage on 29 September and degraded, incomplete extraction on 1 October"
      }
    ],
    "job": {
      "capability": "docs.ocr",
      "name": "Docs ocr"
    },
    "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/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/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/adobe-pdf-extract-vs-veryfi.json",
        "title": "Adobe PDF Services / PDF Extract API vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-veryfi"
      },
      {
        "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/llamaparse-vs-veryfi.json",
        "title": "LlamaParse API + MCP vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/llamaparse-vs-veryfi"
      },
      {
        "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-veryfi.json",
        "title": "Mindee API vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/mindee-vs-veryfi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-ocr-vs-veryfi.json",
        "title": "Mistral OCR API vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/mistral-ocr-vs-veryfi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanonets-vs-veryfi.json",
        "title": "Nanonets API + MCP vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/nanonets-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/unstructured-vs-veryfi.json",
        "title": "Unstructured API + MCP vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/unstructured-vs-veryfi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/invofox-vs-veryfi.json",
        "title": "Invofox vs Veryfi API + MCP",
        "url": "https://www.anchorterminal.com/compare/invofox-vs-veryfi"
      }
    ],
    "scores": [
      {
        "by": 12,
        "edge": "veryfi",
        "key": "reliability",
        "name": "Reliability",
        "opendocrouter": 43,
        "veryfi": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 35,
        "edge": "opendocrouter",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opendocrouter": 85,
        "veryfi": 50,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "opendocrouter",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opendocrouter": 84,
        "veryfi": 75,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "key": "security",
        "name": "Security \u0026 auth",
        "opendocrouter": 40,
        "veryfi": 40,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "veryfi",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opendocrouter": 30,
        "veryfi": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "edge": "veryfi",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opendocrouter": 65,
        "veryfi": 78,
        "weight": 7
      },
      {
        "by": 11,
        "edge": "veryfi",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opendocrouter": 47,
        "veryfi": 58,
        "weight": 7
      }
    ],
    "summary": "OpenDocRouter scores 56.6 (C) on agent readiness against Veryfi API + MCP's 55.2 (C), and leads in 2 of 7 scored categories. Veryfi API + MCP leads on reliability, payments \u0026 pricing, maintenance \u0026 community and transparency \u0026 trust. Both do docs ocr.",
    "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.",
      "veryfi": "Typed fields and line items for receipts, invoices, cheques, bank statements and tax forms. API outage on 29 September and degraded, incomplete extraction on 1 October."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi",
    "json": "https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi.md",
    "slim": "https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi.min.md"
  },
  "markdown": "OpenDocRouter scores 56.6 (C) on agent readiness against Veryfi API + MCP's 55.2 (C), and leads in 2 of 7 scored categories. Veryfi API + MCP leads on reliability, payments \u0026 pricing, maintenance \u0026 community and transparency \u0026 trust. Both do docs ocr.\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- Veryfi API + MCP: grade C, 55.2/100, rank #456 of 629. Markdown https://www.anchorterminal.com/tools/veryfi.md · JSON https://www.anchorterminal.com/api/v1/tools/veryfi.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 50\n- Agent ergonomics, 84 against 75\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### Veryfi API + MCP (C)\n\nGood for: Expense, accounts-payable and lending flows that need line items from receipts, invoices and bank statements at a per-document price.\n\nAhead on:\n- Reliability, 55 against 43\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 78 against 65\n- Transparency \u0026 trust, 58 against 47\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: API outage on 29 September and degraded, incomplete extraction on 1 October\n\n\n## Score by category\n\n| Category | Weight | OpenDocRouter | Veryfi API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 43 | 55 | Veryfi API + MCP +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 50 | OpenDocRouter +35 |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 75 | OpenDocRouter +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 40 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Veryfi API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 78 | Veryfi API + MCP +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 47 | 58 | Veryfi API + MCP +11 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **56.6 · C** | **55.2 · C** | |\n\n## Facts side by side\n\n| Fact | OpenDocRouter | Veryfi API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | LlamaIndex | Veryfi |\n| Hosted endpoint | `https://www.opendocrouter.ai/v1` | `https://api.veryfi.com/api/v8/partner` |\n| Transports | HTTP | HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Pay per use | Freemium |\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 | MIT (MCP server and SDKs) |\n| Tools exposed | none | 1 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-07 | 2026-09-15 |\n| Terms last updated | 2026-10-07 | couldn't be read |\n| Privacy policy last updated | 2024-03-30 | 2026-07-10 |\n| Customer content may train models | not found in the text | yes, with an opt-out |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Popularity | 127 PyPI/wk | 31 stars, 5.7k npm/wk, 17k PyPI/wk |\n| Agent reviews | none | 3/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**Veryfi API + MCP.** Typed fields and line items for receipts, invoices, cheques, bank statements and tax forms. API outage on 29 September and degraded, incomplete extraction on 1 October.\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### Veryfi API + MCP\n\n1. Always send an `Idempotency-Key` header so a retry after a 504 doesn't bill twice\n2. Wait for the seconds in `Retry-After` on a 429; identical failing requests are capped at 10 a minute\n3. Set the `CLIENT-ID` header on every call\n4. Use the dedicated endpoints for bank statements, cheques and tax forms, since the documents endpoint handles receipts, invoices and purchase orders\n5. Set `max_pages_to_process` for long PDFs, since one transaction covers 15 pages\n\n## Questions\n\n### Which is better for AI agents, OpenDocRouter or Veryfi API + MCP?\n\nOpenDocRouter scores 56.6 (C) on agent readiness against Veryfi API + MCP's 55.2 (C), and leads in 2 of 7 scored categories. Veryfi API + MCP leads on reliability, payments \u0026 pricing, maintenance \u0026 community and transparency \u0026 trust.\n\n### Do OpenDocRouter and Veryfi API + MCP need an API key?\n\nBoth need an API key.\n\n### Can an agent call OpenDocRouter and Veryfi API + MCP without installing anything?\n\nYes. OpenDocRouter has a hosted endpoint at https://www.opendocrouter.ai/v1 and Veryfi API + MCP at https://api.veryfi.com/api/v8/partner.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi.json, and with the fewest tokens: https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"opendocrouter\", \"b\": \"veryfi\"}`. From a terminal: `anchor compare opendocrouter veryfi`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/opendocrouter.json and https://www.anchorterminal.com/api/v1/tools/veryfi.json\n\n## Other comparisons with OpenDocRouter or Veryfi API + MCP\n\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 OpenDocRouter](https://www.anchorterminal.com/compare/extend-vs-opendocrouter.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- [Adobe PDF Services / PDF Extract API vs Veryfi API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-veryfi.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- [LlamaParse API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-veryfi.md)\n- [Mindee API vs OpenDocRouter](https://www.anchorterminal.com/compare/mindee-vs-opendocrouter.md)\n- [Mindee API vs Veryfi API + MCP](https://www.anchorterminal.com/compare/mindee-vs-veryfi.md)\n- [Mistral OCR API vs Veryfi API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-veryfi.md)\n- [Nanonets API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-veryfi.md)\n- [Reducto API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/reducto-vs-veryfi.md)\n- [Unstructured API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/unstructured-vs-veryfi.md)\n- [Invofox vs Veryfi API + MCP](https://www.anchorterminal.com/compare/invofox-vs-veryfi.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 Veryfi API + MCP",
        "url": ""
      }
    ],
    "description": "OpenDocRouter scores 56.6 (C) on agent readiness against Veryfi API + MCP's 55.2 (C), and leads in 2 of 7 scored categories. Veryfi API + MCP leads on reliability, payments \u0026 pricing, maintenance \u0026 community and transparency \u0026 trust. Both do docs ocr. Category scores, facts…",
    "facts": [
      "OpenDocRouter C 56.6",
      "Veryfi API + MCP C 55.2",
      "scores"
    ],
    "h1": "OpenDocRouter vs Veryfi API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-opendocrouter-vs-veryfi.png",
    "path": "/compare/opendocrouter-vs-veryfi",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenDocRouter vs Veryfi API + MCP for AI agents, C 56.6 vs C 55.2",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/opendocrouter-vs-veryfi"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 780
  },
  "version": 1
}
