{
  "data": {
    "a": {
      "slug": "unstructured",
      "name": "Unstructured API + MCP",
      "vendor": "Unstructured",
      "vendorUrl": "https://unstructured.io",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "Unstructured Transform is a hosted parse and schema-extract API with an official hosted MCP server that partitions, chunks and embeds files.",
      "url": "https://www.anchorterminal.com/tools/unstructured",
      "markdownUrl": "https://www.anchorterminal.com/tools/unstructured.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/unstructured.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/unstructured.json",
      "repo": "https://github.com/Unstructured-IO/unstructured",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://transform.unstructured.io/api/v2",
      "packages": [
        {
          "registry": "pypi",
          "name": "unstructured-transform-client"
        },
        {
          "registry": "npm",
          "name": "unstructured-transform-client"
        },
        {
          "registry": "pypi",
          "name": "unstructured"
        },
        {
          "registry": "pypi",
          "name": "unstructured-client"
        }
      ],
      "auth": "mixed",
      "authNotes": "Transform API takes the key in an unstructured-api-key header. The hosted MCP uses OAuth, or the same key as a bearer token. Business customers get a separate API URL and one key per workspace from platform.unstructured.io or their dedicated instance.",
      "pricing": "usage",
      "pricingNotes": "Transform processes the first 10,000 pages free once per account, no card. After that pay as you go is $0.015 a page, billed monthly; requests fail past 10,000 pages until you add a card. Business (dedicated instance, VPC or multi-tenant SaaS) is custom. The open-source library is free and you pay only for your own compute (https://unstructured.io/pricing).",
      "priceSummary": "$15 / 1k pages",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call crypto payment in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 15520,
        "npmWeekly": 385,
        "pypiWeekly": 612156,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.unstructured.io/transform/overview",
      "llmsTxt": "https://docs.unstructured.io/llms.txt",
      "registryName": "io.unstructured/transform",
      "capabilities": [
        "docs.parse",
        "docs.ocr",
        "docs.extract",
        "docs.tables",
        "docs.chunk"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "python",
        "typescript",
        "async-jobs",
        "enterprise",
        "open-source",
        "self-hosted",
        "local"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47,
        "grade": "D",
        "agentReady": false,
        "rank": 390,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 80,
          "payments": 40,
          "reliability": 27,
          "schema": 51,
          "security": 42,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Apache-2.0 library partitions 45+ file types locally at no cost, tagged 11 times since 3 July. No status page, no published rate limits and no SLA.",
        "strengths": [
          "Apache-2.0 library partitions 45+ file types locally at no cost, tagged 11 times since 3 July",
          "Flat $0.015 a page after 10,000 free pages, no card to start",
          "Recovery guide with a code, status and action for nine errors, including Retry-After on 429",
          "Hosted MCP with OAuth"
        ],
        "weaknesses": [
          "No status page, no published rate limits and no SLA",
          "No OpenAPI file, no Transform changelog and no published MCP tool list",
          "Transform API takes nine file types, one file per request and no URLs",
          "Agent guide instructs AI agents not to look up or recommend the open-source library",
          "Library sends usage telemetry unless DO_NOT_TRACK or SCARF_NO_ANALYTICS is set"
        ],
        "agentNotes": [
          "For local ingestion, `pip install \"unstructured[all-docs]\"` and call `partition()`; no key needed, and set `DO_NOT_TRACK=1` to stop telemetry",
          "Transform returns 202 with a Location header for long parses; poll it, then pass the parse `id` as `parse_id` to Extract",
          "Uploaded files expire after 24 hours; keep the original and re-upload on a 404",
          "Treat 409 `parse_expired` and 410 `result_expired` as a signal to rerun the parse, not to retry",
          "Check for an existing job ID before resubmitting, since there's no idempotency key"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 80,
          "payments": 40,
          "reliability": 27,
          "schema": 51,
          "security": 42,
          "transparency": 38
        },
        "provenanceScore": 65
      },
      "connect": {
        "install": "pip install \"unstructured[all-docs]\"   # local library; or: pip install unstructured-transform-client",
        "http": "curl https://transform.unstructured.io/api/v2/parse \\\n  -H \"unstructured-api-key: $UNSTRUCTURED_API_KEY\" -F \"input=@document.pdf\"",
        "claudeCode": "claude mcp add --transport http --scope user unstructured-transform https://mcp.transform.unstructured.io"
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/unstructured"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Transform pay as you go",
          "unit": "1k-pages",
          "usd": 15,
          "note": "after the first 10,000 free pages"
        }
      ],
      "provenance": {
        "legalEntity": "Unstructured Technologies, Inc.",
        "domain": "unstructured.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://unstructured.io/terms-and-conditions",
        "privacy": "https://unstructured.io/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/Unstructured-IO/unstructured/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "RDAP has no service for .io, so the registration date is unknown",
          "The changelog is the open-source library's; no changelog is published for Transform"
        ],
        "score": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/unstructured.json",
      "live": {
        "slug": "unstructured",
        "probe": {
          "target": "https://transform.unstructured.io/api/v2",
          "method": "get",
          "lastAt": "2026-10-05T02:30:04.30359983Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 590,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.91,
          "p50ms24h": 589,
          "p95ms24h": 633,
          "samples24h": 273,
          "samples30d": 1131,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 247
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "Unstructured-IO/unstructured",
            "version": "0.27.10",
            "released": "2026-09-27",
            "seenAt": "2026-10-04T16:42:55.095805963Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.unstructured/transform",
            "version": "0.7.2",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "unstructured-transform-client",
            "version": "0.18.25",
            "seenAt": "2026-10-04T16:42:51.194574206Z"
          },
          {
            "registry": "pypi",
            "name": "unstructured",
            "version": "0.27.10",
            "released": "2026-09-27",
            "seenAt": "2026-10-04T16:42:51.901885429Z"
          },
          {
            "registry": "pypi",
            "name": "unstructured-client",
            "version": "0.46.2",
            "released": "2026-08-24",
            "seenAt": "2026-10-04T16:42:53.100589618Z"
          },
          {
            "registry": "pypi",
            "name": "unstructured-transform-client",
            "version": "0.18.25",
            "released": "2026-10-04",
            "seenAt": "2026-10-04T16:42:51.085774814Z"
          }
        ],
        "githubStars": 15528,
        "npmWeekly": 738,
        "pypiWeekly": 326,
        "securityTxt": {
          "url": "https://unstructured.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:45.908901563Z"
        },
        "llmsTxt": {
          "url": "https://docs.unstructured.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:19.765975201Z"
        },
        "domain": {
          "domain": "unstructured.io",
          "checkedAt": "2026-10-04T13:05:08.539121016Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/Unstructured-IO/unstructured/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:21.332820363Z",
            "changedAt": "2026-10-04T15:47:21.332820363Z",
            "fingerprint": "e35794a07326"
          },
          {
            "url": "https://unstructured.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:39.387615056Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d6877dc0b772"
          },
          {
            "url": "https://unstructured.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:41.815977787Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1bd0fb908474"
          },
          {
            "url": "https://unstructured.io/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:43.879909961Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "11aaded220fc"
          }
        ],
        "updatedAt": "2026-10-05T02:30:04.30359983Z"
      }
    },
    "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.4,
        "grade": "C",
        "agentReady": false,
        "rank": 315,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 78,
          "payments": 40,
          "reliability": 55,
          "schema": 50,
          "security": 40,
          "transparency": 60
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.4
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 78,
          "payments": 40,
          "reliability": 55,
          "schema": 50,
          "security": 40,
          "transparency": 40
        },
        "provenanceScore": 80
      },
      "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": 80
      },
      "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-05T02:30:04.693809397Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 474,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.82,
          "p50ms24h": 497,
          "p95ms24h": 568,
          "samples24h": 273,
          "samples30d": 1131,
          "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": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.veryfi.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:32.961121357Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@veryfi/veryfi-sdk",
            "version": "1.5.2",
            "seenAt": "2026-10-04T16:43:27.369943739Z"
          },
          {
            "registry": "pypi",
            "name": "veryfi",
            "version": "5.1.0",
            "released": "2026-05-14",
            "seenAt": "2026-10-04T16:43:27.182313534Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 6683,
        "pypiWeekly": 10476,
        "securityTxt": {
          "url": "https://veryfi.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:03.499960183Z"
        },
        "llmsTxt": {
          "url": "https://docs.veryfi.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:21.074758154Z"
        },
        "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-04T15:52:44.083185228Z",
            "changedAt": "2026-10-04T15:52:44.083185228Z",
            "fingerprint": "9ba5727da723"
          },
          {
            "url": "https://www.veryfi.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:46.605053947Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "47a7b02e27f5"
          },
          {
            "url": "https://www.veryfi.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:48.444371891Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ccf4f32a76c6"
          }
        ],
        "updatedAt": "2026-10-05T02:30:04.693809397Z"
      }
    },
    "summary": "Veryfi API + MCP has a score of 55.4 (C) against Unstructured API + MCP's 47 (D). Both do docs ocr. The largest gap is reliability, 28 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/unstructured-vs-veryfi",
    "json": "https://www.anchorterminal.com/compare/unstructured-vs-veryfi.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/unstructured-vs-veryfi.md",
    "slim": "https://www.anchorterminal.com/compare/unstructured-vs-veryfi.min.md"
  },
  "markdown": "Veryfi API + MCP has a score of 55.4 (C) against Unstructured API + MCP's 47 (D). Both do docs ocr. The largest gap is reliability, 28 points.\n\n- Unstructured API + MCP: grade D, 47/100, rank #390 of 452. Markdown https://www.anchorterminal.com/tools/unstructured.md · JSON https://www.anchorterminal.com/api/v1/tools/unstructured.json\n- Veryfi API + MCP: grade C, 55.4/100, rank #315 of 452. 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\nPick Unstructured API + MCP for nothing in particular (no category where it leads by five points or more).\n\nPick Veryfi API + MCP for reliability (+28), agent ergonomics (+17), transparency \u0026 trust (+8).\n\n## Score by category\n\n| Category | Weight | Unstructured API + MCP | Veryfi API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 27 | 55 | Veryfi API + MCP +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 51 | 50 | Unstructured API + MCP +1 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 75 | Veryfi API + MCP +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 42 | 40 | Unstructured API + MCP +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 78 | Unstructured API + MCP +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 52 | 60 | Veryfi API + MCP +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **47 · D** | **55.4 · C** | |\n\n## Facts side by side\n\n| Fact | Unstructured API + MCP | Veryfi API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Unstructured | Veryfi |\n| Hosted endpoint | `https://transform.unstructured.io/api/v2` | `https://api.veryfi.com/api/v8/partner` |\n| Transports | HTTP, Streamable HTTP | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | MIT (MCP server and SDKs) |\n| Tools exposed | none | 1 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.unstructured/transform` | not listed |\n| Last release | 2026-09-30 | 2026-09-15 |\n| Popularity | 16k stars, 385 npm/wk, 612k PyPI/wk | 31 stars, 5.7k npm/wk, 17k PyPI/wk |\n| Agent reviews | 2.5/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Unstructured API + MCP.** Apache-2.0 library partitions 45+ file types locally at no cost, tagged 11 times since 3 July. No status page, no published rate limits and no SLA.\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### Unstructured API + MCP\n\n1. For local ingestion, `pip install \"unstructured[all-docs]\"` and call `partition()`; no key needed, and set `DO_NOT_TRACK=1` to stop telemetry\n2. Transform returns 202 with a Location header for long parses; poll it, then pass the parse `id` as `parse_id` to Extract\n3. Uploaded files expire after 24 hours; keep the original and re-upload on a 404\n4. Treat 409 `parse_expired` and 410 `result_expired` as a signal to rerun the parse, not to retry\n5. Check for an existing job ID before resubmitting, since there's no idempotency key\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## Other comparisons with Unstructured API + MCP or Veryfi API + MCP\n\n- [Adobe PDF Services / PDF Extract API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-unstructured.md)\n- [Extend API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/extend-vs-unstructured.md)\n- [LlamaParse API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-unstructured.md)\n- [Mistral OCR API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-unstructured.md)\n- [Nanonets API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-unstructured.md)\n- [Reducto API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/reducto-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- [LlamaParse API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-veryfi.md)\n- [Mindee API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/mindee-vs-unstructured.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",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "Unstructured API + MCP vs Veryfi API + MCP",
        "url": ""
      }
    ],
    "description": "Veryfi API + MCP has a score of 55.4 (C) against Unstructured API + MCP's 47 (D). Both do docs ocr. The largest gap is reliability, 28 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Unstructured API + MCP D 47",
      "Veryfi API + MCP C 55.4",
      "scores"
    ],
    "h1": "Unstructured API + MCP vs Veryfi API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-unstructured-vs-veryfi.png",
    "path": "/compare/unstructured-vs-veryfi",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Unstructured API + MCP vs Veryfi API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/unstructured-vs-veryfi"
  },
  "tokens": {
    "markdown": 1600,
    "slim": 330
  },
  "version": 1
}
