{
  "data": {
    "a": {
      "slug": "alloy",
      "name": "Alloy",
      "vendor": "First Mile Group, Inc. (Alloy)",
      "vendorUrl": "https://www.alloy.com",
      "kind": "http-api",
      "category": "identity-verification",
      "summary": "Alloy is an identity and fraud decisioning platform for banks and fintechs. Its API runs onboarding journeys and evaluations that orchestrate identity, business, document and watchlist checks across third-party data vendors, with case management and ongoing monitoring.",
      "url": "https://www.anchorterminal.com/tools/alloy",
      "markdownUrl": "https://www.anchorterminal.com/tools/alloy.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/alloy.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/alloy.json",
      "license": "Proprietary service under Alloy's terms of service. The @alloyidentity/web-sdk capture package is MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@alloyidentity/web-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Account-level token and secret (older accounts use a workflow token and secret), sent as HTTP basic auth or exchanged at /v1/oauth/bearer for a one-hour Bearer token with client credentials. Up to five active secrets per key, rotated and revoked in the dashboard by users with key permissions. No scopes. The same keys serve sandbox and production, chosen by base URL or the `alloy-sandbox: true` header. Keys come with a customer contract (checked 2026-10-14).",
      "pricing": "paid",
      "pricingNotes": "No public prices. www.alloy.com/pricing returns 404 and the site routes buyers to a demo. Production calls invoke third-party data vendors and can incur charges, while sandbox calls don't (https://developer.alloy.com/public/docs/sandbox-vs-production, checked 2026-10-14).",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs index, the API reference or the website (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 20569,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://developer.alloy.com/public/docs/introduction",
      "llmsTxt": "https://developer.alloy.com/public/llms.txt",
      "capabilities": [
        "kyc.identity",
        "kyc.business",
        "kyc.screening",
        "kyc.documents",
        "kyc.cases"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "sales-led",
        "api-key",
        "oauth",
        "llms-txt",
        "webhooks",
        "sandbox",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.4,
        "grade": "D",
        "agentReady": false,
        "rank": 782,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 16,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 72,
          "payments": 0,
          "reliability": 59,
          "schema": 73,
          "security": 49,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Alloy's public docs cover journeys, evaluations, entities, documents, cases and investigations, with llms.txt, Markdown pages, OpenAPI fragments and rate-limit headers with retry-after. Access is sales-led with no public price or trial, credentials have no scopes, there is no idempotency key or server SDK, and inputs vary by each customer's workflow.",
        "bestFor": "Banks and fintechs that already run onboarding through Alloy and want an agent to submit journey applications, read decisions and work investigations.",
        "strengths": [
          "Public developer docs with llms.txt (247 entries), Markdown pages and an OpenAPI fragment on each reference page",
          "Rate-limit headers and `retry-after` on 429, with a written guide to which codes to retry",
          "One API orchestrates identity, business, document and watchlist checks across many data vendors",
          "Up to five active secrets per key, OAuth client credentials and an IP allowlist",
          "Status page with separate Production API, Sandbox API, Webhooks and third-party components"
        ],
        "weaknesses": [
          "No public prices, trial or self-serve sign-up. Access starts with a demo request",
          "Rate limits vary by account and endpoint with no published numbers",
          "No idempotency key and no server-side SDK",
          "Evaluation inputs and outputs depend on each customer's workflow, so the contract is loosely typed",
          "Sandbox and Production are request modes over one data store, so test and live records can collide"
        ],
        "agentNotes": [
          "Get the account's base URL from the customer. Defaults are api.alloy.co and sandbox.alloy.co, and some accounts have their own hosts",
          "Use unique, prefixed external IDs in sandbox. Sandbox and Production share one data store",
          "Read `alloy-ratelimit-remaining`, and on 429 or 5xx wait for `retry-after` with exponential backoff and jitter",
          "Expect `running` after about 25 seconds on journey applications and wait for the webhook instead of resubmitting",
          "Send the workflow header with account-level keys, since inputs depend on the workflow configured"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.4
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 72,
          "payments": 0,
          "reliability": 59,
          "schema": 73,
          "security": 49,
          "transparency": 38
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -X POST https://sandbox.alloy.co/v1/oauth/bearer \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Basic \u003cbasic_token\u003e\" \\\n  -d '{\n    \"grant_type\": \"client_credentials\"\n  }'"
      },
      "letme": {
        "capability": "https://letme.dev/kyc.identity",
        "tool": "https://letme.dev/alloy"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "First Mile Group, Inc.",
        "domain": "alloy.com",
        "domainRegistered": "1999-02-25",
        "endpointOnVendorDomain": true,
        "terms": "https://www.alloy.com/tos",
        "privacy": "https://www.alloy.com/privacy-policy",
        "statusPage": "https://status.alloy.com",
        "changelog": "https://www.alloy.com/product-updates",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The privacy policy (29 August 2025) names First Mile Group, Inc. d/b/a/ Alloy.",
          "The default API hosts are on alloy.co (api.alloy.co, sandbox.alloy.co), and account-specific hosts on alloy.com. status.alloy.co redirects to status.alloy.com.",
          "www.alloy.com/.well-known/security.txt and alloy.co/.well-known/security.txt return 404.",
          "RDAP for alloy.com gives a registration date of 1999-02-25, before Alloy was founded in 2015."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/alloy.json",
      "live": {
        "slug": "alloy",
        "vendorStatus": {
          "page": "https://status.alloy.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-14T09:38:51.209484803Z"
        },
        "mcpTools": {
          "url": "https://api.alloy.cx/mcp",
          "checkedAt": "2026-10-02T22:09:59.902886223Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-10-02T22:09:59.902886223Z"
        },
        "updatedAt": "2026-10-14T09:38:51.209484803Z"
      }
    },
    "answer": "Sumsub scores 68.5 (B) on agent readiness against Alloy's 52.4 (D), and leads in every scored category.",
    "b": {
      "slug": "sumsub",
      "name": "Sumsub",
      "vendor": "Sum and Substance Ltd",
      "vendorUrl": "https://sumsub.com",
      "kind": "http-api",
      "category": "identity-verification",
      "summary": "Sumsub verifies people from identity documents and a liveness check, verifies businesses against registries, and screens both against sanctions and watchlists. Agents reach it through a signed REST API and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/sumsub",
      "markdownUrl": "https://www.anchorterminal.com/tools/sumsub.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/sumsub.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sumsub.json",
      "repo": "https://github.com/sumsub/agent-skills",
      "license": "Proprietary service under Sumsub's terms and conditions. The agent skills repository and the @sumsub/websdk npm package are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.sumsub.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@sumsub/websdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "The REST API takes an app token generated in the Dashboard by a signed-in team member. Each request carries `X-App-Token`, `X-App-Access-Ts` and `X-App-Access-Sig`, an HMAC-SHA256 signature made with the token's secret key over the timestamp, method, path and body. A token has its own permissions, an optional IP allowlist, an optional expiry date and optional source keys that limit it to a group of applicants, and it can be disabled or deleted but not edited. Sandbox and production tokens are separate. The MCP server at https://api.sumsub.com/mcp/ uses OAuth with PKCE and dynamic client registration, signs the user in with Sumsub, and needs the Use MCP server role permission. Production mode opens after Sumsub verifies the integration (https://docs.sumsub.com/reference/about-sumsub-api).",
      "pricing": "usage",
      "pricingNotes": "Basic is $1.35 per verification with a $149 monthly minimum, and Compliance is $1.85 with a $299 minimum and adds AML screening and address checks. Business verification, transaction monitoring and fraud prevention are on a custom plan through sales. Only completed checks are charged. Sandbox mode is free in any account, limited to 500 new applicants and 1,000 transactions per 24 hours. The 14-day trial of 50 real checks asks for bank card details (https://sumsub.com/pricing/, https://docs.sumsub.com/docs/self-service, checked 2026-10-08).",
      "priceSummary": "$1.35 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 172226,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.sumsub.com",
      "llmsTxt": "https://docs.sumsub.com/llms.txt",
      "openapi": "https://api.sumsub.com/openapi.json",
      "capabilities": [
        "kyc.identity",
        "kyc.business",
        "kyc.documents",
        "kyc.screening",
        "kyc.cases"
      ],
      "tags": [
        "hosted",
        "usage-based",
        "sandbox",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "llms-txt",
        "webhooks",
        "status-page",
        "sla",
        "bug-bounty",
        "soc2",
        "iso27001"
      ],
      "lastRelease": "2026-10-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.5,
        "grade": "B",
        "agentReady": false,
        "rank": 220,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 74,
          "payments": 25,
          "reliability": 80,
          "schema": 78,
          "security": 80,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Per-token permissions, an IP allowlist, HMAC-signed requests and a public OpenAPI spec with Markdown docs suit an agent working on verification cases. No idempotency keys or Retry-After guidance were found, there is no server SDK, and production access needs a browser signup, a bank card and Sumsub's review of the integration.",
        "bestFor": "An agent that starts verifications, sends links, reads results and AML cases, and works case queues for a regulated business, with one token limited to those permissions.",
        "strengths": [
          "App tokens carry per-token permissions, an optional IP allowlist and expiry date, and can be disabled with a recorded reason",
          "Requests are signed with HMAC-SHA256 over timestamp, method, path and body, so the secret key never travels",
          "Public OpenAPI 3.0.1 spec with 157 operations, llms.txt, and every docs page served as Markdown",
          "Hosted MCP server with OAuth, PKCE and dynamic client registration, gated by a Use MCP server role permission",
          "Terms publish a 99.5 per cent monthly uptime commitment, and the status page lists API, WebSDK and MobileSDK for three regions"
        ],
        "weaknesses": [
          "No idempotency keys and no Retry-After or backoff guidance found in the reviewed documentation",
          "Only 24 of 157 operations in the OpenAPI spec carry a summary or description, and 154 declare only a default response",
          "No official server-side SDK. Sumsub publishes request-signing examples in seven languages instead",
          "The 14-day trial of 50 real checks needs a bank card, and production opens after Sumsub checks the integration",
          "Terms clause 6.9 permits Sumsub to use customers' personal data to develop fraud detection, including machine learning models",
          "The subprocessor list is published in the Dashboard, not on a public page"
        ],
        "agentNotes": [
          "Sign every request. X-App-Access-Sig is the lowercase hex HMAC-SHA256 of timestamp, uppercase method, path with query and raw body, and the timestamp must be within one minute of server time",
          "Use a sandbox token (prefix sbx) for agent work. Sandbox and production tokens are separate, and Sumsub's own skills refuse any other prefix",
          "Stay under 300 GET and 50 POST requests per 5 seconds, and under 500 new applicants per 24 hours in Sandbox",
          "Token permissions can't be edited after creation. Generate a new token with the narrower set and delete the old one",
          "Subscribe to the applicantReviewed webhook for results and verify x-payload-digest against the raw body before trusting it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.5
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 74,
          "payments": 25,
          "reliability": 80,
          "schema": 78,
          "security": 80,
          "transparency": 52
        },
        "provenanceScore": 96
      },
      "connect": {
        "install": "npx skills add sumsub/agent-skills --all -g",
        "http": "curl -X GET \\\n  'https://api.sumsub.com/resources/auditTrailEvents/list?from=2024-06-01+00:00:00\u0026to=2024-06-30+23:59:59\u0026limit=100' \\\n  -H 'X-App-Token: \u003cyour-app-token\u003e' \\\n  -H 'X-App-Access-Sig: \u003cyour-signature\u003e' \\\n  -H 'X-App-Access-Ts: \u003cunix-timestamp\u003e'",
        "claudeCode": "claude mcp add --transport http sumsub https://api.sumsub.com/mcp/",
        "config": {
          "mcpServers": {
            "sumsub": {
              "args": [
                "mcp-remote",
                "https://api.sumsub.com/mcp/"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/kyc.identity",
        "tool": "https://letme.dev/sumsub"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Basic plan, user verification",
          "unit": "tx",
          "usd": 1.35,
          "note": "per completed verification; $149 monthly minimum"
        },
        {
          "item": "Compliance plan, user verification with AML screening and address check",
          "unit": "tx",
          "usd": 1.85,
          "note": "per completed verification; $299 monthly minimum"
        }
      ],
      "provenance": {
        "legalEntity": "Sum and Substance Ltd",
        "domain": "sumsub.com",
        "domainRegistered": "2015-05-01",
        "endpointOnVendorDomain": true,
        "terms": "https://sumsub.com/terms-and-conditions/",
        "privacy": "https://sumsub.com/privacy-notice-service/",
        "statusPage": "https://status.sumsub.com",
        "changelog": "https://docs.sumsub.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms (version of 21 May 2026) name Sum and Substance Ltd, England, company number 09688671, 30 St. Mary Axe, London EC3A 8BF, with contracting entities in the UAE, Delaware, Singapore and Cyprus depending on where the customer is registered.",
          "The API and the MCP server answer at api.sumsub.com, and the Dashboard and OAuth issuer at cockpit.sumsub.com.",
          "sumsub.com/.well-known/security.txt gives security@sumsub.com and a Bugcrowd engagement as contacts and expires on 2027-12-31.",
          "The service privacy notice was last updated on 19 March 2026. The data processing agreement is Annex 3 of the terms.",
          "RDAP for sumsub.com gives a registration date of 2015-05-01."
        ],
        "score": 96
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/sumsub.json",
      "live": {
        "slug": "sumsub",
        "probe": {
          "target": "https://api.sumsub.com",
          "method": "get",
          "lastAt": "2026-10-14T09:42:09.117029033Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 256,
          "authRequired": false,
          "uptime24h": 99.6,
          "uptime30d": 99.93,
          "p50ms24h": 170,
          "p95ms24h": 263,
          "samples24h": 248,
          "samples30d": 1432,
          "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": 100,
              "ok": 99
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.sumsub.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-14T09:39:42.981204595Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@sumsub/websdk",
            "version": "2.9.0",
            "seenAt": "2026-10-13T23:27:09.462566319Z"
          }
        ],
        "githubStars": 7,
        "npmWeekly": 138750,
        "securityTxt": {
          "url": "https://sumsub.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-12-31T11:59:00Z",
          "checkedAt": "2026-10-13T15:45:21.352569844Z"
        },
        "llmsTxt": {
          "url": "https://docs.sumsub.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-13T14:12:38.573023295Z"
        },
        "domain": {
          "domain": "sumsub.com",
          "registered": "2015-05-01",
          "source": "https://rdap.verisign.com/com/v1/domain/sumsub.com",
          "checkedAt": "2026-10-11T13:20:19.731095648Z"
        },
        "pages": [
          {
            "url": "https://docs.sumsub.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-13T20:15:57.742117391Z",
            "changedAt": "2026-10-13T20:15:57.742117391Z",
            "fingerprint": "f2fb6b024be3"
          },
          {
            "url": "https://sumsub.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-13T20:23:56.866580279Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8df9176ba407"
          },
          {
            "url": "https://sumsub.com/privacy-notice-service/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-13T20:23:58.967858161Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "676c31f026df"
          },
          {
            "url": "https://sumsub.com/terms-and-conditions/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-13T20:24:01.002993329Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "63e133a2d160"
          }
        ],
        "updatedAt": "2026-10-14T09:42:09.117029033Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "First Mile Group, Inc. (Alloy)",
        "b": "Sum and Substance Ltd",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.sumsub.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Alloy's terms of service. The @alloyidentity/web-sdk capture package is MIT",
        "b": "Proprietary service under Sumsub's terms and conditions. The agent skills repository and the @sumsub/websdk npm package are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-05",
        "b": "2026-10-03",
        "name": "Last release"
      },
      {
        "a": "2026-03-12",
        "b": "2026-05-21",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-03-19",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "21k npm/wk",
        "b": "172k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Sumsub scores 68.5 (B) on agent readiness against Alloy's 52.4 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Alloy or Sumsub?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Alloy and Sumsub need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Alloy. Sumsub has a hosted endpoint at https://api.sumsub.com.",
        "question": "Can an agent call Alloy and Sumsub without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Banks and fintechs that already run onboarding through Alloy and want an agent to submit journey applications, read decisions and work investigations.",
        "slug": "alloy",
        "watchFor": "No public prices, trial or self-serve sign-up. Access starts with a demo request"
      },
      {
        "aheadOn": [
          "Reliability, 80 against 59",
          "Schema \u0026 documentation, 78 against 73",
          "Agent ergonomics, 60 against 52",
          "Security \u0026 auth, 80 against 49",
          "Payments \u0026 pricing, 25 against 0",
          "Transparency \u0026 trust, 74 against 62"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "An agent that starts verifications, sends links, reads results and AML cases, and works case queues for a regulated business, with one token limited to those permissions.",
        "slug": "sumsub",
        "watchFor": "No idempotency keys and no Retry-After or backoff guidance found in the reviewed documentation"
      }
    ],
    "job": {
      "capability": "kyc.identity",
      "name": "Identity verification"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-complycube.json",
        "title": "Alloy vs ComplyCube",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-complycube"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-didit.json",
        "title": "Alloy vs Didit",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-didit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-entrust-identity-verification.json",
        "title": "Alloy vs Entrust Identity Verification (formerly Onfido)",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-entrust-identity-verification"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-jumio.json",
        "title": "Alloy vs Jumio",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-jumio"
      },
      {
        "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-persona.json",
        "title": "Alloy vs Persona",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-persona"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification.json",
        "title": "Alloy vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-shufti.json",
        "title": "Alloy vs Shufti",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-shufti"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-socure-riskos.json",
        "title": "Alloy vs Socure RiskOS",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-socure-riskos"
      },
      {
        "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/alloy-vs-trulioo.json",
        "title": "Alloy vs Trulioo",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-trulioo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-veriff.json",
        "title": "Alloy vs Veriff",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-vouched.json",
        "title": "Alloy vs Vouched",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-vouched"
      },
      {
        "json": "https://www.anchorterminal.com/compare/complycube-vs-sumsub.json",
        "title": "ComplyCube vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/complycube-vs-sumsub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didit-vs-sumsub.json",
        "title": "Didit vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/didit-vs-sumsub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/entrust-identity-verification-vs-sumsub.json",
        "title": "Entrust Identity Verification (formerly Onfido) vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/entrust-identity-verification-vs-sumsub"
      },
      {
        "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/persona-vs-sumsub.json",
        "title": "Persona vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/persona-vs-sumsub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-sumsub.json",
        "title": "Plaid Identity Verification vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-sumsub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shufti-vs-sumsub.json",
        "title": "Shufti vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/shufti-vs-sumsub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/socure-riskos-vs-sumsub.json",
        "title": "Socure RiskOS vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/socure-riskos-vs-sumsub"
      },
      {
        "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/sumsub-vs-trulioo.json",
        "title": "Sumsub vs Trulioo",
        "url": "https://www.anchorterminal.com/compare/sumsub-vs-trulioo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sumsub-vs-veriff.json",
        "title": "Sumsub vs Veriff",
        "url": "https://www.anchorterminal.com/compare/sumsub-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sumsub-vs-vouched.json",
        "title": "Sumsub vs Vouched",
        "url": "https://www.anchorterminal.com/compare/sumsub-vs-vouched"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alloy-vs-complyadvantage.json",
        "title": "Alloy vs ComplyAdvantage",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-complyadvantage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/complyadvantage-vs-sumsub.json",
        "title": "ComplyAdvantage vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/complyadvantage-vs-sumsub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-sumsub.json",
        "title": "Middesk vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-sumsub"
      }
    ],
    "scores": [
      {
        "alloy": 59,
        "by": 21,
        "edge": "sumsub",
        "key": "reliability",
        "name": "Reliability",
        "sumsub": 80,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "alloy": 73,
        "by": 5,
        "edge": "sumsub",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "sumsub": 78,
        "weight": 13
      },
      {
        "alloy": 52,
        "by": 8,
        "edge": "sumsub",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "sumsub": 60,
        "weight": 13
      },
      {
        "alloy": 49,
        "by": 31,
        "edge": "sumsub",
        "key": "security",
        "name": "Security \u0026 auth",
        "sumsub": 80,
        "weight": 14
      },
      {
        "alloy": 0,
        "by": 25,
        "edge": "sumsub",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "sumsub": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "alloy": 72,
        "by": 2,
        "edge": "sumsub",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "sumsub": 74,
        "weight": 7
      },
      {
        "alloy": 62,
        "by": 12,
        "edge": "sumsub",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "sumsub": 74,
        "weight": 7
      }
    ],
    "summary": "Sumsub scores 68.5 (B) on agent readiness against Alloy's 52.4 (D), and leads in every scored category. Both do identity verification.",
    "verdicts": {
      "alloy": "Alloy's public docs cover journeys, evaluations, entities, documents, cases and investigations, with llms.txt, Markdown pages, OpenAPI fragments and rate-limit headers with retry-after. Access is sales-led with no public price or trial, credentials have no scopes, there is no idempotency key or server SDK, and inputs vary by each customer's workflow.",
      "sumsub": "Per-token permissions, an IP allowlist, HMAC-signed requests and a public OpenAPI spec with Markdown docs suit an agent working on verification cases. No idempotency keys or Retry-After guidance were found, there is no server SDK, and production access needs a browser signup, a bank card and Sumsub's review of the integration."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/alloy-vs-sumsub",
    "json": "https://www.anchorterminal.com/compare/alloy-vs-sumsub.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/alloy-vs-sumsub.md",
    "slim": "https://www.anchorterminal.com/compare/alloy-vs-sumsub.min.md"
  },
  "markdown": "Sumsub scores 68.5 (B) on agent readiness against Alloy's 52.4 (D), and leads in every scored category. Both do identity verification.\n\n- Alloy: grade D, 52.4/100, rank #782 of 1076. Markdown https://www.anchorterminal.com/tools/alloy.md · JSON https://www.anchorterminal.com/api/v1/tools/alloy.json\n- Sumsub: grade B, 68.5/100, rank #220 of 1076. Markdown https://www.anchorterminal.com/tools/sumsub.md · JSON https://www.anchorterminal.com/api/v1/tools/sumsub.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### Alloy (D)\n\nGood for: Banks and fintechs that already run onboarding through Alloy and want an agent to submit journey applications, read decisions and work investigations.\n\nWatch for: No public prices, trial or self-serve sign-up. Access starts with a demo request\n\n### Sumsub (B)\n\nGood for: An agent that starts verifications, sends links, reads results and AML cases, and works case queues for a regulated business, with one token limited to those permissions.\n\nAhead on:\n- Reliability, 80 against 59\n- Schema \u0026 documentation, 78 against 73\n- Agent ergonomics, 60 against 52\n- Security \u0026 auth, 80 against 49\n- Payments \u0026 pricing, 25 against 0\n- Transparency \u0026 trust, 74 against 62\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No idempotency keys and no Retry-After or backoff guidance found in the reviewed documentation\n\n\n## Score by category\n\n| Category | Weight | Alloy | Sumsub | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 59 | 80 | Sumsub +21 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 78 | Sumsub +5 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 60 | Sumsub +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 80 | Sumsub +31 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 25 | Sumsub +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 74 | Sumsub +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 74 | Sumsub +12 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **52.4 · D** | **68.5 · B** | |\n\n## Facts side by side\n\n| Fact | Alloy | Sumsub |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | First Mile Group, Inc. (Alloy) | Sum and Substance Ltd |\n| Hosted endpoint | no (local only) | `https://api.sumsub.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under Alloy's terms of service. The @alloyidentity/web-sdk capture package is MIT | Proprietary service under Sumsub's terms and conditions. The agent skills repository and the @sumsub/websdk npm package are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-05 | 2026-10-03 |\n| Terms last updated | 2026-03-12 | 2026-05-21 |\n| Privacy policy last updated | no date given | 2026-03-19 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 21k npm/wk | 172k npm/wk |\n\n## Verdicts\n\n**Alloy.** Alloy's public docs cover journeys, evaluations, entities, documents, cases and investigations, with llms.txt, Markdown pages, OpenAPI fragments and rate-limit headers with retry-after. Access is sales-led with no public price or trial, credentials have no scopes, there is no idempotency key or server SDK, and inputs vary by each customer's workflow.\n\n**Sumsub.** Per-token permissions, an IP allowlist, HMAC-signed requests and a public OpenAPI spec with Markdown docs suit an agent working on verification cases. No idempotency keys or Retry-After guidance were found, there is no server SDK, and production access needs a browser signup, a bank card and Sumsub's review of the integration.\n\n## Before you call either\n\n### Alloy\n\n1. Get the account's base URL from the customer. Defaults are api.alloy.co and sandbox.alloy.co, and some accounts have their own hosts\n2. Use unique, prefixed external IDs in sandbox. Sandbox and Production share one data store\n3. Read `alloy-ratelimit-remaining`, and on 429 or 5xx wait for `retry-after` with exponential backoff and jitter\n4. Expect `running` after about 25 seconds on journey applications and wait for the webhook instead of resubmitting\n5. Send the workflow header with account-level keys, since inputs depend on the workflow configured\n\n### Sumsub\n\n1. Sign every request. X-App-Access-Sig is the lowercase hex HMAC-SHA256 of timestamp, uppercase method, path with query and raw body, and the timestamp must be within one minute of server time\n2. Use a sandbox token (prefix sbx) for agent work. Sandbox and production tokens are separate, and Sumsub's own skills refuse any other prefix\n3. Stay under 300 GET and 50 POST requests per 5 seconds, and under 500 new applicants per 24 hours in Sandbox\n4. Token permissions can't be edited after creation. Generate a new token with the narrower set and delete the old one\n5. Subscribe to the applicantReviewed webhook for results and verify x-payload-digest against the raw body before trusting it\n\n## Questions\n\n### Which is better for AI agents, Alloy or Sumsub?\n\nSumsub scores 68.5 (B) on agent readiness against Alloy's 52.4 (D), and leads in every scored category.\n\n### Do Alloy and Sumsub need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Alloy and Sumsub without installing anything?\n\nNo hosted endpoint is listed for Alloy. Sumsub has a hosted endpoint at https://api.sumsub.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/alloy-vs-sumsub.json, and with the fewest tokens: https://www.anchorterminal.com/compare/alloy-vs-sumsub.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"alloy\", \"b\": \"sumsub\"}`. From a terminal: `anchor compare alloy sumsub`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/alloy.json and https://www.anchorterminal.com/api/v1/tools/sumsub.json\n\n## Other comparisons with Alloy or Sumsub\n\n- [Alloy vs ComplyCube](https://www.anchorterminal.com/compare/alloy-vs-complycube.md)\n- [Alloy vs Didit](https://www.anchorterminal.com/compare/alloy-vs-didit.md)\n- [Alloy vs Entrust Identity Verification (formerly Onfido)](https://www.anchorterminal.com/compare/alloy-vs-entrust-identity-verification.md)\n- [Alloy vs Jumio](https://www.anchorterminal.com/compare/alloy-vs-jumio.md)\n- [Alloy vs Middesk](https://www.anchorterminal.com/compare/alloy-vs-middesk.md)\n- [Alloy vs Persona](https://www.anchorterminal.com/compare/alloy-vs-persona.md)\n- [Alloy vs Plaid Identity Verification](https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification.md)\n- [Alloy vs Shufti](https://www.anchorterminal.com/compare/alloy-vs-shufti.md)\n- [Alloy vs Socure RiskOS](https://www.anchorterminal.com/compare/alloy-vs-socure-riskos.md)\n- [Alloy vs Stripe Identity](https://www.anchorterminal.com/compare/alloy-vs-stripe-identity.md)\n- [Alloy vs Trulioo](https://www.anchorterminal.com/compare/alloy-vs-trulioo.md)\n- [Alloy vs Veriff](https://www.anchorterminal.com/compare/alloy-vs-veriff.md)\n- [Alloy vs Vouched](https://www.anchorterminal.com/compare/alloy-vs-vouched.md)\n- [ComplyCube vs Sumsub](https://www.anchorterminal.com/compare/complycube-vs-sumsub.md)\n- [Didit vs Sumsub](https://www.anchorterminal.com/compare/didit-vs-sumsub.md)\n- [Entrust Identity Verification (formerly Onfido) vs Sumsub](https://www.anchorterminal.com/compare/entrust-identity-verification-vs-sumsub.md)\n- [Jumio vs Sumsub](https://www.anchorterminal.com/compare/jumio-vs-sumsub.md)\n- [Persona vs Sumsub](https://www.anchorterminal.com/compare/persona-vs-sumsub.md)\n- [Plaid Identity Verification vs Sumsub](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-sumsub.md)\n- [Shufti vs Sumsub](https://www.anchorterminal.com/compare/shufti-vs-sumsub.md)\n- [Socure RiskOS vs Sumsub](https://www.anchorterminal.com/compare/socure-riskos-vs-sumsub.md)\n- [Stripe Identity vs Sumsub](https://www.anchorterminal.com/compare/stripe-identity-vs-sumsub.md)\n- [Sumsub vs Trulioo](https://www.anchorterminal.com/compare/sumsub-vs-trulioo.md)\n- [Sumsub vs Veriff](https://www.anchorterminal.com/compare/sumsub-vs-veriff.md)\n- [Sumsub vs Vouched](https://www.anchorterminal.com/compare/sumsub-vs-vouched.md)\n- [Alloy vs ComplyAdvantage](https://www.anchorterminal.com/compare/alloy-vs-complyadvantage.md)\n- [ComplyAdvantage vs Sumsub](https://www.anchorterminal.com/compare/complyadvantage-vs-sumsub.md)\n- [Middesk vs Sumsub](https://www.anchorterminal.com/compare/middesk-vs-sumsub.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": "Alloy vs Sumsub",
        "url": ""
      }
    ],
    "description": "Sumsub scores 68.5 (B) to Alloy's 52.4 (D) for identity verification. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Alloy D 52.4",
      "Sumsub B 68.5",
      "scores"
    ],
    "h1": "Alloy vs Sumsub",
    "image": "https://www.anchorterminal.com/assets/og/compare-alloy-vs-sumsub.png",
    "path": "/compare/alloy-vs-sumsub",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Alloy vs Sumsub for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/alloy-vs-sumsub"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 680
  },
  "version": 1
}
