{
  "data": {
    "a": {
      "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": 596,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 10,
        "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-14T09:59:55.233347128Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 261,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 199,
          "p95ms24h": 289,
          "samples24h": 248,
          "samples30d": 1435,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 103,
              "ok": 103
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.middesk.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-14T09:52:57.348305389Z"
        },
        "githubStars": 2,
        "securityTxt": {
          "url": "https://middesk.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-13T15:45:53.415982745Z"
        },
        "llmsTxt": {
          "url": "https://docs.middesk.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-13T14:11:55.350435161Z"
        },
        "domain": {
          "domain": "middesk.com",
          "registered": "2018-11-20",
          "source": "https://rdap.verisign.com/com/v1/domain/middesk.com",
          "checkedAt": "2026-10-11T13:15:33.841683063Z"
        },
        "pages": [
          {
            "url": "https://docs.middesk.com/guides/get-started/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-13T20:15:15.883115675Z",
            "changedAt": "2026-10-12T19:50:33.168092919Z",
            "fingerprint": "7ca34d4bfc70"
          },
          {
            "url": "https://www.middesk.com/policies/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-13T20:30:07.695118742Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a386a0eeeb69"
          },
          {
            "url": "https://www.middesk.com/policies/bv-msa",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-13T20:30:05.218950698Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "26b54790c413"
          }
        ],
        "updatedAt": "2026-10-14T09:59:55.233347128Z"
      }
    },
    "answer": "Stripe Identity scores 77.7 (BB) on agent readiness against Middesk's 59 (C), and leads in 6 of 7 scored categories. Middesk leads on reliability.",
    "b": {
      "slug": "stripe-identity",
      "name": "Stripe Identity",
      "vendor": "Stripe, LLC",
      "vendorUrl": "https://stripe.com/identity",
      "kind": "http-api",
      "category": "identity-verification",
      "summary": "Stripe Identity verifies government-issued photo IDs from more than 120 countries, matches them to selfies and validates US Social Security numbers. Sessions are created and read through the Stripe API, and the end user completes the check in Stripe's flow.",
      "url": "https://www.anchorterminal.com/tools/stripe-identity",
      "markdownUrl": "https://www.anchorterminal.com/tools/stripe-identity.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/stripe-identity.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/stripe-identity.json",
      "repo": "https://github.com/stripe/openapi",
      "license": "Proprietary service under the Stripe Services Agreement and Stripe Identity Terms. The OpenAPI spec and official SDKs are MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "stripe"
        },
        {
          "registry": "pypi",
          "name": "stripe"
        }
      ],
      "auth": "api-key",
      "authNotes": "Stripe secret key, restricted key or IP-restricted key, sent as HTTP basic auth or a Bearer token to https://api.stripe.com. Results such as status, name and address need only a secret key. Date of birth, ID number and document images need a restricted key with Identity permissions, which can read them for verifications in the last 48 hours, or for all verifications once the key is IP-restricted. Identity is activated through an application in the Dashboard (checked 2026-10-14).",
      "pricing": "usage",
      "pricingNotes": "£1.25 per completed document and selfie verification and 35p per ID number lookup (US SSNs only), charged when the user completes verification, on the United Kingdom page our network was served. The first 50 verifications are free. Custom pricing is offered above 2,000 verifications a month (https://stripe.com/identity, checked 2026-10-14).",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the Identity endpoints, the Identity docs or the product page (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 24154234,
        "pypiWeekly": 11360574,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://docs.stripe.com/identity",
      "llmsTxt": "https://docs.stripe.com/llms.txt",
      "openapi": "https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json",
      "capabilities": [
        "kyc.identity",
        "kyc.documents"
      ],
      "tags": [
        "hosted",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "free-tier",
        "status-page",
        "python",
        "typescript",
        "go",
        "java",
        "ruby",
        "php",
        "bug-bounty",
        "soc2"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 77.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 21,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 93,
          "maintenance": 85,
          "payments": 40,
          "reliability": 62,
          "schema": 94,
          "security": 86,
          "transparency": 85
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Stripe Identity runs on the Stripe API, with a public OpenAPI spec, idempotency keys, restricted keys for sensitive fields and a redact endpoint. The product page lists £1.25 per document and selfie check, and the first 50 are free. It has no watchlist or business screening, and outside GB, JP and the US it is in public beta.",
        "bestFor": "A business already on Stripe that needs document and selfie checks or US SSN validation with published prices.",
        "strengths": [
          "Six typed Identity operations in Stripe's public OpenAPI spec, with Markdown docs and llms.txt",
          "Date of birth and ID number need a restricted key, and IP-restricted keys for reads after 48 hours",
          "Idempotency keys on every POST and cursor pagination with status and date filters",
          "Published prices of £1.25 per verification and 35p per US SSN lookup, with the first 50 verifications free",
          "`redact` removes personal data from the session, reports, events and request logs, confirmed by a webhook"
        ],
        "weaknesses": [
          "Document, selfie and US SSN checks only. No sanctions or watchlist screening and no business verification",
          "Generally available only for businesses in GB, JP and the US, and a public beta in 30 other countries",
          "Use for credit, housing, employment or insurance decisions, and resale of results, are forbidden by the terms",
          "status.stripe.com renders only in JavaScript, so the incident history couldn't be read",
          "Stripe keeps a copy of verification data after redaction until the end user asks Stripe support to delete it"
        ],
        "agentNotes": [
          "Send an Idempotency-Key based on your user reference when creating a VerificationSession, so a retry doesn't make a second session",
          "Send the end user the session URL or client secret. The person completes the check, the agent can't. Links expire after 48 hours",
          "Use a restricted key for `verified_outputs.dob` and `id_number`. Without an IP restriction it reads them only for 48 hours",
          "Wait for `identity.verification_session.verified` or `requires_input` webhooks instead of polling",
          "Treat `redact` as irreversible, and don't put personal data in metadata"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 77.7
          }
        ],
        "editorialScores": {
          "ergonomics": 93,
          "maintenance": 85,
          "payments": 40,
          "reliability": 62,
          "schema": 94,
          "security": 86,
          "transparency": 72
        },
        "provenanceScore": 98
      },
      "connect": {
        "http": "curl https://api.stripe.com/v1/identity/verification_sessions \\\n  -u \"\u003c\u003cYOUR_SECRET_KEY\u003e\u003e:\" \\\n  -d type=document"
      },
      "letme": {
        "capability": "https://letme.dev/kyc.identity",
        "tool": "https://letme.dev/stripe-identity"
      },
      "sameCompany": [
        "stripe-mcp"
      ],
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Stripe, LLC",
        "domain": "stripe.com",
        "domainRegistered": "1995-09-12",
        "endpointOnVendorDomain": true,
        "terms": "https://stripe.com/identity/legal",
        "privacy": "https://stripe.com/privacy",
        "statusPage": "https://status.stripe.com",
        "changelog": "https://docs.stripe.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-14",
        "notes": [
          "stripe.com/identity/legal redirects to the Stripe Services Agreement service terms, last updated 2 October 2026, which hold the Stripe Identity Terms.",
          "Our network was redirected to the /gb/ copies of the terms, privacy policy and service provider list.",
          "stripe.com/.well-known/security.txt points to HackerOne and expires 2026-12-31.",
          "stripe.com was registered in 1995, before Stripe bought it."
        ],
        "score": 98
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/stripe-identity.json",
      "live": {
        "slug": "stripe-identity",
        "vendorStatus": {
          "page": "https://status.stripe.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-14T08:53:58.613651718Z"
        },
        "updatedAt": "2026-10-14T08:53:58.613651718Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Middesk, Inc.",
        "b": "Stripe, LLC",
        "name": "Vendor"
      },
      {
        "a": "https://api.middesk.com/v1",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Middesk's Business Verification Terms and Conditions. The Claude Code and Codex plugins on GitHub are MIT",
        "b": "Proprietary service under the Stripe Services Agreement and Stripe Identity Terms. The OpenAPI spec and official SDKs are MIT",
        "name": "Licence"
      },
      {
        "a": "11",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-05",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-09-28",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-04-28",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2 stars",
        "b": "24.2M npm/wk, 11.4M PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Stripe Identity scores 77.7 (BB) on agent readiness against Middesk's 59 (C), and leads in 6 of 7 scored categories. Middesk leads on reliability.",
        "question": "Which is better for AI agents, Middesk or Stripe Identity?"
      },
      {
        "answer": "Middesk takes an API key or an OAuth sign-in. Stripe Identity needs an API key.",
        "question": "Do Middesk and Stripe Identity need an API key?"
      },
      {
        "answer": "Middesk has a hosted endpoint at https://api.middesk.com/v1. No hosted endpoint is listed for Stripe Identity.",
        "question": "Can an agent call Middesk and Stripe Identity without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 73 against 62"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 94 against 82",
          "Agent ergonomics, 93 against 56",
          "Security \u0026 auth, 86 against 56",
          "Payments \u0026 pricing, 40 against 10",
          "Maintenance \u0026 community, 85 against 64",
          "Transparency \u0026 trust, 85 against 61"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "A business already on Stripe that needs document and selfie checks or US SSN validation with published prices.",
        "slug": "stripe-identity",
        "watchFor": "Document, selfie and US SSN checks only. No sanctions or watchlist screening and no business verification"
      }
    ],
    "job": {
      "capability": "kyc.identity",
      "name": "Identity verification"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-middesk.json",
        "title": "Alloy vs Middesk",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-middesk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-stripe-identity.json",
        "title": "Alloy vs Stripe Identity",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-stripe-identity"
      },
      {
        "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/complycube-vs-stripe-identity.json",
        "title": "ComplyCube vs Stripe Identity",
        "url": "https://www.anchorterminal.com/compare/complycube-vs-stripe-identity"
      },
      {
        "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/didit-vs-stripe-identity.json",
        "title": "Didit vs Stripe Identity",
        "url": "https://www.anchorterminal.com/compare/didit-vs-stripe-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/entrust-identity-verification-vs-middesk.json",
        "title": "Entrust Identity Verification (formerly Onfido) vs Middesk",
        "url": "https://www.anchorterminal.com/compare/entrust-identity-verification-vs-middesk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/entrust-identity-verification-vs-stripe-identity.json",
        "title": "Entrust Identity Verification (formerly Onfido) vs Stripe Identity",
        "url": "https://www.anchorterminal.com/compare/entrust-identity-verification-vs-stripe-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jumio-vs-middesk.json",
        "title": "Jumio vs Middesk",
        "url": "https://www.anchorterminal.com/compare/jumio-vs-middesk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jumio-vs-stripe-identity.json",
        "title": "Jumio vs Stripe Identity",
        "url": "https://www.anchorterminal.com/compare/jumio-vs-stripe-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-plaid-identity-verification.json",
        "title": "Middesk vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-plaid-identity-verification"
      },
      {
        "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/middesk-vs-vouched.json",
        "title": "Middesk vs Vouched",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-vouched"
      },
      {
        "json": "https://www.anchorterminal.com/compare/persona-vs-stripe-identity.json",
        "title": "Persona vs Stripe Identity",
        "url": "https://www.anchorterminal.com/compare/persona-vs-stripe-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-stripe-identity.json",
        "title": "Plaid Identity Verification vs Stripe Identity",
        "url": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-stripe-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shufti-vs-stripe-identity.json",
        "title": "Shufti vs Stripe Identity",
        "url": "https://www.anchorterminal.com/compare/shufti-vs-stripe-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/socure-riskos-vs-stripe-identity.json",
        "title": "Socure RiskOS vs Stripe Identity",
        "url": "https://www.anchorterminal.com/compare/socure-riskos-vs-stripe-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stripe-identity-vs-sumsub.json",
        "title": "Stripe Identity vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/stripe-identity-vs-sumsub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stripe-identity-vs-trulioo.json",
        "title": "Stripe Identity vs Trulioo",
        "url": "https://www.anchorterminal.com/compare/stripe-identity-vs-trulioo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stripe-identity-vs-veriff.json",
        "title": "Stripe Identity vs Veriff",
        "url": "https://www.anchorterminal.com/compare/stripe-identity-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stripe-identity-vs-vouched.json",
        "title": "Stripe Identity vs Vouched",
        "url": "https://www.anchorterminal.com/compare/stripe-identity-vs-vouched"
      },
      {
        "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-shufti.json",
        "title": "Middesk vs Shufti",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-shufti"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-socure-riskos.json",
        "title": "Middesk vs Socure RiskOS",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-socure-riskos"
      },
      {
        "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": 11,
        "edge": "middesk",
        "key": "reliability",
        "middesk": 73,
        "name": "Reliability",
        "stripe-identity": 62,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "stripe-identity",
        "key": "schema",
        "middesk": 82,
        "name": "Schema \u0026 documentation",
        "stripe-identity": 94,
        "weight": 13
      },
      {
        "by": 37,
        "edge": "stripe-identity",
        "key": "ergonomics",
        "middesk": 56,
        "name": "Agent ergonomics",
        "stripe-identity": 93,
        "weight": 13
      },
      {
        "by": 30,
        "edge": "stripe-identity",
        "key": "security",
        "middesk": 56,
        "name": "Security \u0026 auth",
        "stripe-identity": 86,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "stripe-identity",
        "key": "payments",
        "middesk": 10,
        "name": "Payments \u0026 pricing",
        "stripe-identity": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "stripe-identity",
        "key": "maintenance",
        "middesk": 64,
        "name": "Maintenance \u0026 community",
        "stripe-identity": 85,
        "weight": 7
      },
      {
        "by": 24,
        "edge": "stripe-identity",
        "key": "transparency",
        "middesk": 61,
        "name": "Transparency \u0026 trust",
        "stripe-identity": 85,
        "weight": 7
      }
    ],
    "summary": "Stripe Identity scores 77.7 (BB) on agent readiness against Middesk's 59 (C), and leads in 6 of 7 scored categories. Middesk leads on reliability. Both do identity verification.",
    "verdicts": {
      "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.",
      "stripe-identity": "Stripe Identity runs on the Stripe API, with a public OpenAPI spec, idempotency keys, restricted keys for sensitive fields and a redact endpoint. The product page lists £1.25 per document and selfie check, and the first 50 are free. It has no watchlist or business screening, and outside GB, JP and the US it is in public beta."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/middesk-vs-stripe-identity",
    "json": "https://www.anchorterminal.com/compare/middesk-vs-stripe-identity.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/middesk-vs-stripe-identity.md",
    "slim": "https://www.anchorterminal.com/compare/middesk-vs-stripe-identity.min.md"
  },
  "markdown": "Stripe Identity scores 77.7 (BB) on agent readiness against Middesk's 59 (C), and leads in 6 of 7 scored categories. Middesk leads on reliability. Both do identity verification.\n\n- Middesk: grade C, 59/100, rank #596 of 1076. Markdown https://www.anchorterminal.com/tools/middesk.md · JSON https://www.anchorterminal.com/api/v1/tools/middesk.json\n- Stripe Identity: grade BB, 77.7/100, rank #21 of 1076. Markdown https://www.anchorterminal.com/tools/stripe-identity.md · JSON https://www.anchorterminal.com/api/v1/tools/stripe-identity.json\n- Best identity and business verification APIs for AI agents: https://www.anchorterminal.com/best/identity-verification/index.md\n- All 119 verification comparisons: https://www.anchorterminal.com/compare/identity-verification/index.md\n\n## Which one, for what\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 62\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### Stripe Identity (BB)\n\nGood for: A business already on Stripe that needs document and selfie checks or US SSN validation with published prices.\n\nAhead on:\n- Schema \u0026 documentation, 94 against 82\n- Agent ergonomics, 93 against 56\n- Security \u0026 auth, 86 against 56\n- Payments \u0026 pricing, 40 against 10\n- Maintenance \u0026 community, 85 against 64\n- Transparency \u0026 trust, 85 against 61\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Document, selfie and US SSN checks only. No sanctions or watchlist screening and no business verification\n\n\n## Score by category\n\n| Category | Weight | Middesk | Stripe Identity | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 73 | 62 | Middesk +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 94 | Stripe Identity +12 |\n| Agent ergonomics | 13% (16.2 this run) | 56 | 93 | Stripe Identity +37 |\n| Security \u0026 auth | 14% (17.5 this run) | 56 | 86 | Stripe Identity +30 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 40 | Stripe Identity +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 64 | 85 | Stripe Identity +21 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 85 | Stripe Identity +24 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59 · C** | **77.7 · BB** | |\n\n## Facts side by side\n\n| Fact | Middesk | Stripe Identity |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Middesk, Inc. | Stripe, LLC |\n| Hosted endpoint | `https://api.middesk.com/v1` | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under Middesk's Business Verification Terms and Conditions. The Claude Code and Codex plugins on GitHub are MIT | Proprietary service under the Stripe Services Agreement and Stripe Identity Terms. The OpenAPI spec and official SDKs are MIT |\n| Tools exposed | 11 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-05 | 2026-10-01 |\n| Terms last updated | no date given | 2026-09-28 |\n| Privacy policy last updated | no date given | 2026-04-28 |\n| Customer content may train models | yes | yes |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 2 stars | 24.2M npm/wk, 11.4M PyPI/wk |\n\n## Verdicts\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**Stripe Identity.** Stripe Identity runs on the Stripe API, with a public OpenAPI spec, idempotency keys, restricted keys for sensitive fields and a redact endpoint. The product page lists £1.25 per document and selfie check, and the first 50 are free. It has no watchlist or business screening, and outside GB, JP and the US it is in public beta.\n\n## Before you call either\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### Stripe Identity\n\n1. Send an Idempotency-Key based on your user reference when creating a VerificationSession, so a retry doesn't make a second session\n2. Send the end user the session URL or client secret. The person completes the check, the agent can't. Links expire after 48 hours\n3. Use a restricted key for `verified_outputs.dob` and `id_number`. Without an IP restriction it reads them only for 48 hours\n4. Wait for `identity.verification_session.verified` or `requires_input` webhooks instead of polling\n5. Treat `redact` as irreversible, and don't put personal data in metadata\n\n## Questions\n\n### Which is better for AI agents, Middesk or Stripe Identity?\n\nStripe Identity scores 77.7 (BB) on agent readiness against Middesk's 59 (C), and leads in 6 of 7 scored categories. Middesk leads on reliability.\n\n### Do Middesk and Stripe Identity need an API key?\n\nMiddesk takes an API key or an OAuth sign-in. Stripe Identity needs an API key.\n\n### Can an agent call Middesk and Stripe Identity without installing anything?\n\nMiddesk has a hosted endpoint at https://api.middesk.com/v1. No hosted endpoint is listed for Stripe Identity.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/middesk-vs-stripe-identity.json, and with the fewest tokens: https://www.anchorterminal.com/compare/middesk-vs-stripe-identity.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"middesk\", \"b\": \"stripe-identity\"}`. From a terminal: `anchor compare middesk stripe-identity`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/middesk.json and https://www.anchorterminal.com/api/v1/tools/stripe-identity.json\n\n## Other comparisons with Middesk or Stripe Identity\n\n- [Alloy vs Middesk](https://www.anchorterminal.com/compare/alloy-vs-middesk.md)\n- [Alloy vs Stripe Identity](https://www.anchorterminal.com/compare/alloy-vs-stripe-identity.md)\n- [ComplyCube vs Middesk](https://www.anchorterminal.com/compare/complycube-vs-middesk.md)\n- [ComplyCube vs Stripe Identity](https://www.anchorterminal.com/compare/complycube-vs-stripe-identity.md)\n- [Didit vs Middesk](https://www.anchorterminal.com/compare/didit-vs-middesk.md)\n- [Didit vs Stripe Identity](https://www.anchorterminal.com/compare/didit-vs-stripe-identity.md)\n- [Entrust Identity Verification (formerly Onfido) vs Middesk](https://www.anchorterminal.com/compare/entrust-identity-verification-vs-middesk.md)\n- [Entrust Identity Verification (formerly Onfido) vs Stripe Identity](https://www.anchorterminal.com/compare/entrust-identity-verification-vs-stripe-identity.md)\n- [Jumio vs Middesk](https://www.anchorterminal.com/compare/jumio-vs-middesk.md)\n- [Jumio vs Stripe Identity](https://www.anchorterminal.com/compare/jumio-vs-stripe-identity.md)\n- [Middesk vs Plaid Identity Verification](https://www.anchorterminal.com/compare/middesk-vs-plaid-identity-verification.md)\n- [Middesk vs Veriff](https://www.anchorterminal.com/compare/middesk-vs-veriff.md)\n- [Middesk vs Vouched](https://www.anchorterminal.com/compare/middesk-vs-vouched.md)\n- [Persona vs Stripe Identity](https://www.anchorterminal.com/compare/persona-vs-stripe-identity.md)\n- [Plaid Identity Verification vs Stripe Identity](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-stripe-identity.md)\n- [Shufti vs Stripe Identity](https://www.anchorterminal.com/compare/shufti-vs-stripe-identity.md)\n- [Socure RiskOS vs Stripe Identity](https://www.anchorterminal.com/compare/socure-riskos-vs-stripe-identity.md)\n- [Stripe Identity vs Sumsub](https://www.anchorterminal.com/compare/stripe-identity-vs-sumsub.md)\n- [Stripe Identity vs Trulioo](https://www.anchorterminal.com/compare/stripe-identity-vs-trulioo.md)\n- [Stripe Identity vs Veriff](https://www.anchorterminal.com/compare/stripe-identity-vs-veriff.md)\n- [Stripe Identity vs Vouched](https://www.anchorterminal.com/compare/stripe-identity-vs-vouched.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 Shufti](https://www.anchorterminal.com/compare/middesk-vs-shufti.md)\n- [Middesk vs Socure RiskOS](https://www.anchorterminal.com/compare/middesk-vs-socure-riskos.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-14",
    "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": "Middesk vs Stripe Identity",
        "url": ""
      }
    ],
    "description": "Stripe Identity scores 77.7 (BB) to Middesk's 59 (C) for identity verification. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Middesk C 59",
      "Stripe Identity BB 77.7",
      "scores"
    ],
    "h1": "Middesk vs Stripe Identity",
    "image": "https://www.anchorterminal.com/assets/og/compare-middesk-vs-stripe-identity.png",
    "path": "/compare/middesk-vs-stripe-identity",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Middesk vs Stripe Identity for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/middesk-vs-stripe-identity"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 680
  },
  "version": 1
}
