{
  "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": "Veriff scores 61.1 (C) on agent readiness against Alloy's 52.4 (D), and leads in 6 of 7 scored categories. Alloy leads on agent ergonomics.",
    "b": {
      "slug": "veriff",
      "name": "Veriff",
      "vendor": "Veriff OÜ",
      "vendorUrl": "https://www.veriff.com",
      "kind": "http-api",
      "category": "identity-verification",
      "summary": "Identity verification service from Veriff in Tallinn. It checks an identity document and a selfie, with liveness, database checks and PEP and sanctions screening. Sessions are created and read through the Public API v1, with results sent by webhook.",
      "url": "https://www.anchorterminal.com/tools/veriff",
      "markdownUrl": "https://www.anchorterminal.com/tools/veriff.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/veriff.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/veriff.json",
      "repo": "https://github.com/Veriff/veriff-js-sdk",
      "license": "Proprietary service. The npm capture SDKs are ISC (@veriff/js-sdk, @veriff/incontext-sdk) and MIT (@veriff/react-native-sdk)",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@veriff/incontext-sdk"
        },
        {
          "registry": "npm",
          "name": "@veriff/js-sdk"
        },
        {
          "registry": "npm",
          "name": "@veriff/react-native-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve. Signing up for a Self-Serve plan creates a Customer Portal account with a test integration, and Enterprise accounts start from a sales form. Each integration has an API key, sent as `X-AUTH-CLIENT`, and up to five shared secret keys used to compute an HMAC-SHA256 `X-HMAC-SIGNATURE` (over the body on POST and PATCH, over the session ID on GET and DELETE). POST /v1/sessions needs only the API key. Secrets are shown once and can be rotated or deleted by an admin. There are no scopes. A live integration unlocks once the account holder passes Veriff's own identity verification.",
      "pricing": "usage",
      "pricingNotes": "Self-Serve is priced per verification with a monthly minimum. Essential is $0.80 ($49 a month minimum), Plus $1.39 ($99) and Premium $1.89 ($209). PEP and sanctions screening adds $0.64, ongoing monitoring $0.09 and two-year retention $0.30. A 15-day trial covers up to 50 sessions with no card, after the account holder completes identity verification. Test integrations are free and unbilled. Enterprise, suggested for 5,000 or more verifications a month, is priced by sales (https://www.veriff.com/plans/self-serve, checked 2026-10-08).",
      "priceSummary": "$0.80 / tx",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs index, the API guides or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 32,
        "npmWeekly": 109625,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://devdocs.veriff.com",
      "llmsTxt": "https://devdocs.veriff.com/llms.txt",
      "openapi": "https://devdocs.veriff.com/apidocs/v1sessions.md",
      "capabilities": [
        "kyc.identity",
        "kyc.documents",
        "kyc.screening"
      ],
      "tags": [
        "hosted",
        "api-key",
        "hmac",
        "webhooks",
        "openapi",
        "llms-txt",
        "free-trial",
        "sandbox",
        "status-page",
        "bug-bounty",
        "soc2",
        "iso27001"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.1,
        "grade": "C",
        "agentReady": false,
        "rank": 512,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 43,
          "maintenance": 74,
          "payments": 40,
          "reliability": 62,
          "schema": 82,
          "security": 63,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Per-verification prices are public from $0.80, with a 15-day trial of 50 sessions and no card. Each endpoint page is Markdown with an OpenAPI 3.0 fragment. There is no server SDK, MCP server or idempotency key, most calls need an HMAC signature, and the status page shows nine incidents between 20 July and 7 October 2026.",
        "bestFor": "A team that needs document and selfie verification with public per-verification prices and a trial, and that can run a webhook receiver and HMAC signing.",
        "strengths": [
          "Public prices of $0.80, $1.39 and $1.89 a verification, with a 15-day trial of up to 50 sessions and no card",
          "llms.txt index and Markdown pages, each API endpoint with an OpenAPI 3.0.0 fragment, examples and error schemas",
          "Up to five shared secret keys per integration, shown once, with documented rotation and deletion",
          "Test integrations are created at signup, aren't billed, and let the developer force a decision",
          "ISO/IEC 27001:2022, SOC 2 Type II, Cyber Essentials and a bug bounty on Intigriti paying 50 to 6,000 euros"
        ],
        "weaknesses": [
          "No server-side SDK and no MCP server. Official packages cover only browser and mobile capture",
          "No idempotency key on POST /v1/sessions, and no Retry-After or backoff guidance for the documented 429",
          "Nine status-page incidents between 20 July and 7 October 2026, mostly delayed decisions in the US region",
          "No endpoint lists sessions and no pagination was found. Every read needs a stored session ID",
          "Session deletion by API is off by default and capped at 10 sessions in 24 hours",
          "No security.txt, and the sub-processor list sits on a help centre page that needs JavaScript"
        ],
        "agentNotes": [
          "Take the base URL from the integration's API keys page. Send X-AUTH-CLIENT on every call and store verification.id from POST /v1/sessions",
          "Sign POST and PATCH bodies, and the session ID on GET and DELETE, with HMAC-SHA256 in X-HMAC-SIGNATURE. POST /v1/sessions needs no signature",
          "Stay under 30 session creations a minute on Self-Serve, 600 on Enterprise. A 429 carries code 1004",
          "Don't blindly retry POST /v1/sessions. Each call makes a new session, which is billed on a live integration",
          "Poll GET /v1/sessions/{id}/decision until `verification` is not null, or accept webhooks within 5 seconds and treat duplicates as normal"
        ],
        "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": 61.1
          }
        ],
        "editorialScores": {
          "ergonomics": 43,
          "maintenance": 74,
          "payments": 40,
          "reliability": 62,
          "schema": 82,
          "security": 63,
          "transparency": 48
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl -X POST \"https://\u003cBaseURL\u003e/v1/sessions\" \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-AUTH-CLIENT: API-KEY' \\\n  -d '{\"verification\": {}}'"
      },
      "letme": {
        "capability": "https://letme.dev/kyc.identity",
        "tool": "https://letme.dev/veriff"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Verification, Essential plan (automated decision)",
          "unit": "tx",
          "usd": 0.8,
          "note": "$49 a month minimum"
        },
        {
          "item": "Verification, Plus plan",
          "unit": "tx",
          "usd": 1.39,
          "note": "$99 a month minimum"
        },
        {
          "item": "Verification, Premium plan",
          "unit": "tx",
          "usd": 1.89,
          "note": "$209 a month minimum"
        },
        {
          "item": "PEP and sanctions screening add-on, per verification",
          "unit": "tx",
          "usd": 0.64,
          "note": "charged on top of the monthly minimum"
        },
        {
          "item": "Ongoing monitoring add-on, per verification",
          "unit": "tx",
          "usd": 0.09,
          "note": "charged on top of the monthly minimum"
        }
      ],
      "provenance": {
        "legalEntity": "Veriff OÜ",
        "domain": "veriff.com",
        "domainRegistered": "2006-04-12",
        "endpointOnVendorDomain": true,
        "terms": "https://www.veriff.com/terms-of-service",
        "privacy": "https://www.veriff.com/privacy-notice",
        "statusPage": "https://status.veriff.com",
        "changelog": "https://devdocs.veriff.com/docs/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The privacy notice (valid from 30 July 2020, last updated 16 April 2026) names Veriff OÜ and Veriff Brazil Ltda. and gives the Estonian Data Protection Inspectorate as lead supervisory authority.",
          "www.veriff.com/terms-of-service answers 200 with the title Terms of Service but no terms text in the HTML we fetched, so the terms themselves weren't read.",
          "www.veriff.com/.well-known/security.txt and /security.txt return 404. Reports go to a bug bounty programme on Intigriti (https://www.veriff.com/bug-bounty).",
          "The API base URL is per integration and shown in the Customer Portal. Code samples in the docs use https://stationapi.veriff.com.",
          "RDAP for veriff.com gives a registration date of 2006-04-12, which predates the company.",
          "The sub-processor list is linked from the privacy notice to help.veriff.com, which returned only a JavaScript shell to our fetch."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/veriff.json",
      "live": {
        "slug": "veriff",
        "vendorStatus": {
          "page": "https://status.veriff.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-14T09:39:46.209719689Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Veriff/veriff-js-sdk",
            "version": "v2.0.0",
            "released": "2025-09-09",
            "seenAt": "2026-10-13T23:31:40.183610703Z"
          },
          {
            "registry": "npm",
            "name": "@veriff/incontext-sdk",
            "version": "2.5.0",
            "seenAt": "2026-10-13T23:31:35.965000783Z"
          },
          {
            "registry": "npm",
            "name": "@veriff/js-sdk",
            "version": "2.0.0",
            "seenAt": "2026-10-13T23:31:36.444840844Z"
          },
          {
            "registry": "npm",
            "name": "@veriff/react-native-sdk",
            "version": "13.2.0",
            "seenAt": "2026-10-13T23:31:38.170298091Z"
          }
        ],
        "githubStars": 32,
        "npmWeekly": 86872,
        "securityTxt": {
          "url": "https://veriff.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-13T15:46:02.397688666Z"
        },
        "llmsTxt": {
          "url": "https://devdocs.veriff.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-13T14:12:45.152591047Z"
        },
        "domain": {
          "domain": "veriff.com",
          "registered": "2006-04-12",
          "source": "https://rdap.verisign.com/com/v1/domain/veriff.com",
          "checkedAt": "2026-10-11T13:13:15.609653227Z"
        },
        "pages": [
          {
            "url": "https://devdocs.veriff.com/docs/release-notes",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-13T20:12:26.964558523Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "26520a9df2cc"
          },
          {
            "url": "https://www.veriff.com/privacy-notice",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-13T20:33:20.100316058Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "024c0d3f9713"
          },
          {
            "url": "https://www.veriff.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-13T20:33:22.197443856Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d9e650601ce7"
          }
        ],
        "updatedAt": "2026-10-14T09:39:46.209719689Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "First Mile Group, Inc. (Alloy)",
        "b": "Veriff OÜ",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "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 Alloy's terms of service. The @alloyidentity/web-sdk capture package is MIT",
        "b": "Proprietary service. The npm capture SDKs are ISC (@veriff/js-sdk, @veriff/incontext-sdk) and MIT (@veriff/react-native-sdk)",
        "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-02",
        "name": "Last release"
      },
      {
        "a": "2026-03-12",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-04-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "21k npm/wk",
        "b": "32 stars, 110k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Veriff scores 61.1 (C) on agent readiness against Alloy's 52.4 (D), and leads in 6 of 7 scored categories. Alloy leads on agent ergonomics.",
        "question": "Which is better for AI agents, Alloy or Veriff?"
      },
      {
        "answer": "Alloy takes an API key or an OAuth sign-in. Veriff needs an API key.",
        "question": "Do Alloy and Veriff need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Alloy. No hosted endpoint is listed for Veriff.",
        "question": "Can an agent call Alloy and Veriff without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 52 against 43"
        ],
        "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": [
          "Schema \u0026 documentation, 82 against 73",
          "Security \u0026 auth, 63 against 49",
          "Payments \u0026 pricing, 40 against 0",
          "Transparency \u0026 trust, 67 against 62"
        ],
        "also": null,
        "goodFor": "A team that needs document and selfie verification with public per-verification prices and a trial, and that can run a webhook receiver and HMAC signing.",
        "slug": "veriff",
        "watchFor": "No server-side SDK and no MCP server. Official packages cover only browser and mobile capture"
      }
    ],
    "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-sumsub.json",
        "title": "Alloy vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-sumsub"
      },
      {
        "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-vouched.json",
        "title": "Alloy vs Vouched",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-vouched"
      },
      {
        "json": "https://www.anchorterminal.com/compare/complycube-vs-veriff.json",
        "title": "ComplyCube vs Veriff",
        "url": "https://www.anchorterminal.com/compare/complycube-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didit-vs-veriff.json",
        "title": "Didit vs Veriff",
        "url": "https://www.anchorterminal.com/compare/didit-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/entrust-identity-verification-vs-veriff.json",
        "title": "Entrust Identity Verification (formerly Onfido) vs Veriff",
        "url": "https://www.anchorterminal.com/compare/entrust-identity-verification-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jumio-vs-veriff.json",
        "title": "Jumio vs Veriff",
        "url": "https://www.anchorterminal.com/compare/jumio-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-veriff.json",
        "title": "Middesk vs Veriff",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/persona-vs-veriff.json",
        "title": "Persona vs Veriff",
        "url": "https://www.anchorterminal.com/compare/persona-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff.json",
        "title": "Plaid Identity Verification vs Veriff",
        "url": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shufti-vs-veriff.json",
        "title": "Shufti vs Veriff",
        "url": "https://www.anchorterminal.com/compare/shufti-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/socure-riskos-vs-veriff.json",
        "title": "Socure RiskOS vs Veriff",
        "url": "https://www.anchorterminal.com/compare/socure-riskos-vs-veriff"
      },
      {
        "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/sumsub-vs-veriff.json",
        "title": "Sumsub vs Veriff",
        "url": "https://www.anchorterminal.com/compare/sumsub-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/trulioo-vs-veriff.json",
        "title": "Trulioo vs Veriff",
        "url": "https://www.anchorterminal.com/compare/trulioo-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/veriff-vs-vouched.json",
        "title": "Veriff vs Vouched",
        "url": "https://www.anchorterminal.com/compare/veriff-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-veriff.json",
        "title": "ComplyAdvantage vs Veriff",
        "url": "https://www.anchorterminal.com/compare/complyadvantage-vs-veriff"
      }
    ],
    "scores": [
      {
        "alloy": 59,
        "by": 3,
        "edge": "veriff",
        "key": "reliability",
        "name": "Reliability",
        "veriff": 62,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "alloy": 73,
        "by": 9,
        "edge": "veriff",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "veriff": 82,
        "weight": 13
      },
      {
        "alloy": 52,
        "by": 9,
        "edge": "alloy",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "veriff": 43,
        "weight": 13
      },
      {
        "alloy": 49,
        "by": 14,
        "edge": "veriff",
        "key": "security",
        "name": "Security \u0026 auth",
        "veriff": 63,
        "weight": 14
      },
      {
        "alloy": 0,
        "by": 40,
        "edge": "veriff",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "veriff": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "alloy": 72,
        "by": 2,
        "edge": "veriff",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "veriff": 74,
        "weight": 7
      },
      {
        "alloy": 62,
        "by": 5,
        "edge": "veriff",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "veriff": 67,
        "weight": 7
      }
    ],
    "summary": "Veriff scores 61.1 (C) on agent readiness against Alloy's 52.4 (D), and leads in 6 of 7 scored categories. Alloy leads on agent ergonomics. 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.",
      "veriff": "Per-verification prices are public from $0.80, with a 15-day trial of 50 sessions and no card. Each endpoint page is Markdown with an OpenAPI 3.0 fragment. There is no server SDK, MCP server or idempotency key, most calls need an HMAC signature, and the status page shows nine incidents between 20 July and 7 October 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/alloy-vs-veriff",
    "json": "https://www.anchorterminal.com/compare/alloy-vs-veriff.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/alloy-vs-veriff.md",
    "slim": "https://www.anchorterminal.com/compare/alloy-vs-veriff.min.md"
  },
  "markdown": "Veriff scores 61.1 (C) on agent readiness against Alloy's 52.4 (D), and leads in 6 of 7 scored categories. Alloy leads on agent ergonomics. 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- Veriff: grade C, 61.1/100, rank #512 of 1076. Markdown https://www.anchorterminal.com/tools/veriff.md · JSON https://www.anchorterminal.com/api/v1/tools/veriff.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\nAhead on:\n- Agent ergonomics, 52 against 43\n\nWatch for: No public prices, trial or self-serve sign-up. Access starts with a demo request\n\n### Veriff (C)\n\nGood for: A team that needs document and selfie verification with public per-verification prices and a trial, and that can run a webhook receiver and HMAC signing.\n\nAhead on:\n- Schema \u0026 documentation, 82 against 73\n- Security \u0026 auth, 63 against 49\n- Payments \u0026 pricing, 40 against 0\n- Transparency \u0026 trust, 67 against 62\n\nWatch for: No server-side SDK and no MCP server. Official packages cover only browser and mobile capture\n\n\n## Score by category\n\n| Category | Weight | Alloy | Veriff | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 59 | 62 | Veriff +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 82 | Veriff +9 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 43 | Alloy +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 63 | Veriff +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 40 | Veriff +40 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 74 | Veriff +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 67 | Veriff +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **52.4 · D** | **61.1 · C** | |\n\n## Facts side by side\n\n| Fact | Alloy | Veriff |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | First Mile Group, Inc. (Alloy) | Veriff OÜ |\n| Hosted endpoint | no (local only) | 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 Alloy's terms of service. The @alloyidentity/web-sdk capture package is MIT | Proprietary service. The npm capture SDKs are ISC (@veriff/js-sdk, @veriff/incontext-sdk) and MIT (@veriff/react-native-sdk) |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-05 | 2026-10-02 |\n| Terms last updated | 2026-03-12 | couldn't be read |\n| Privacy policy last updated | no date given | 2026-04-16 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Popularity | 21k npm/wk | 32 stars, 110k 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**Veriff.** Per-verification prices are public from $0.80, with a 15-day trial of 50 sessions and no card. Each endpoint page is Markdown with an OpenAPI 3.0 fragment. There is no server SDK, MCP server or idempotency key, most calls need an HMAC signature, and the status page shows nine incidents between 20 July and 7 October 2026.\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### Veriff\n\n1. Take the base URL from the integration's API keys page. Send X-AUTH-CLIENT on every call and store verification.id from POST /v1/sessions\n2. Sign POST and PATCH bodies, and the session ID on GET and DELETE, with HMAC-SHA256 in X-HMAC-SIGNATURE. POST /v1/sessions needs no signature\n3. Stay under 30 session creations a minute on Self-Serve, 600 on Enterprise. A 429 carries code 1004\n4. Don't blindly retry POST /v1/sessions. Each call makes a new session, which is billed on a live integration\n5. Poll GET /v1/sessions/{id}/decision until `verification` is not null, or accept webhooks within 5 seconds and treat duplicates as normal\n\n## Questions\n\n### Which is better for AI agents, Alloy or Veriff?\n\nVeriff scores 61.1 (C) on agent readiness against Alloy's 52.4 (D), and leads in 6 of 7 scored categories. Alloy leads on agent ergonomics.\n\n### Do Alloy and Veriff need an API key?\n\nAlloy takes an API key or an OAuth sign-in. Veriff needs an API key.\n\n### Can an agent call Alloy and Veriff without installing anything?\n\nNo hosted endpoint is listed for Alloy. No hosted endpoint is listed for Veriff.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/alloy-vs-veriff.json, and with the fewest tokens: https://www.anchorterminal.com/compare/alloy-vs-veriff.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"alloy\", \"b\": \"veriff\"}`. From a terminal: `anchor compare alloy veriff`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/alloy.json and https://www.anchorterminal.com/api/v1/tools/veriff.json\n\n## Other comparisons with Alloy or Veriff\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 Sumsub](https://www.anchorterminal.com/compare/alloy-vs-sumsub.md)\n- [Alloy vs Trulioo](https://www.anchorterminal.com/compare/alloy-vs-trulioo.md)\n- [Alloy vs Vouched](https://www.anchorterminal.com/compare/alloy-vs-vouched.md)\n- [ComplyCube vs Veriff](https://www.anchorterminal.com/compare/complycube-vs-veriff.md)\n- [Didit vs Veriff](https://www.anchorterminal.com/compare/didit-vs-veriff.md)\n- [Entrust Identity Verification (formerly Onfido) vs Veriff](https://www.anchorterminal.com/compare/entrust-identity-verification-vs-veriff.md)\n- [Jumio vs Veriff](https://www.anchorterminal.com/compare/jumio-vs-veriff.md)\n- [Middesk vs Veriff](https://www.anchorterminal.com/compare/middesk-vs-veriff.md)\n- [Persona vs Veriff](https://www.anchorterminal.com/compare/persona-vs-veriff.md)\n- [Plaid Identity Verification vs Veriff](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff.md)\n- [Shufti vs Veriff](https://www.anchorterminal.com/compare/shufti-vs-veriff.md)\n- [Socure RiskOS vs Veriff](https://www.anchorterminal.com/compare/socure-riskos-vs-veriff.md)\n- [Stripe Identity vs Veriff](https://www.anchorterminal.com/compare/stripe-identity-vs-veriff.md)\n- [Sumsub vs Veriff](https://www.anchorterminal.com/compare/sumsub-vs-veriff.md)\n- [Trulioo vs Veriff](https://www.anchorterminal.com/compare/trulioo-vs-veriff.md)\n- [Veriff vs Vouched](https://www.anchorterminal.com/compare/veriff-vs-vouched.md)\n- [Alloy vs ComplyAdvantage](https://www.anchorterminal.com/compare/alloy-vs-complyadvantage.md)\n- [ComplyAdvantage vs Veriff](https://www.anchorterminal.com/compare/complyadvantage-vs-veriff.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 Veriff",
        "url": ""
      }
    ],
    "description": "Veriff scores 61.1 (C) to Alloy's 52.4 (D) for identity verification. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Alloy D 52.4",
      "Veriff C 61.1",
      "scores"
    ],
    "h1": "Alloy vs Veriff",
    "image": "https://www.anchorterminal.com/assets/og/compare-alloy-vs-veriff.png",
    "path": "/compare/alloy-vs-veriff",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Alloy vs Veriff for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/alloy-vs-veriff"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 680
  },
  "version": 1
}
