{
  "data": {
    "a": {
      "slug": "invofox",
      "name": "Invofox",
      "vendor": "Invofox, Inc.",
      "vendorUrl": "https://www.invofox.com",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "Invofox is a hosted API that extracts structured, validated JSON from PDFs and images such as invoices, payslips, bank statements and custom document types, with a classifier and a splitter. Results arrive by webhook or polling.",
      "url": "https://www.anchorterminal.com/tools/invofox",
      "markdownUrl": "https://www.anchorterminal.com/tools/invofox.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/invofox.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/invofox.json",
      "license": "Proprietary hosted service. The n8n community node on GitHub is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.invofox.com",
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key in an `x-api-key` header, created by a person under API and Webhooks in the dashboard at app.invofox.com after a self-serve sign-up. Each key is scoped to one environment, which is configured as TEST or PRODUCTION. The ingest OpenAPI file also defines an `x-access-token` header for browser sessions. No OAuth, and no scoped or read-only keys were found. Webhooks can be signed with HMAC, sent in an `x-invofox-signature` header.",
      "pricing": "freemium",
      "pricingNotes": "Free plan of 500 pages with REST API access, self-serve sign-up and no card. Starter is from $500 a month billed annually for up to 5,000 pages a month, with email support and a stated 99.9% uptime SLA. Scale and Enterprise are custom. Billing is per page, with no per-page or overage rate published. The YC launch post of 5 October 2026 mentions 1,500 free pages for new users, which the pricing page does not show (https://www.invofox.com/en/pricing.md, checked 2026-10-08).",
      "priceSummary": "$500 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the three OpenAPI files or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.invofox.com/documentation/start-here",
      "llmsTxt": "https://developers.invofox.com/llms.txt",
      "openapi": "https://www.invofox.com/openapi.yaml",
      "capabilities": [
        "docs.extract",
        "docs.ocr",
        "docs.classify"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "openapi",
        "llms-txt",
        "webhooks",
        "async-jobs",
        "api-key",
        "closed-source",
        "soc2"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.8,
        "grade": "D",
        "agentReady": false,
        "rank": 641,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 30,
          "payments": 30,
          "reliability": 30,
          "schema": 70,
          "security": 45,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Three public OpenAPI 3.1 files, llms.txt and Markdown docs describe an asynchronous upload and webhook flow, and the free plan covers 500 pages without a card. No status page, rate limit numbers, changelog or official SDK were found, and documents are retained by default, with zero retention limited to Scale and Enterprise.",
        "bestFor": "Teams that process a known set of business documents (invoices, payslips, bank statements, mortgage forms) at volume and can receive webhooks.",
        "strengths": [
          "Three public OpenAPI 3.1 files (main 25 operations, ingest 7, seven webhook events), plus llms.txt and a Markdown twin of every docs page",
          "Free plan of 500 pages with REST API access and no card, by self-serve sign-up opened on 5 October 2026",
          "The document list takes `select` field projection, `filter` operators, `sort`, and `skip` and `limit` up to 500",
          "429 responses carry RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset and Retry-After headers, per the main OpenAPI file",
          "security.txt valid until 1 June 2027, and the vendor states SOC 2 Type II and ISO 27001:2022 certification"
        ],
        "weaknesses": [
          "No status page found. status.invofox.com does not resolve, and neither the site nor the docs link to one",
          "No rate limit numbers. The vendor's own AI briefing says rate limits and page limits per file are not publicly documented",
          "No public changelog and no official SDK. The only package is an n8n community node at 0.1.0",
          "Documents are retained by default and used to tune models. Zero retention is opt-in on Scale and Enterprise only",
          "The General Terms and Conditions that the published DPA relies on were not found on the site"
        ],
        "agentNotes": [
          "Ask the owner for an API key and the Document Type id or alias from app.invofox.com. No API endpoint lists Document Types",
          "Upload with POST /v1/ingest/uploads as multipart, with `info` as a JSON string. Send `\"useClassifier\": true` in place of `type` to have the type detected",
          "Expect 404 from GET /documents/{id} for the first seconds. Poll from 5 seconds with doubling, and stop at approved, pendingCorrection or discarded",
          "Handle the `file.rejected` webhook or check the import. A rejected file never produces a document, so polling the document waits indefinitely",
          "Do not retry an upload blindly. There is no idempotency key, so send your own id in `clientData` and look it up with `filter` first"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.8
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 30,
          "payments": 30,
          "reliability": 30,
          "schema": 70,
          "security": 45,
          "transparency": 40
        },
        "provenanceScore": 69
      },
      "connect": {
        "http": "curl -s -X POST \"https://api.invofox.com/v1/ingest/uploads\" \\\n  -H \"x-api-key: $INVOFOX_API_KEY\" \\\n  -F \"files=@invoice.pdf\" \\\n  -F 'info={\"type\":\"\u003cTYPE_ID\u003e\",\"clientData\":{\"internalId\":\"inv-1234\"}}'"
      },
      "letme": {
        "capability": "https://letme.dev/docs.extract",
        "tool": "https://letme.dev/invofox"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 500,
          "note": "from $500, billed annually, up to 5,000 pages a month"
        },
        {
          "item": "Starter at its 5,000-page cap",
          "unit": "1k-pages",
          "usd": 100,
          "note": "derived from the plan price, no per-page rate is published"
        }
      ],
      "provenance": {
        "legalEntity": "Invofox, Inc. (Delaware), with a registered branch in Spain",
        "domain": "invofox.com",
        "domainRegistered": "2021-05-10",
        "endpointOnVendorDomain": true,
        "terms": "https://www.invofox.com/en/legal/#terms",
        "privacy": "https://www.invofox.com/en/legal/",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The DPA names INVOFOX, Inc., registered with the Delaware Division of Corporations under number 7218056, 251 Little Falls Drive, Wilmington, DE 19808.",
          "The legal notice names INVOFOX INC, BRANCH IN SPAIN, C/ Aranjuez 2, 28039 Madrid, tax ID W0265699I.",
          "The terms link is a website legal notice. The General Terms and Conditions for the platform, which the DPA cites, were not found on the public site.",
          "www.invofox.com/.well-known/security.txt gives security@invofox.com and expires on 1 June 2027. The apex invofox.com returns 404 for the same path.",
          "status.invofox.com does not resolve, and no status page or changelog is linked from the site or the docs.",
          "RDAP for invofox.com gives a registration date of 2021-05-10."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/invofox.json",
      "live": {
        "slug": "invofox",
        "probe": {
          "target": "https://api.invofox.com",
          "method": "get",
          "lastAt": "2026-10-08T19:52:53.084973472Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 56,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 54,
          "p95ms24h": 151,
          "samples24h": 50,
          "samples30d": 50,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            }
          ]
        },
        "securityTxt": {
          "url": "https://invofox.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:38.124664002Z"
        },
        "pages": [
          {
            "url": "https://www.invofox.com/en/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:28:34.537924989Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "caa9c0c0ae2c"
          },
          {
            "url": "https://www.invofox.com/en/legal/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:28:32.423224288Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "621168b3651a"
          }
        ],
        "updatedAt": "2026-10-08T19:52:53.084973472Z"
      }
    },
    "answer": "OpenDocRouter scores 56.6 (C) on agent readiness against Invofox's 46.8 (D), and leads in 4 of 7 scored categories. Invofox leads on security \u0026 auth and transparency \u0026 trust.",
    "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": 489,
        "ranked": true,
        "rankOf": 722,
        "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:52:58.046529975Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 136,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 149,
          "p95ms24h": 349,
          "samples24h": 50,
          "samples30d": 50,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            }
          ]
        },
        "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:52:58.046529975Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Invofox, Inc.",
        "b": "LlamaIndex",
        "name": "Vendor"
      },
      {
        "a": "https://api.invofox.com",
        "b": "https://www.opendocrouter.ai/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service. The n8n community node on GitHub is MIT",
        "b": "Proprietary service under the LlamaIndex Terms of Service with an OpenDocRouter addendum. The Python and TypeScript SDKs are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-05",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-10-07",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "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": "none",
        "b": "127 PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "OpenDocRouter scores 56.6 (C) on agent readiness against Invofox's 46.8 (D), and leads in 4 of 7 scored categories. Invofox leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Invofox or OpenDocRouter?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Invofox and OpenDocRouter need an API key?"
      },
      {
        "answer": "Yes. Invofox has a hosted endpoint at https://api.invofox.com and OpenDocRouter at https://www.opendocrouter.ai/v1.",
        "question": "Can an agent call Invofox and OpenDocRouter without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 45 against 40",
          "Transparency \u0026 trust, 55 against 47"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Teams that process a known set of business documents (invoices, payslips, bank statements, mortgage forms) at volume and can receive webhooks.",
        "slug": "invofox",
        "watchFor": "No status page found. status.invofox.com does not resolve, and neither the site nor the docs link to one"
      },
      {
        "aheadOn": [
          "Reliability, 43 against 30",
          "Schema \u0026 documentation, 85 against 70",
          "Agent ergonomics, 84 against 64",
          "Maintenance \u0026 community, 65 against 30"
        ],
        "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"
      }
    ],
    "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/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/adobe-pdf-extract-vs-invofox.json",
        "title": "Adobe PDF Services / PDF Extract API vs Invofox",
        "url": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-invofox"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/invofox-vs-llamaparse.json",
        "title": "Invofox vs LlamaParse API + MCP",
        "url": "https://www.anchorterminal.com/compare/invofox-vs-llamaparse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/invofox-vs-mindee.json",
        "title": "Invofox vs Mindee API",
        "url": "https://www.anchorterminal.com/compare/invofox-vs-mindee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/invofox-vs-mistral-ocr.json",
        "title": "Invofox vs Mistral OCR API",
        "url": "https://www.anchorterminal.com/compare/invofox-vs-mistral-ocr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/invofox-vs-nanonets.json",
        "title": "Invofox vs Nanonets API + MCP",
        "url": "https://www.anchorterminal.com/compare/invofox-vs-nanonets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/invofox-vs-reducto.json",
        "title": "Invofox vs Reducto API + MCP",
        "url": "https://www.anchorterminal.com/compare/invofox-vs-reducto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/invofox-vs-unstructured.json",
        "title": "Invofox vs Unstructured API + MCP",
        "url": "https://www.anchorterminal.com/compare/invofox-vs-unstructured"
      },
      {
        "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": 13,
        "edge": "opendocrouter",
        "invofox": 30,
        "key": "reliability",
        "name": "Reliability",
        "opendocrouter": 43,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "opendocrouter",
        "invofox": 70,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opendocrouter": 85,
        "weight": 13
      },
      {
        "by": 20,
        "edge": "opendocrouter",
        "invofox": 64,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opendocrouter": 84,
        "weight": 13
      },
      {
        "by": 5,
        "edge": "invofox",
        "invofox": 45,
        "key": "security",
        "name": "Security \u0026 auth",
        "opendocrouter": 40,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "invofox": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opendocrouter": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 35,
        "edge": "opendocrouter",
        "invofox": 30,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opendocrouter": 65,
        "weight": 7
      },
      {
        "by": 8,
        "edge": "invofox",
        "invofox": 55,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opendocrouter": 47,
        "weight": 7
      }
    ],
    "summary": "OpenDocRouter scores 56.6 (C) on agent readiness against Invofox's 46.8 (D), and leads in 4 of 7 scored categories. Invofox leads on security \u0026 auth and transparency \u0026 trust. Both do docs ocr.",
    "verdicts": {
      "invofox": "Three public OpenAPI 3.1 files, llms.txt and Markdown docs describe an asynchronous upload and webhook flow, and the free plan covers 500 pages without a card. No status page, rate limit numbers, changelog or official SDK were found, and documents are retained by default, with zero retention limited to Scale and Enterprise.",
      "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/invofox-vs-opendocrouter",
    "json": "https://www.anchorterminal.com/compare/invofox-vs-opendocrouter.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/invofox-vs-opendocrouter.md",
    "slim": "https://www.anchorterminal.com/compare/invofox-vs-opendocrouter.min.md"
  },
  "markdown": "OpenDocRouter scores 56.6 (C) on agent readiness against Invofox's 46.8 (D), and leads in 4 of 7 scored categories. Invofox leads on security \u0026 auth and transparency \u0026 trust. Both do docs ocr.\n\n- Invofox: grade D, 46.8/100, rank #641 of 722. Markdown https://www.anchorterminal.com/tools/invofox.md · JSON https://www.anchorterminal.com/api/v1/tools/invofox.json\n- OpenDocRouter: grade C, 56.6/100, rank #489 of 722. 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### Invofox (D)\n\nGood for: Teams that process a known set of business documents (invoices, payslips, bank statements, mortgage forms) at volume and can receive webhooks.\n\nAhead on:\n- Security \u0026 auth, 45 against 40\n- Transparency \u0026 trust, 55 against 47\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No status page found. status.invofox.com does not resolve, and neither the site nor the docs link to one\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- Reliability, 43 against 30\n- Schema \u0026 documentation, 85 against 70\n- Agent ergonomics, 84 against 64\n- Maintenance \u0026 community, 65 against 30\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 | Invofox | OpenDocRouter | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 43 | OpenDocRouter +13 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 85 | OpenDocRouter +15 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 84 | OpenDocRouter +20 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 40 | Invofox +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 30 | 65 | OpenDocRouter +35 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 47 | Invofox +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **46.8 · D** | **56.6 · C** | |\n\n## Facts side by side\n\n| Fact | Invofox | OpenDocRouter |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Invofox, Inc. | LlamaIndex |\n| Hosted endpoint | `https://api.invofox.com` | `https://www.opendocrouter.ai/v1` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary hosted service. The n8n community node on GitHub is MIT | Proprietary service under the LlamaIndex Terms of Service with an OpenDocRouter addendum. The Python and TypeScript SDKs are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-05 | 2026-10-07 |\n| Terms last updated | no date given | 2026-10-07 |\n| Privacy policy last updated | no date given | 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 | none | 127 PyPI/wk |\n\n## Verdicts\n\n**Invofox.** Three public OpenAPI 3.1 files, llms.txt and Markdown docs describe an asynchronous upload and webhook flow, and the free plan covers 500 pages without a card. No status page, rate limit numbers, changelog or official SDK were found, and documents are retained by default, with zero retention limited to Scale and Enterprise.\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### Invofox\n\n1. Ask the owner for an API key and the Document Type id or alias from app.invofox.com. No API endpoint lists Document Types\n2. Upload with POST /v1/ingest/uploads as multipart, with `info` as a JSON string. Send `\"useClassifier\": true` in place of `type` to have the type detected\n3. Expect 404 from GET /documents/{id} for the first seconds. Poll from 5 seconds with doubling, and stop at approved, pendingCorrection or discarded\n4. Handle the `file.rejected` webhook or check the import. A rejected file never produces a document, so polling the document waits indefinitely\n5. Do not retry an upload blindly. There is no idempotency key, so send your own id in `clientData` and look it up with `filter` first\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, Invofox or OpenDocRouter?\n\nOpenDocRouter scores 56.6 (C) on agent readiness against Invofox's 46.8 (D), and leads in 4 of 7 scored categories. Invofox leads on security \u0026 auth and transparency \u0026 trust.\n\n### Do Invofox and OpenDocRouter need an API key?\n\nBoth need an API key.\n\n### Can an agent call Invofox and OpenDocRouter without installing anything?\n\nYes. Invofox has a hosted endpoint at https://api.invofox.com and OpenDocRouter at https://www.opendocrouter.ai/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/invofox-vs-opendocrouter.json, and with the fewest tokens: https://www.anchorterminal.com/compare/invofox-vs-opendocrouter.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"invofox\", \"b\": \"opendocrouter\"}`. From a terminal: `anchor compare invofox opendocrouter`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/invofox.json and https://www.anchorterminal.com/api/v1/tools/opendocrouter.json\n\n## Other comparisons with Invofox or OpenDocRouter\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- [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- [Adobe PDF Services / PDF Extract API vs Invofox](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-invofox.md)\n- [Extend API + MCP vs Invofox](https://www.anchorterminal.com/compare/extend-vs-invofox.md)\n- [Invofox vs LlamaParse API + MCP](https://www.anchorterminal.com/compare/invofox-vs-llamaparse.md)\n- [Invofox vs Mindee API](https://www.anchorterminal.com/compare/invofox-vs-mindee.md)\n- [Invofox vs Mistral OCR API](https://www.anchorterminal.com/compare/invofox-vs-mistral-ocr.md)\n- [Invofox vs Nanonets API + MCP](https://www.anchorterminal.com/compare/invofox-vs-nanonets.md)\n- [Invofox vs Reducto API + MCP](https://www.anchorterminal.com/compare/invofox-vs-reducto.md)\n- [Invofox vs Unstructured API + MCP](https://www.anchorterminal.com/compare/invofox-vs-unstructured.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": "Invofox vs OpenDocRouter",
        "url": ""
      }
    ],
    "description": "OpenDocRouter scores 56.6 (C) on agent readiness against Invofox's 46.8 (D), and leads in 4 of 7 scored categories. Invofox leads on security \u0026 auth and transparency \u0026 trust. Both do docs ocr. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Invofox D 46.8",
      "OpenDocRouter C 56.6",
      "scores"
    ],
    "h1": "Invofox vs OpenDocRouter",
    "image": "https://www.anchorterminal.com/assets/og/compare-invofox-vs-opendocrouter.png",
    "path": "/compare/invofox-vs-opendocrouter",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Invofox vs OpenDocRouter for AI agents, D 46.8 vs C 56.6",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/invofox-vs-opendocrouter"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 680
  },
  "version": 1
}
