{
  "data": {
    "a": {
      "slug": "jumio",
      "name": "Jumio",
      "vendor": "Jumio Corporation",
      "vendorUrl": "https://www.jumio.com",
      "kind": "http-api",
      "category": "identity-verification",
      "summary": "Identity verification service from Jumio Corporation in Sunnyvale. It checks identity documents and selfies with liveness, screens against sanctions and PEP lists, and runs government database checks. Transactions are started and read through regional REST APIs with OAuth2.",
      "url": "https://www.anchorterminal.com/tools/jumio",
      "markdownUrl": "https://www.anchorterminal.com/tools/jumio.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/jumio.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/jumio.json",
      "repo": "https://github.com/Jumio/mobile-sdk-android",
      "license": "Proprietary service. No public service agreement was found. The @jumio/websdk npm package is marked UNLICENSED",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@jumio/websdk"
        },
        {
          "registry": "npm",
          "name": "react-native-jumio-mobilesdk"
        }
      ],
      "auth": "oauth",
      "authNotes": "Sales approval. A Jumio account manager activates OAuth2 for the tenant and supplies the workflow keys. An admin then generates client ID and secret pairs in the Jumio Portal, each limited to initiating transactions, to retrieving and deleting them, or both, and each can be deactivated. The pair is sent as Basic credentials to the regional token URL with `grant_type=client_credentials`, and the bearer token lasts 60 minutes. Basic authentication on the REST APIs themselves is marked deprecated. Account creation also returns per-transaction tokens for uploads and the capture SDKs.",
      "pricing": "paid",
      "pricingNotes": "No public prices. www.jumio.com/pricing/ returns 404 and the site's Get Started button opens a sales enquiry form. No free tier, trial or self-serve signup was found. The mock service for synthetic test transactions needs a dedicated tenant that Jumio Support or the account manager sets up (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms-full.txt, the five OpenAPI files or the Jumio website (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 72,
        "npmWeekly": 2122,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://documentation.jumio.ai",
      "llmsTxt": "https://documentation.jumio.ai/llms.txt",
      "openapi": "https://documentation.jumio.ai/redocusaurus/account.yaml",
      "capabilities": [
        "kyc.identity",
        "kyc.documents",
        "kyc.screening"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "oauth",
        "openapi",
        "llms-txt",
        "callbacks",
        "sales-led",
        "status-page",
        "soc2",
        "iso27001",
        "java",
        "dotnet"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55,
        "grade": "C",
        "agentReady": false,
        "rank": 521,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 45,
          "maintenance": 75,
          "payments": 0,
          "reliability": 65,
          "schema": 73,
          "security": 63,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Five OpenAPI 3.0 files, an llms.txt index and OAuth2 clients limited to initiating or to retrieving and deleting make the API readable and containable. Access starts with an account manager, with no public price, trial or service agreement, and the status page shows four processing degradations and a 35-minute Singapore outage between 14 August and 2 October 2026.",
        "bestFor": "An enterprise with a Jumio contract that wants document, selfie and liveness checks, watchlist screening and Latin American, Thai and Australian database checks behind OpenAPI-described endpoints.",
        "strengths": [
          "Five downloadable OpenAPI 3.0 files covering 25 operations, plus llms.txt and a 2.2 MB llms-full.txt of the docs in Markdown",
          "OAuth2 client credentials with 60-minute bearer tokens. Each client is limited to initiate, to retrieve and delete, or both, and can be deactivated",
          "Rate limits are published per tenant. Token requests 10 a second, new transactions 1 a second, retrievals 15 a second",
          "Statuspage at monitor.jumio.com by data centre, and an unauthenticated health endpoint per region that answers UP, DEGRADED or DOWN",
          "SOC 2, ISO 27001 and PCI DSS 4.0.1 listed on the Trust Centre, and a vulnerability disclosure programme at vdp.jumio.com"
        ],
        "weaknesses": [
          "No public price, free tier or trial. OAuth2 and workflow keys are activated by a Jumio account manager",
          "No service agreement or DPA is published. The public terms of use cover end users in the United States",
          "Four processing degradations and a 35-minute Singapore outage on the status page between 14 August and 2 October 2026",
          "No idempotency key. A repeated POST or PUT on accounts starts another transaction",
          "GET /api/v1/workflow-executions takes no paging or filter parameters, and the specs document only 401, 403 and 404 errors",
          "Retention periods and the sub-processor list are available on request only, and security.txt returns 404"
        ],
        "agentNotes": [
          "Use the host for the tenant's region (amer-1, emea-1 or apac-1). Tokens come from auth.\u003cregion\u003e.jumio.ai/oauth2/token with the client ID and secret as Basic credentials",
          "Reuse the bearer token for its 60 minutes. Token requests are limited to 10 a second and new transactions to 1 a second per tenant",
          "Send a User-Agent header on every call. The Account API marks it required",
          "Don't blindly retry POST /api/v1/accounts. Each call creates an account and a transaction, and no idempotency key exists",
          "Wait for the callback or poll the status endpoint until PROCESSED before retrieving. Jumio's retry schedule starts at 40 seconds and stops after 940"
        ],
        "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": 55
          }
        ],
        "editorialScores": {
          "ergonomics": 45,
          "maintenance": 75,
          "payments": 0,
          "reliability": 65,
          "schema": 73,
          "security": 63,
          "transparency": 41
        },
        "provenanceScore": 78
      },
      "connect": {
        "http": "curl --location 'https://auth.amer-1.jumio.ai/oauth2/token' \\\n  -u CLIENT_ID:CLIENT_SECRET \\\n  --header 'Accept: application/json' \\\n  --data-urlencode 'grant_type=client_credentials'"
      },
      "letme": {
        "capability": "https://letme.dev/kyc.identity",
        "tool": "https://letme.dev/jumio"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Jumio Corporation",
        "domain": "jumio.com",
        "domainRegistered": "2004-03-30",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://www.jumio.com/privacy-center/privacy-notices/online-services-notice/",
        "statusPage": "https://monitor.jumio.com",
        "changelog": "https://documentation.jumio.ai/docs/developer-resources/SDKs/mobile-sdk/mobile-sdk-android-master/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Online Services Privacy Notice (last updated 4 August 2026) names Jumio Corporation, 100 Mathilda Place, Suite 100, Sunnyvale, CA 94086, with Jumio Software Development GmbH in Linz as EU representative.",
          "No terms field. Jumio publishes no service agreement or API terms for customers. www.jumio.com/terms-of-use/ (last updated 18 June 2026) is addressed to end users in the United States, so it isn't recorded as the governing document.",
          "The APIs answer on jumio.ai hosts (auth, account, api, retrieval, kyx and status under amer-1, emea-1 and apac-1), a second domain used throughout Jumio's own documentation at documentation.jumio.ai.",
          "www.jumio.com/.well-known/security.txt and /security.txt return 404. Reports go to the vulnerability disclosure programme at https://vdp.jumio.com, which pays nothing.",
          "The changelog linked is the Android SDK's. No changelog for the REST APIs was found.",
          "RDAP for jumio.com gives a registration date of 2004-03-30."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/jumio.json",
      "live": {
        "slug": "jumio",
        "vendorStatus": {
          "page": "https://monitor.jumio.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:50:46.59004657Z"
        },
        "pages": [
          {
            "url": "https://documentation.jumio.ai/docs/developer-resources/SDKs/mobile-sdk/mobile-sdk-android-master/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:56.339175642Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4e0b13492ecb"
          },
          {
            "url": "https://www.jumio.com/privacy-center/privacy-notices/online-services-notice/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:28:35.8188334Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "47ddc34e8761"
          }
        ],
        "updatedAt": "2026-10-08T19:50:46.59004657Z"
      }
    },
    "answer": "Middesk scores 59 (C) on agent readiness against Jumio's 55 (C), and leads in 5 of 7 scored categories. Jumio leads on security \u0026 auth and maintenance \u0026 community.",
    "b": {
      "slug": "middesk",
      "name": "Middesk",
      "vendor": "Middesk, Inc.",
      "vendorUrl": "https://www.middesk.com",
      "kind": "http-api",
      "category": "identity-verification",
      "summary": "Business verification API from Middesk in San Francisco. It checks US and international businesses against registry, tax ID, sanctions and watchlist records, monitors them for changes, and files liens and state tax registrations, over REST and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/middesk",
      "markdownUrl": "https://www.anchorterminal.com/tools/middesk.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/middesk.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/middesk.json",
      "repo": "https://github.com/middesk/plugins",
      "license": "Proprietary service under Middesk's Business Verification Terms and Conditions. The Claude Code and Codex plugins on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.middesk.com/v1",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Access is granted by Middesk's sales team, and keys are then created in the dashboard under Settings, Developer, Credentials. An API key goes as the Basic auth username or as a Bearer token. `mk_test` keys work only against https://api-sandbox.middesk.com/v1 and `mk_live` keys only against https://api.middesk.com/v1. OAuth 2.0 authorisation code is available for acting in another Middesk user's account, with up to 5 clients an account, `read_only` or `read_write` scope, no consent screen, access tokens that don't expire and a revoke endpoint. The hosted MCP server takes OAuth 2.1 with PKCE and dynamic client registration, or a live API key as a Bearer token. The account's IP allowlist applies to OAuth requests.",
      "pricing": "paid",
      "pricingNotes": "No public prices. Fees are set in an order form under the Business Verification Terms and Conditions, the site has no pricing page (middesk.com/pricing returns 404) and its buttons ask for a demo. A sandbox with mock data comes with every account. Middesk's plugin README says trial accounts exist and issue test keys only, and we didn't find how one is opened without sales. Creating a business places billable orders (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the OpenAPI spec or the site (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": 2,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.middesk.com",
      "llmsTxt": "https://docs.middesk.com/llms.txt",
      "openapi": "https://docs.middesk.com/openapi.json",
      "capabilities": [
        "kyc.business",
        "kyc.screening",
        "kyc.cases",
        "kyc.identity"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "sales-led",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "graphql",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59,
        "grade": "C",
        "agentReady": false,
        "rank": 440,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 64,
          "payments": 10,
          "reliability": 73,
          "schema": 82,
          "security": 56,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 contract for 87 operations, llms.txt, Markdown docs and a dated weekly changelog make the REST API readable to an agent, and OAuth has a read-only scope. Access is sales-led. No price, self-serve signup or official SDK was found, and the hosted MCP server rejects sandbox keys.",
        "bestFor": "An agent onboarding or re-checking US businesses for a bank, lender or marketplace that already holds a Middesk contract, with registry, TIN, sanctions and lien data in one object.",
        "strengths": [
          "Public OpenAPI 3.1 spec with 87 operations and 373 schemas, plus llms.txt and a Markdown copy of every docs page",
          "Dated changelog with nine entries between 20 July and 5 October 2026, breaking changes labelled as such",
          "OAuth 2.0 with `read_only` and `read_write` scopes and a revoke endpoint. The MCP server adds PKCE and dynamic client registration",
          "Sandbox at api-sandbox.middesk.com with documented trigger values for names, addresses, TINs, people and watchlist hits",
          "The public terms of 21 August 2026 bar training generative AI models on customer data in any form"
        ],
        "weaknesses": [
          "No public price. Fees are set in an order form, and every docs page ends with a prompt to contact sales",
          "No official SDK found on npm, PyPI or RubyGems, and none in the vendor's GitHub organisation",
          "The hosted MCP server runs against production only, so a sandbox key fails on every call",
          "Creating a business places billable orders, and an empty `orders` array doesn't prevent that",
          "OAuth access tokens don't expire, and no security.txt, disclosure policy or bug bounty was found"
        ],
        "agentNotes": [
          "Match the key to the host. `mk_test` keys work only at https://api-sandbox.middesk.com/v1 and `mk_live` keys only at https://api.middesk.com/v1",
          "Name the `orders` on `POST /v1/businesses`. Omitting them places a verification order plus every package the account runs automatically, all billed",
          "Send `address_line1` and `address_line2`. The API ignores `address_line_1` without an error",
          "A 201 means the business was created, not verified. Wait for the `business.updated` webhook or poll until `status` leaves `pending`",
          "Stay under 20 requests a second per account, and in sandbox wait the seconds in `Retry-After` after a 429 on business creation"
        ],
        "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": 59
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 64,
          "payments": 10,
          "reliability": 73,
          "schema": 82,
          "security": 56,
          "transparency": 43
        },
        "provenanceScore": 78
      },
      "connect": {
        "http": "curl -X POST https://api-sandbox.middesk.com/v1/businesses \\\n  -u $MIDDESK_SANDBOX_API_KEY: \\\n  -H \"Accept: application/json\" \\\n  -d name=Corporation \\\n  -d addresses\\[0\\]\\[address_line1\\]=223+Grand+St. \\\n  -d addresses\\[0\\]\\[city\\]=new+york \\\n  -d addresses\\[0\\]\\[state\\]=NY \\\n  -d addresses\\[0\\]\\[postal_code\\]=10013",
        "claudeCode": "claude mcp add --transport http middesk https://mcp.middesk.com/mcp \\\n  --header \"Authorization: Bearer mk_live_...\"",
        "config": {
          "mcpServers": {
            "middesk": {
              "headers": {
                "Authorization": "Bearer mk_live_your_api_key"
              },
              "url": "https://mcp.middesk.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/kyc.business",
        "tool": "https://letme.dev/middesk"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Middesk, Inc.",
        "domain": "middesk.com",
        "domainRegistered": "2018-11-20",
        "endpointOnVendorDomain": true,
        "terms": "https://www.middesk.com/policies/bv-msa",
        "privacy": "https://www.middesk.com/policies/privacy-policy",
        "statusPage": "https://status.middesk.com",
        "changelog": "https://docs.middesk.com/guides/get-started/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Business Verification Terms and Conditions (last updated 21 August 2026) define Middesk as Middesk, Inc. The website terms (last updated 9 November 2023) give the address 85 2nd St., Suite 710, San Francisco, CA 94105.",
          "The API answers at api.middesk.com and api-sandbox.middesk.com, and the MCP server at mcp.middesk.com, all middesk.com subdomains.",
          "security.txt returns 404 on www.middesk.com, docs.middesk.com and api.middesk.com.",
          "The privacy policy was last updated on 2 November 2025 and gives no retention periods.",
          "trust.middesk.com is a Vanta trust centre that only renders with JavaScript, so we couldn't read its contents.",
          "RDAP for middesk.com gives a registration date of 2018-11-20."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/middesk.json",
      "live": {
        "slug": "middesk",
        "probe": {
          "target": "https://api.middesk.com/v1",
          "method": "get",
          "lastAt": "2026-10-08T19:52:56.135323146Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 181,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 212,
          "p95ms24h": 270,
          "samples24h": 50,
          "samples30d": 50,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.middesk.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:50:49.012892151Z"
        },
        "githubStars": 2,
        "securityTxt": {
          "url": "https://middesk.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:39.426096193Z"
        },
        "pages": [
          {
            "url": "https://docs.middesk.com/guides/get-started/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:07.781323249Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "eebdc6aa87ba"
          },
          {
            "url": "https://www.middesk.com/policies/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:15.011730927Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a386a0eeeb69"
          },
          {
            "url": "https://www.middesk.com/policies/bv-msa",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:12.510644226Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "26b54790c413"
          }
        ],
        "updatedAt": "2026-10-08T19:52:56.135323146Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Jumio Corporation",
        "b": "Middesk, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.middesk.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service. No public service agreement was found. The @jumio/websdk npm package is marked UNLICENSED",
        "b": "Proprietary service under Middesk's Business Verification Terms and Conditions. The Claude Code and Codex plugins on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "11",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-28",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-04",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "72 stars, 2.1k npm/wk",
        "b": "2 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Middesk scores 59 (C) on agent readiness against Jumio's 55 (C), and leads in 5 of 7 scored categories. Jumio leads on security \u0026 auth and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Jumio or Middesk?"
      },
      {
        "answer": "Jumio uses an OAuth sign-in. Middesk takes an API key or an OAuth sign-in.",
        "question": "Do Jumio and Middesk need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Jumio. Middesk has a hosted endpoint at https://api.middesk.com/v1.",
        "question": "Can an agent call Jumio and Middesk without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 63 against 56",
          "Maintenance \u0026 community, 75 against 64"
        ],
        "also": null,
        "goodFor": "An enterprise with a Jumio contract that wants document, selfie and liveness checks, watchlist screening and Latin American, Thai and Australian database checks behind OpenAPI-described endpoints.",
        "slug": "jumio",
        "watchFor": "No public price, free tier or trial. OAuth2 and workflow keys are activated by a Jumio account manager"
      },
      {
        "aheadOn": [
          "Reliability, 73 against 65",
          "Schema \u0026 documentation, 82 against 73",
          "Agent ergonomics, 56 against 45",
          "Payments \u0026 pricing, 10 against 0"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "An agent onboarding or re-checking US businesses for a bank, lender or marketplace that already holds a Middesk contract, with registry, TIN, sanctions and lien data in one object.",
        "slug": "middesk",
        "watchFor": "No public price. Fees are set in an order form, and every docs page ends with a prompt to contact sales"
      }
    ],
    "job": {
      "capability": "kyc.identity",
      "name": "Kyc identity"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/complycube-vs-jumio.json",
        "title": "ComplyCube vs Jumio",
        "url": "https://www.anchorterminal.com/compare/complycube-vs-jumio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/complycube-vs-middesk.json",
        "title": "ComplyCube vs Middesk",
        "url": "https://www.anchorterminal.com/compare/complycube-vs-middesk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didit-vs-jumio.json",
        "title": "Didit vs Jumio",
        "url": "https://www.anchorterminal.com/compare/didit-vs-jumio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didit-vs-middesk.json",
        "title": "Didit vs Middesk",
        "url": "https://www.anchorterminal.com/compare/didit-vs-middesk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jumio-vs-persona.json",
        "title": "Jumio vs Persona",
        "url": "https://www.anchorterminal.com/compare/jumio-vs-persona"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jumio-vs-sumsub.json",
        "title": "Jumio vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/jumio-vs-sumsub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jumio-vs-trulioo.json",
        "title": "Jumio vs Trulioo",
        "url": "https://www.anchorterminal.com/compare/jumio-vs-trulioo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jumio-vs-veriff.json",
        "title": "Jumio vs Veriff",
        "url": "https://www.anchorterminal.com/compare/jumio-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-veriff.json",
        "title": "Middesk vs Veriff",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/complyadvantage-vs-jumio.json",
        "title": "ComplyAdvantage vs Jumio",
        "url": "https://www.anchorterminal.com/compare/complyadvantage-vs-jumio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/complyadvantage-vs-middesk.json",
        "title": "ComplyAdvantage vs Middesk",
        "url": "https://www.anchorterminal.com/compare/complyadvantage-vs-middesk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-persona.json",
        "title": "Middesk vs Persona",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-persona"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-sumsub.json",
        "title": "Middesk vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-sumsub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-trulioo.json",
        "title": "Middesk vs Trulioo",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-trulioo"
      }
    ],
    "scores": [
      {
        "by": 8,
        "edge": "middesk",
        "jumio": 65,
        "key": "reliability",
        "middesk": 73,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "middesk",
        "jumio": 73,
        "key": "schema",
        "middesk": 82,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 11,
        "edge": "middesk",
        "jumio": 45,
        "key": "ergonomics",
        "middesk": 56,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 7,
        "edge": "jumio",
        "jumio": 63,
        "key": "security",
        "middesk": 56,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "edge": "middesk",
        "jumio": 0,
        "key": "payments",
        "middesk": 10,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "jumio",
        "jumio": 75,
        "key": "maintenance",
        "middesk": 64,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 1,
        "edge": "middesk",
        "jumio": 60,
        "key": "transparency",
        "middesk": 61,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Middesk scores 59 (C) on agent readiness against Jumio's 55 (C), and leads in 5 of 7 scored categories. Jumio leads on security \u0026 auth and maintenance \u0026 community. Both do kyc identity.",
    "verdicts": {
      "jumio": "Five OpenAPI 3.0 files, an llms.txt index and OAuth2 clients limited to initiating or to retrieving and deleting make the API readable and containable. Access starts with an account manager, with no public price, trial or service agreement, and the status page shows four processing degradations and a 35-minute Singapore outage between 14 August and 2 October 2026.",
      "middesk": "A public OpenAPI 3.1 contract for 87 operations, llms.txt, Markdown docs and a dated weekly changelog make the REST API readable to an agent, and OAuth has a read-only scope. Access is sales-led. No price, self-serve signup or official SDK was found, and the hosted MCP server rejects sandbox keys."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/jumio-vs-middesk",
    "json": "https://www.anchorterminal.com/compare/jumio-vs-middesk.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/jumio-vs-middesk.md",
    "slim": "https://www.anchorterminal.com/compare/jumio-vs-middesk.min.md"
  },
  "markdown": "Middesk scores 59 (C) on agent readiness against Jumio's 55 (C), and leads in 5 of 7 scored categories. Jumio leads on security \u0026 auth and maintenance \u0026 community. Both do kyc identity.\n\n- Jumio: grade C, 55/100, rank #521 of 722. Markdown https://www.anchorterminal.com/tools/jumio.md · JSON https://www.anchorterminal.com/api/v1/tools/jumio.json\n- Middesk: grade C, 59/100, rank #440 of 722. Markdown https://www.anchorterminal.com/tools/middesk.md · JSON https://www.anchorterminal.com/api/v1/tools/middesk.json\n\n## Which one, for what\n\n### Jumio (C)\n\nGood for: An enterprise with a Jumio contract that wants document, selfie and liveness checks, watchlist screening and Latin American, Thai and Australian database checks behind OpenAPI-described endpoints.\n\nAhead on:\n- Security \u0026 auth, 63 against 56\n- Maintenance \u0026 community, 75 against 64\n\nWatch for: No public price, free tier or trial. OAuth2 and workflow keys are activated by a Jumio account manager\n\n### Middesk (C)\n\nGood for: An agent onboarding or re-checking US businesses for a bank, lender or marketplace that already holds a Middesk contract, with registry, TIN, sanctions and lien data in one object.\n\nAhead on:\n- Reliability, 73 against 65\n- Schema \u0026 documentation, 82 against 73\n- Agent ergonomics, 56 against 45\n- Payments \u0026 pricing, 10 against 0\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No public price. Fees are set in an order form, and every docs page ends with a prompt to contact sales\n\n\n## Score by category\n\n| Category | Weight | Jumio | Middesk | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 73 | Middesk +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 82 | Middesk +9 |\n| Agent ergonomics | 13% (16.2 this run) | 45 | 56 | Middesk +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 63 | 56 | Jumio +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 10 | Middesk +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 64 | Jumio +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 61 | Middesk +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **55 · C** | **59 · C** | |\n\n## Facts side by side\n\n| Fact | Jumio | Middesk |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Jumio Corporation | Middesk, Inc. |\n| Hosted endpoint | no (local only) | `https://api.middesk.com/v1` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service. No public service agreement was found. The @jumio/websdk npm package is marked UNLICENSED | Proprietary service under Middesk's Business Verification Terms and Conditions. The Claude Code and Codex plugins on GitHub are MIT |\n| Tools exposed | none | 11 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-28 | 2026-10-05 |\n| Terms last updated | no document linked | no date given |\n| Privacy policy last updated | 2026-08-04 | no date given |\n| Customer content may train models | yes | yes |\n| Terms restrict automated access |  | not found in the text |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | yes |\n| Popularity | 72 stars, 2.1k npm/wk | 2 stars |\n\n## Verdicts\n\n**Jumio.** Five OpenAPI 3.0 files, an llms.txt index and OAuth2 clients limited to initiating or to retrieving and deleting make the API readable and containable. Access starts with an account manager, with no public price, trial or service agreement, and the status page shows four processing degradations and a 35-minute Singapore outage between 14 August and 2 October 2026.\n\n**Middesk.** A public OpenAPI 3.1 contract for 87 operations, llms.txt, Markdown docs and a dated weekly changelog make the REST API readable to an agent, and OAuth has a read-only scope. Access is sales-led. No price, self-serve signup or official SDK was found, and the hosted MCP server rejects sandbox keys.\n\n## Before you call either\n\n### Jumio\n\n1. Use the host for the tenant's region (amer-1, emea-1 or apac-1). Tokens come from auth.\u003cregion\u003e.jumio.ai/oauth2/token with the client ID and secret as Basic credentials\n2. Reuse the bearer token for its 60 minutes. Token requests are limited to 10 a second and new transactions to 1 a second per tenant\n3. Send a User-Agent header on every call. The Account API marks it required\n4. Don't blindly retry POST /api/v1/accounts. Each call creates an account and a transaction, and no idempotency key exists\n5. Wait for the callback or poll the status endpoint until PROCESSED before retrieving. Jumio's retry schedule starts at 40 seconds and stops after 940\n\n### Middesk\n\n1. Match the key to the host. `mk_test` keys work only at https://api-sandbox.middesk.com/v1 and `mk_live` keys only at https://api.middesk.com/v1\n2. Name the `orders` on `POST /v1/businesses`. Omitting them places a verification order plus every package the account runs automatically, all billed\n3. Send `address_line1` and `address_line2`. The API ignores `address_line_1` without an error\n4. A 201 means the business was created, not verified. Wait for the `business.updated` webhook or poll until `status` leaves `pending`\n5. Stay under 20 requests a second per account, and in sandbox wait the seconds in `Retry-After` after a 429 on business creation\n\n## Questions\n\n### Which is better for AI agents, Jumio or Middesk?\n\nMiddesk scores 59 (C) on agent readiness against Jumio's 55 (C), and leads in 5 of 7 scored categories. Jumio leads on security \u0026 auth and maintenance \u0026 community.\n\n### Do Jumio and Middesk need an API key?\n\nJumio uses an OAuth sign-in. Middesk takes an API key or an OAuth sign-in.\n\n### Can an agent call Jumio and Middesk without installing anything?\n\nNo hosted endpoint is listed for Jumio. Middesk has a hosted endpoint at https://api.middesk.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/jumio-vs-middesk.json, and with the fewest tokens: https://www.anchorterminal.com/compare/jumio-vs-middesk.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"jumio\", \"b\": \"middesk\"}`. From a terminal: `anchor compare jumio middesk`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/jumio.json and https://www.anchorterminal.com/api/v1/tools/middesk.json\n\n## Other comparisons with Jumio or Middesk\n\n- [ComplyCube vs Jumio](https://www.anchorterminal.com/compare/complycube-vs-jumio.md)\n- [ComplyCube vs Middesk](https://www.anchorterminal.com/compare/complycube-vs-middesk.md)\n- [Didit vs Jumio](https://www.anchorterminal.com/compare/didit-vs-jumio.md)\n- [Didit vs Middesk](https://www.anchorterminal.com/compare/didit-vs-middesk.md)\n- [Jumio vs Persona](https://www.anchorterminal.com/compare/jumio-vs-persona.md)\n- [Jumio vs Sumsub](https://www.anchorterminal.com/compare/jumio-vs-sumsub.md)\n- [Jumio vs Trulioo](https://www.anchorterminal.com/compare/jumio-vs-trulioo.md)\n- [Jumio vs Veriff](https://www.anchorterminal.com/compare/jumio-vs-veriff.md)\n- [Middesk vs Veriff](https://www.anchorterminal.com/compare/middesk-vs-veriff.md)\n- [ComplyAdvantage vs Jumio](https://www.anchorterminal.com/compare/complyadvantage-vs-jumio.md)\n- [ComplyAdvantage vs Middesk](https://www.anchorterminal.com/compare/complyadvantage-vs-middesk.md)\n- [Middesk vs Persona](https://www.anchorterminal.com/compare/middesk-vs-persona.md)\n- [Middesk vs Sumsub](https://www.anchorterminal.com/compare/middesk-vs-sumsub.md)\n- [Middesk vs Trulioo](https://www.anchorterminal.com/compare/middesk-vs-trulioo.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": "Jumio vs Middesk",
        "url": ""
      }
    ],
    "description": "Middesk scores 59 (C) on agent readiness against Jumio's 55 (C), and leads in 5 of 7 scored categories. Jumio leads on security \u0026 auth and maintenance \u0026 community. Both do kyc identity. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Jumio C 55",
      "Middesk C 59",
      "scores"
    ],
    "h1": "Jumio vs Middesk",
    "image": "https://www.anchorterminal.com/assets/og/compare-jumio-vs-middesk.png",
    "path": "/compare/jumio-vs-middesk",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Jumio vs Middesk for AI agents, C 55 vs C 59 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/jumio-vs-middesk"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 730
  },
  "version": 1
}
