{
  "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"
  },
  "tool": {
    "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"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 30,
          "points": 6,
          "reason": "No public status page found. status.invofox.com does not resolve and neither the site nor the docs link to one (0 of 20). No readable incident history (5 of 30). No rate limit numbers, and the vendor's AI briefing says rate limits are not publicly documented (0 of 15). The main OpenAPI file documents 429 with RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset and Retry-After headers, and the docs ask for exponential backoff, but uploads take no idempotency key (10 of 15). The pricing page lists a 99.9% uptime SLA on Starter with no SLA document found (5 of 10). The API is in production use and self-serve since 5 October 2026 (10)."
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 70,
          "points": 11.38,
          "reason": "Three public OpenAPI 3.1 files, main (25 operations), ingest (7) and webhooks (7 events) (25). llms.txt on both the site and the docs, and every docs page has a Markdown twin (10). The guides say when to use webhooks or polling and how rejected files behave, but 11 of the 25 main operations have no description (12 of 20). States, confidence and error codes are enums and `limit` has a maximum of 500, while `info` is a JSON string inside multipart and `filter` is a JSON string in the query (9 of 15). Examples in curl, Python and Node.js and tables of error codes, with inconsistencies. A sample shows ERR_PASSWORD_PROTECTED, which is missing from the code table, the main file's error text says 50 MB and 10 pages where the ingest file says 100 MB, and webhook samples show version 1.0 and 1.2 (9 of 15). Ingest paths carry /v1 and webhook events a version field, and no public changelog was found (5 of 15)."
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 64,
          "points": 10.4,
          "reason": "The document list accepts `select` with dot-notation field paths, and OCR geometry and plain text sit on separate endpoints, so responses can be kept small (20 of 25). `skip`, `limit` up to 500 (default 50), `sort` and a `filter` with seven operators, including on `clientData` (18 of 20). ERR_ codes for request errors, file rejections and field validation, though several error schemas hold only a `code` string (14 of 20). No idempotency key on uploads. `clientData` carries a caller id, webhook events have an `id` for deduplication, and delivery retries up to three times (6 of 20). An upload needs a file and a Document Type id that comes from the dashboard, or the classifier flag. No official SDK was found, and the testdrive repository describes one as coming soon (6 of 15)."
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 45,
          "points": 7.88,
          "reason": "API keys in an `x-api-key` header, created in the dashboard and scoped to one environment, which is either TEST or PRODUCTION. Revocation and rotation are not described in the docs we read (20 of 30). Environment scoping is the only least-privilege control found. The same key reaches the delete endpoints for users, companies, providers and clients, with no read-only key or confirmation (6 of 20). The API returns text taken from untrusted documents and no prompt-injection guidance was found (0 of 15). Document and import lists record channel and creator, and no audit log is documented (5 of 15). security.txt is valid until 1 June 2027 with security@invofox.com. The site states SOC 2 Type II, ISO 27001:2022, GDPR and HIPAA compliance and links a Vanta trust centre we could not read without JavaScript. No bug bounty found (14 of 20)."
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 30,
          "points": 3.75,
          "reason": "No x402, MPP or L402 (0). Plan prices are public, Free at $0 for 500 pages and Starter from $500 a month billed annually for up to 5,000 pages, but no per-page or overage rate is published and Scale and Enterprise are custom (10 of 20). The free plan needs no card (20). A person signs up in a browser at app.invofox.com and creates the key in the dashboard (0)."
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 30,
          "points": 2.63,
          "reason": "No changelog or versioned release was found. The dated signals are the self-serve launch on 5 October 2026 and a docs sitemap last modified on 7 October 2026, which we score as 20 of 30, our call for a recent change with no release record. No three dated releases in the last 90 days (0). Community support on Free and email support on Starter, replies not sampled, no public changelog (3 of 15). No official SDK. The vendor's only package is the n8n community node n8n-nodes-invofox 0.1.0 of 3 July 2026 (3 of 15). That repository has CI and publish workflows (4 of 10)."
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 55,
          "points": 4.81,
          "note": "editorial 40, provenance 69",
          "reason": "Closed service. The published terms are a website legal notice, and the General Terms and Conditions that the DPA cites were not found on the site. The DPA and NDA are public (12 of 30). The zero-retention page says the standard pipeline keeps documents and that real documents tune the model, with no default retention period stated. Zero retention is opt-in for Scale and Enterprise. The DPA allows three months of access after termination and gives 48 hours for breach notice (15 of 30). Five operations and several fields are marked deprecated in the OpenAPI files with replacements named and no removal dates (5 of 20). The DPA points to a sub-processor list in the trust centre, which we could not read, with 15 days' notice of changes. The site states EU and US processing regions (8 of 20)."
        }
      ],
      "assessment": {
        "date": "2026-10-08",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "The document list accepts `select` with dot-notation field paths, and OCR geometry and plain text sit on separate endpoints, so responses can be kept small (20 of 25). `skip`, `limit` up to 500 (default 50), `sort` and a `filter` with seven operators, including on `clientData` (18 of 20). ERR_ codes for request errors, file rejections and field validation, though several error schemas hold only a `code` string (14 of 20). No idempotency key on uploads. `clientData` carries a caller id, webhook events have an `id` for deduplication, and delivery retries up to three times (6 of 20). An upload needs a file and a Document Type id that comes from the dashboard, or the classifier flag. No official SDK was found, and the testdrive repository describes one as coming soon (6 of 15).",
          "maintenance": "No changelog or versioned release was found. The dated signals are the self-serve launch on 5 October 2026 and a docs sitemap last modified on 7 October 2026, which we score as 20 of 30, our call for a recent change with no release record. No three dated releases in the last 90 days (0). Community support on Free and email support on Starter, replies not sampled, no public changelog (3 of 15). No official SDK. The vendor's only package is the n8n community node n8n-nodes-invofox 0.1.0 of 3 July 2026 (3 of 15). That repository has CI and publish workflows (4 of 10).",
          "payments": "No x402, MPP or L402 (0). Plan prices are public, Free at $0 for 500 pages and Starter from $500 a month billed annually for up to 5,000 pages, but no per-page or overage rate is published and Scale and Enterprise are custom (10 of 20). The free plan needs no card (20). A person signs up in a browser at app.invofox.com and creates the key in the dashboard (0).",
          "reliability": "No public status page found. status.invofox.com does not resolve and neither the site nor the docs link to one (0 of 20). No readable incident history (5 of 30). No rate limit numbers, and the vendor's AI briefing says rate limits are not publicly documented (0 of 15). The main OpenAPI file documents 429 with RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset and Retry-After headers, and the docs ask for exponential backoff, but uploads take no idempotency key (10 of 15). The pricing page lists a 99.9% uptime SLA on Starter with no SLA document found (5 of 10). The API is in production use and self-serve since 5 October 2026 (10).",
          "schema": "Three public OpenAPI 3.1 files, main (25 operations), ingest (7) and webhooks (7 events) (25). llms.txt on both the site and the docs, and every docs page has a Markdown twin (10). The guides say when to use webhooks or polling and how rejected files behave, but 11 of the 25 main operations have no description (12 of 20). States, confidence and error codes are enums and `limit` has a maximum of 500, while `info` is a JSON string inside multipart and `filter` is a JSON string in the query (9 of 15). Examples in curl, Python and Node.js and tables of error codes, with inconsistencies. A sample shows ERR_PASSWORD_PROTECTED, which is missing from the code table, the main file's error text says 50 MB and 10 pages where the ingest file says 100 MB, and webhook samples show version 1.0 and 1.2 (9 of 15). Ingest paths carry /v1 and webhook events a version field, and no public changelog was found (5 of 15).",
          "security": "API keys in an `x-api-key` header, created in the dashboard and scoped to one environment, which is either TEST or PRODUCTION. Revocation and rotation are not described in the docs we read (20 of 30). Environment scoping is the only least-privilege control found. The same key reaches the delete endpoints for users, companies, providers and clients, with no read-only key or confirmation (6 of 20). The API returns text taken from untrusted documents and no prompt-injection guidance was found (0 of 15). Document and import lists record channel and creator, and no audit log is documented (5 of 15). security.txt is valid until 1 June 2027 with security@invofox.com. The site states SOC 2 Type II, ISO 27001:2022, GDPR and HIPAA compliance and links a Vanta trust centre we could not read without JavaScript. No bug bounty found (14 of 20).",
          "transparency": "Closed service. The published terms are a website legal notice, and the General Terms and Conditions that the DPA cites were not found on the site. The DPA and NDA are public (12 of 30). The zero-retention page says the standard pipeline keeps documents and that real documents tune the model, with no default retention period stated. Zero retention is opt-in for Scale and Enterprise. The DPA allows three months of access after termination and gives 48 hours for breach notice (15 of 30). Five operations and several fields are marked deprecated in the OpenAPI files with replacements named and no removal dates (5 of 20). The DPA points to a sub-processor list in the trust centre, which we could not read, with 15 days' notice of changes. The site states EU and US processing regions (8 of 20)."
        },
        "sources": [
          {
            "what": "site llms.txt",
            "url": "https://www.invofox.com/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "pricing (Markdown, last updated 2026-08-05)",
            "url": "https://www.invofox.com/en/pricing.md",
            "seen": "2026-10-08"
          },
          {
            "what": "pricing page",
            "url": "https://www.invofox.com/en/pricing/",
            "seen": "2026-10-08"
          },
          {
            "what": "docs llms.txt",
            "url": "https://developers.invofox.com/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "integration guide",
            "url": "https://developers.invofox.com/documentation/integrating-invofox.md",
            "seen": "2026-10-08"
          },
          {
            "what": "AI agent page, docs MCP server and product briefing",
            "url": "https://developers.invofox.com/documentation/integrate-with-an-ai-agent.md",
            "seen": "2026-10-08"
          },
          {
            "what": "OpenAPI, main",
            "url": "https://www.invofox.com/openapi.yaml",
            "seen": "2026-10-08"
          },
          {
            "what": "OpenAPI, ingest",
            "url": "https://www.invofox.com/openapi-ingest.yaml",
            "seen": "2026-10-08"
          },
          {
            "what": "OpenAPI, webhooks",
            "url": "https://www.invofox.com/openapi-webhooks.yaml",
            "seen": "2026-10-08"
          },
          {
            "what": "webhook implementation",
            "url": "https://developers.invofox.com/webhooks-reference/webhook-implementation.md",
            "seen": "2026-10-08"
          },
          {
            "what": "information retrieval, errors and polling",
            "url": "https://developers.invofox.com/api-reference/information-retrieval.md",
            "seen": "2026-10-08"
          },
          {
            "what": "rejected files and error codes",
            "url": "https://developers.invofox.com/documentation/rejected-files.md",
            "seen": "2026-10-08"
          },
          {
            "what": "classifier",
            "url": "https://developers.invofox.com/documentation/classifier.md",
            "seen": "2026-10-08"
          },
          {
            "what": "glossary, environments, keys and roles",
            "url": "https://developers.invofox.com/documentation/glossary.md",
            "seen": "2026-10-08"
          },
          {
            "what": "docs sitemap with last-modified dates",
            "url": "https://developers.invofox.com/sitemap-en.xml",
            "seen": "2026-10-08"
          },
          {
            "what": "zero-retention page",
            "url": "https://www.invofox.com/en/zero-retention-policy/",
            "seen": "2026-10-08"
          },
          {
            "what": "secure processing page",
            "url": "https://www.invofox.com/en/secure-document-processing/",
            "seen": "2026-10-08"
          },
          {
            "what": "service agreements, DPA and NDA",
            "url": "https://www.invofox.com/en/service-agreements/",
            "seen": "2026-10-08"
          },
          {
            "what": "legal notice, privacy and cookies",
            "url": "https://www.invofox.com/en/legal/",
            "seen": "2026-10-08"
          },
          {
            "what": "security.txt",
            "url": "https://www.invofox.com/.well-known/security.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "trust centre (JavaScript only, not read)",
            "url": "https://trust.invofox.com",
            "seen": "2026-10-08"
          },
          {
            "what": "YC launch post, 5 October 2026",
            "url": "https://www.ycombinator.com/launches/V09-invofox-turn-any-document-into-structured-validated-json",
            "seen": "2026-10-08"
          },
          {
            "what": "YC company page",
            "url": "https://www.ycombinator.com/companies/invofox",
            "seen": "2026-10-08"
          },
          {
            "what": "n8n community node repository",
            "url": "https://github.com/invofox/n8n-nodes-invofox",
            "seen": "2026-10-08"
          },
          {
            "what": "testdrive sample repository",
            "url": "https://github.com/invofox/testdrive",
            "seen": "2026-10-08"
          },
          {
            "what": "RDAP for invofox.com",
            "url": "https://rdap.verisign.com/com/v1/domain/invofox.com",
            "seen": "2026-10-08"
          }
        ],
        "openQuestions": [
          "unchecked: the trust centre at trust.invofox.com renders only with JavaScript, so the sub-processor list, certificates and any status link there were not read",
          "unchecked: no account was opened and no API call was made with a key. An unauthenticated GET https://api.invofox.com/documents returned 401 with code ERR_CREDENTIALS_REQUIRED",
          "The General Terms and Conditions cited by the DPA (clauses 10.4 and 13.2) were not found on the public site, so the terms on using customer data for the vendor's own purposes are unread",
          "The YC launch post of 5 October 2026 says new users get 1,500 free pages for the launch. The pricing page and its Markdown twin say 500",
          "The site describes a Document Parsing API that returns Markdown with the same auth and upload. No such endpoint is in the three OpenAPI files, so `docs.parse` is left out of the capabilities",
          "Data and ID verification is marketed, and no verification endpoint is in the API reference, so no `kyc` capability is listed",
          "Whether an API key can be revoked or rotated, and whether a status page exists under another host, was not established",
          "The integration guide says custom Document Types are defined by contacting support, while the launch post says users can define what to extract themselves"
        ]
      },
      "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"
    },
    "notable": [
      "Self-serve access is new. The YC launch post of 5 October 2026 says that until then trying Invofox generally meant talking to the team first (https://www.ycombinator.com/launches/V09-invofox-turn-any-document-into-structured-validated-json)",
      "Processing is asynchronous. An upload returns ids, and results come by the `document.processed` webhook or by polling GET /documents/{id}, which can answer 404 for the first seconds (https://developers.invofox.com/documentation/integrating-invofox.md)",
      "The MCP server at developers.invofox.com/_mcp/server has one read-only tool, `searchDocs`, which searches the documentation. It does not process documents (https://developers.invofox.com/documentation/integrate-with-an-ai-agent.md)",
      "The standard pipeline retains documents and uses them to tune the model. Zero retention is opt-in and limited to Scale and Enterprise (https://www.invofox.com/en/zero-retention-policy/)",
      "The vendor's own AI briefing says maximum pages per file and API rate limits are not publicly documented (https://developers.invofox.com/documentation/integrate-with-an-ai-agent.md)",
      "PUT /documents/{id} sends corrected values back, and the docs say every correction feeds model training (https://developers.invofox.com/documentation/feedback-loop.md)",
      "YC lists Invofox in the Summer 2022 batch, based in Madrid with a team of 12 (https://www.ycombinator.com/companies/invofox)"
    ],
    "area": "web-data",
    "details": [
      {
        "label": "Free tier",
        "value": "500 pages, REST API access, no card"
      },
      {
        "label": "Plan with API access",
        "value": "All plans, including Free"
      },
      {
        "label": "API",
        "value": "REST at https://api.invofox.com. Main reference with 25 operations (documents, companies, providers, clients, users), ingest with 7 under /v1/ingest, and seven webhook events, all OpenAPI 3.1"
      },
      {
        "label": "Flow",
        "value": "Asynchronous. POST /v1/ingest/uploads (multipart) or /v1/ingest/by-url, then the `document.processed` webhook or polling GET /documents/{id}"
      },
      {
        "label": "Document types",
        "value": "Pre-trained types named on the site include invoices, receipts, utility bills, payslips, purchase orders, bank statements and tax forms, plus custom types. The type id or alias comes from the dashboard, or `useClassifier` detects it"
      },
      {
        "label": "Splitter",
        "value": "`useSplitter` returns one document per logical document in a PDF. Each file in a ZIP archive is processed as its own document"
      },
      {
        "label": "Page references",
        "value": "A `geometry` object gives a page index and an eight-coordinate box per field. GET /documents/{id}/ocr returns lines and words, and /text returns plain text"
      },
      {
        "label": "File types",
        "value": "PDF, JPEG, PNG, TIFF and ZIP, up to 100 MB a file per the ingest reference"
      },
      {
        "label": "Rate limits",
        "value": "No numbers published. 429 responses carry RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset and Retry-After"
      },
      {
        "label": "Webhooks",
        "value": "document.created, processed, approved and discarded, file.processed and rejected, import.processed. Optional HMAC signature, 30-second timeout, up to three retries"
      },
      {
        "label": "MCP server",
        "value": "Documentation search only, one `searchDocs` tool at https://developers.invofox.com/_mcp/server. None for document processing"
      },
      {
        "label": "SDKs",
        "value": "None official found. An n8n community node, n8n-nodes-invofox 0.1.0 (3 July 2026, MIT), and a Zapier integration"
      },
      {
        "label": "Data retention",
        "value": "Documents retained by default, period not stated. Zero retention is opt-in on Scale and Enterprise. The DPA allows three months of access after termination"
      },
      {
        "label": "Deployment",
        "value": "Hosted, with EU or US regions stated. On-premises for Enterprise"
      },
      {
        "label": "Certifications",
        "value": "SOC 2 Type II, ISO 27001:2022, GDPR and HIPAA compliance stated on the site. Trust centre on Vanta at trust.invofox.com"
      }
    ],
    "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,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Invofox, Inc. (Delaware), with a registered branch in Spain",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "invofox.com, registered 2021-05-10 (5 years)",
          "points": 11,
          "max": 15,
          "state": "part"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "api.invofox.com",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "read, states 1 of the 7 things a reader expects",
          "points": 4.9,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 6 of the 8 things a reader expects",
          "points": 8.5,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Status page",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "Changelog",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "security.txt",
          "value": "valid",
          "points": 10,
          "max": 10,
          "state": "ok"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://www.invofox.com/en/legal/#terms",
          "state": "read",
          "readAt": "2026-10-08",
          "words": 7666,
          "points": 4.9,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": false
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": false
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": false
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": false
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": false
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": false
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": true,
              "quote": "Per-field accuracy SLA — only pay for what's right."
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://www.invofox.com/en/legal/",
          "state": "read",
          "readAt": "2026-10-08",
          "words": 7666,
          "points": 8.5,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": false
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": false
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": true,
              "quote": "We will retain your personal data from the moment you grant us your consent until you revoke it or request a restriction on processing."
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "The provider is not responsible for information and content stored, by way of example but not limited to, in forums, chats, blogs, comments, social networks, or any other medium that allows third parties to post content independently on the provider's website."
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": true,
              "quote": "If you live in California, you have the right to request that companies do not sell your personal information.",
              "says": "Says it does not sell personal data"
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": true,
              "quote": "Legal Basis: In accordance with Article 6 of the GDPR, your personal data will be processed only when you have given your explicit consent as an expression of your free and informed will."
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "You may also contact our Data Protection Officer (DPO) directly at the following email address: DPO.",
              "says": "Names a data protection officer"
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "Those transfers rely on the EU–US Data Privacy Framework or, where it does not apply, on the European Commission's Standard Contractual Clauses, as described in the following paragraph.",
              "says": "Relies on standard contractual clauses and the Data Privacy Framework"
            }
          ]
        }
      ]
    },
    "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"
    }
  }
}
