{
  "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": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-14T09:50:42.047906821Z"
        },
        "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:50:42.047906821Z"
      }
    },
    "answer": "Plaid Identity Verification scores 67.1 (B) on agent readiness against Alloy's 52.4 (D), and leads in every scored category.",
    "b": {
      "slug": "plaid-identity-verification",
      "name": "Plaid Identity Verification",
      "vendor": "Plaid Inc.",
      "vendorUrl": "https://plaid.com/products/identity-verification/",
      "kind": "http-api",
      "category": "identity-verification",
      "summary": "Plaid Identity Verification checks a person against data sources, identity documents, selfies with liveness and SMS, with risk scoring and optional Monitor watchlist screening. Sessions run in Plaid Link or through a backend-only API flow.",
      "url": "https://www.anchorterminal.com/tools/plaid-identity-verification",
      "markdownUrl": "https://www.anchorterminal.com/tools/plaid-identity-verification.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/plaid-identity-verification.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/plaid-identity-verification.json",
      "repo": "https://github.com/plaid/plaid-openapi",
      "license": "Proprietary service under Plaid's developer policy and end-user terms. The OpenAPI file and client libraries are MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "plaid"
        },
        {
          "registry": "pypi",
          "name": "plaid-python"
        }
      ],
      "auth": "api-key",
      "authNotes": "`client_id` and `secret` in the JSON body of each POST to https://sandbox.plaid.com or https://production.plaid.com, with a separate secret per environment. No scopes. Sandbox for Identity Verification is enabled self-serve from the Dashboard Products page (since 12 August 2026). Production needs a product access request, and the integrating company must be based in the US, Canada or the UK (checked 2026-10-14).",
      "pricing": "paid",
      "pricingNotes": "No public prices. Each session is billed an Anti-Fraud Engine fee plus fees for data source verification (by country), document checks and selfie checks, and retries are billed as new sessions. Exact rates appear after applying for Production. Sandbox is free (https://plaid.com/docs/account/billing/, checked 2026-10-14).",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Identity Verification docs, the API reference or the pricing page (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 1238045,
        "pypiWeekly": 656200,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://plaid.com/docs/identity-verification/",
      "llmsTxt": "https://plaid.com/llms.txt",
      "openapi": "https://raw.githubusercontent.com/plaid/plaid-openapi/master/2020-09-14.yml",
      "capabilities": [
        "kyc.identity",
        "kyc.documents",
        "kyc.screening"
      ],
      "tags": [
        "hosted",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "status-page",
        "python",
        "typescript",
        "go",
        "java",
        "ruby",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-13",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.1,
        "grade": "B",
        "agentReady": false,
        "rank": 278,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 83,
          "payments": 15,
          "reliability": 68,
          "schema": 91,
          "security": 61,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Plaid Identity Verification has four typed endpoints in Plaid's public OpenAPI file, an idempotent create, a backend-only flow for data source checks and frequent changelog entries. Prices appear only after applying for Production, the secret has no scopes, and the rate-limit and error pages are disallowed to crawlers.",
        "bestFor": "US, Canadian and UK companies that want KYC with data source checks, documents and selfies, especially those already on Plaid or wanting Monitor screening in the same flow.",
        "strengths": [
          "Four typed endpoints in the public OpenAPI file, with llms.txt and Markdown docs",
          "Backend-only flow runs data source checks from user data with no Link session",
          "`is_idempotent` on create returns the existing session instead of making a second",
          "Six dated Identity Verification changelog entries between 9 July and 13 October 2026",
          "Self-serve Sandbox since 12 August 2026, with sample identities for test outcomes"
        ],
        "weaknesses": [
          "No public prices. Rates appear only after a Production application",
          "One team secret reaches every Plaid product, with no scopes or read-only key",
          "Integrating companies must be based in the US, Canada or the UK",
          "Data stays only while the contract is active, and access to past sessions ends with it",
          "Rate-limit and error pages sit under a path robots.txt disallows, so we didn't read them"
        ],
        "agentNotes": [
          "Pass `is_idempotent: true` to /identity_verification/create so a retry returns the existing session",
          "Use the backend-only flow (data source template, `gave_consent: true`) when you already hold the user's details. Documents and selfies need the person in Link",
          "Wait for the STATUS_UPDATED webhook or poll /identity_verification/get. Link's onSuccess doesn't mean the user passed",
          "Don't issue retries casually. Each retry is a new session billed again",
          "Enable Sandbox for Identity Verification on the Dashboard Products page before the first call"
        ],
        "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": 67.1
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 83,
          "payments": 15,
          "reliability": 68,
          "schema": 91,
          "security": 61,
          "transparency": 57
        },
        "provenanceScore": 97
      },
      "connect": {
        "http": "curl -X POST https://sandbox.plaid.com/identity_verification/create \\\n-H 'Content-Type: application/json' \\\n-d '{\n  \"client_user_id\": \"user-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d\",\n  \"client_id\": \"${PLAID_CLIENT_ID}\",\n  \"secret\": \"${PLAID_SECRET}\",\n  \"is_shareable\": true,\n  \"template_id\": \"idvtmp_52xR9LKo77r1Np\",\n  \"gave_consent\": true\n}'"
      },
      "letme": {
        "capability": "https://letme.dev/kyc.identity",
        "tool": "https://letme.dev/plaid-identity-verification"
      },
      "sameCompany": [
        "plaid"
      ],
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Plaid Inc.",
        "domain": "plaid.com",
        "domainRegistered": "1995-08-16",
        "endpointOnVendorDomain": true,
        "terms": "https://plaid.com/legal/#developer-policy",
        "privacy": "https://plaid.com/legal/#privacy-statement",
        "statusPage": "https://status.plaid.com",
        "changelog": "https://plaid.com/docs/changelog/",
        "securityTxt": "valid",
        "checked": "2026-10-14",
        "notes": [
          "Same entity, legal pages and status page as the plaid listing. Plaid Financial Ltd and Plaid, B.V. cover the UK and the EEA.",
          "plaid.com/.well-known/security.txt lists HackerOne and security@plaid.com and expires 2026-12-31.",
          "plaid.com was registered in 1995, before Plaid was founded."
        ],
        "score": 97
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/plaid-identity-verification.json",
      "live": {
        "slug": "plaid-identity-verification",
        "vendorStatus": {
          "page": "https://status.plaid.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-14T09:53:20.159743826Z"
        },
        "updatedAt": "2026-10-14T09:53:20.159743826Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "First Mile Group, Inc. (Alloy)",
        "b": "Plaid Inc.",
        "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": "Paid",
        "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 Plaid's developer policy and end-user terms. The OpenAPI file and client libraries 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-13",
        "name": "Last release"
      },
      {
        "a": "2026-03-12",
        "b": "2025-12-01",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2025-12-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "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": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "21k npm/wk",
        "b": "1.2M npm/wk, 656k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Plaid Identity Verification scores 67.1 (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 Plaid Identity Verification?"
      },
      {
        "answer": "Alloy takes an API key or an OAuth sign-in. Plaid Identity Verification needs an API key.",
        "question": "Do Alloy and Plaid Identity Verification need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Alloy. No hosted endpoint is listed for Plaid Identity Verification.",
        "question": "Can an agent call Alloy and Plaid Identity Verification 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, 68 against 59",
          "Schema \u0026 documentation, 91 against 73",
          "Agent ergonomics, 75 against 52",
          "Security \u0026 auth, 61 against 49",
          "Payments \u0026 pricing, 15 against 0",
          "Maintenance \u0026 community, 83 against 72",
          "Transparency \u0026 trust, 77 against 62"
        ],
        "also": null,
        "goodFor": "US, Canadian and UK companies that want KYC with data source checks, documents and selfies, especially those already on Plaid or wanting Monitor screening in the same flow.",
        "slug": "plaid-identity-verification",
        "watchFor": "No public prices. Rates appear only after a Production application"
      }
    ],
    "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-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-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-plaid-identity-verification.json",
        "title": "ComplyCube vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/complycube-vs-plaid-identity-verification"
      },
      {
        "json": "https://www.anchorterminal.com/compare/didit-vs-plaid-identity-verification.json",
        "title": "Didit vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/didit-vs-plaid-identity-verification"
      },
      {
        "json": "https://www.anchorterminal.com/compare/entrust-identity-verification-vs-plaid-identity-verification.json",
        "title": "Entrust Identity Verification (formerly Onfido) vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/entrust-identity-verification-vs-plaid-identity-verification"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jumio-vs-plaid-identity-verification.json",
        "title": "Jumio vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/jumio-vs-plaid-identity-verification"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-plaid-identity-verification.json",
        "title": "Middesk vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-plaid-identity-verification"
      },
      {
        "json": "https://www.anchorterminal.com/compare/persona-vs-plaid-identity-verification.json",
        "title": "Persona vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/persona-vs-plaid-identity-verification"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-shufti.json",
        "title": "Plaid Identity Verification vs Shufti",
        "url": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-shufti"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-socure-riskos.json",
        "title": "Plaid Identity Verification vs Socure RiskOS",
        "url": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-socure-riskos"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-stripe-identity.json",
        "title": "Plaid Identity Verification vs Stripe Identity",
        "url": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-stripe-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/plaid-identity-verification-vs-trulioo.json",
        "title": "Plaid Identity Verification vs Trulioo",
        "url": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-trulioo"
      },
      {
        "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/plaid-identity-verification-vs-vouched.json",
        "title": "Plaid Identity Verification vs Vouched",
        "url": "https://www.anchorterminal.com/compare/plaid-identity-verification-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-plaid-identity-verification.json",
        "title": "ComplyAdvantage vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/complyadvantage-vs-plaid-identity-verification"
      }
    ],
    "scores": [
      {
        "alloy": 59,
        "by": 9,
        "edge": "plaid-identity-verification",
        "key": "reliability",
        "name": "Reliability",
        "plaid-identity-verification": 68,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "alloy": 73,
        "by": 18,
        "edge": "plaid-identity-verification",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "plaid-identity-verification": 91,
        "weight": 13
      },
      {
        "alloy": 52,
        "by": 23,
        "edge": "plaid-identity-verification",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "plaid-identity-verification": 75,
        "weight": 13
      },
      {
        "alloy": 49,
        "by": 12,
        "edge": "plaid-identity-verification",
        "key": "security",
        "name": "Security \u0026 auth",
        "plaid-identity-verification": 61,
        "weight": 14
      },
      {
        "alloy": 0,
        "by": 15,
        "edge": "plaid-identity-verification",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "plaid-identity-verification": 15,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "alloy": 72,
        "by": 11,
        "edge": "plaid-identity-verification",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "plaid-identity-verification": 83,
        "weight": 7
      },
      {
        "alloy": 62,
        "by": 15,
        "edge": "plaid-identity-verification",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "plaid-identity-verification": 77,
        "weight": 7
      }
    ],
    "summary": "Plaid Identity Verification scores 67.1 (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.",
      "plaid-identity-verification": "Plaid Identity Verification has four typed endpoints in Plaid's public OpenAPI file, an idempotent create, a backend-only flow for data source checks and frequent changelog entries. Prices appear only after applying for Production, the secret has no scopes, and the rate-limit and error pages are disallowed to crawlers."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification",
    "json": "https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification.md",
    "slim": "https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification.min.md"
  },
  "markdown": "Plaid Identity Verification scores 67.1 (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- Plaid Identity Verification: grade B, 67.1/100, rank #278 of 1076. Markdown https://www.anchorterminal.com/tools/plaid-identity-verification.md · JSON https://www.anchorterminal.com/api/v1/tools/plaid-identity-verification.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### Plaid Identity Verification (B)\n\nGood for: US, Canadian and UK companies that want KYC with data source checks, documents and selfies, especially those already on Plaid or wanting Monitor screening in the same flow.\n\nAhead on:\n- Reliability, 68 against 59\n- Schema \u0026 documentation, 91 against 73\n- Agent ergonomics, 75 against 52\n- Security \u0026 auth, 61 against 49\n- Payments \u0026 pricing, 15 against 0\n- Maintenance \u0026 community, 83 against 72\n- Transparency \u0026 trust, 77 against 62\n\nWatch for: No public prices. Rates appear only after a Production application\n\n\n## Score by category\n\n| Category | Weight | Alloy | Plaid Identity Verification | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 59 | 68 | Plaid Identity Verification +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 91 | Plaid Identity Verification +18 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 75 | Plaid Identity Verification +23 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 61 | Plaid Identity Verification +12 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 15 | Plaid Identity Verification +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 83 | Plaid Identity Verification +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 77 | Plaid Identity Verification +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **52.4 · D** | **67.1 · B** | |\n\n## Facts side by side\n\n| Fact | Alloy | Plaid Identity Verification |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | First Mile Group, Inc. (Alloy) | Plaid Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Paid | Paid |\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 Plaid's developer policy and end-user terms. The OpenAPI file and client libraries are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-05 | 2026-10-13 |\n| Terms last updated | 2026-03-12 | 2025-12-01 |\n| Privacy policy last updated | no date given | 2025-12-01 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 21k npm/wk | 1.2M npm/wk, 656k PyPI/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**Plaid Identity Verification.** Plaid Identity Verification has four typed endpoints in Plaid's public OpenAPI file, an idempotent create, a backend-only flow for data source checks and frequent changelog entries. Prices appear only after applying for Production, the secret has no scopes, and the rate-limit and error pages are disallowed to crawlers.\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### Plaid Identity Verification\n\n1. Pass `is_idempotent: true` to /identity_verification/create so a retry returns the existing session\n2. Use the backend-only flow (data source template, `gave_consent: true`) when you already hold the user's details. Documents and selfies need the person in Link\n3. Wait for the STATUS_UPDATED webhook or poll /identity_verification/get. Link's onSuccess doesn't mean the user passed\n4. Don't issue retries casually. Each retry is a new session billed again\n5. Enable Sandbox for Identity Verification on the Dashboard Products page before the first call\n\n## Questions\n\n### Which is better for AI agents, Alloy or Plaid Identity Verification?\n\nPlaid Identity Verification scores 67.1 (B) on agent readiness against Alloy's 52.4 (D), and leads in every scored category.\n\n### Do Alloy and Plaid Identity Verification need an API key?\n\nAlloy takes an API key or an OAuth sign-in. Plaid Identity Verification needs an API key.\n\n### Can an agent call Alloy and Plaid Identity Verification without installing anything?\n\nNo hosted endpoint is listed for Alloy. No hosted endpoint is listed for Plaid Identity Verification.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification.json, and with the fewest tokens: https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"alloy\", \"b\": \"plaid-identity-verification\"}`. From a terminal: `anchor compare alloy plaid-identity-verification`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/alloy.json and https://www.anchorterminal.com/api/v1/tools/plaid-identity-verification.json\n\n## Other comparisons with Alloy or Plaid Identity Verification\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 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 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 Plaid Identity Verification](https://www.anchorterminal.com/compare/complycube-vs-plaid-identity-verification.md)\n- [Didit vs Plaid Identity Verification](https://www.anchorterminal.com/compare/didit-vs-plaid-identity-verification.md)\n- [Entrust Identity Verification (formerly Onfido) vs Plaid Identity Verification](https://www.anchorterminal.com/compare/entrust-identity-verification-vs-plaid-identity-verification.md)\n- [Jumio vs Plaid Identity Verification](https://www.anchorterminal.com/compare/jumio-vs-plaid-identity-verification.md)\n- [Middesk vs Plaid Identity Verification](https://www.anchorterminal.com/compare/middesk-vs-plaid-identity-verification.md)\n- [Persona vs Plaid Identity Verification](https://www.anchorterminal.com/compare/persona-vs-plaid-identity-verification.md)\n- [Plaid Identity Verification vs Shufti](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-shufti.md)\n- [Plaid Identity Verification vs Socure RiskOS](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-socure-riskos.md)\n- [Plaid Identity Verification vs Stripe Identity](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-stripe-identity.md)\n- [Plaid Identity Verification vs Sumsub](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-sumsub.md)\n- [Plaid Identity Verification vs Trulioo](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-trulioo.md)\n- [Plaid Identity Verification vs Veriff](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff.md)\n- [Plaid Identity Verification vs Vouched](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-vouched.md)\n- [Alloy vs ComplyAdvantage](https://www.anchorterminal.com/compare/alloy-vs-complyadvantage.md)\n- [ComplyAdvantage vs Plaid Identity Verification](https://www.anchorterminal.com/compare/complyadvantage-vs-plaid-identity-verification.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 Plaid Identity Verification",
        "url": ""
      }
    ],
    "description": "Plaid Identity Verification scores 67.1 (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",
      "Plaid Identity Verification B 67.1",
      "scores"
    ],
    "h1": "Alloy vs Plaid Identity Verification",
    "image": "https://www.anchorterminal.com/assets/og/compare-alloy-vs-plaid-identity-verification.png",
    "path": "/compare/alloy-vs-plaid-identity-verification",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Alloy vs Plaid Identity Verification for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification"
  },
  "tokens": {
    "markdown": 2700,
    "slim": 680
  },
  "version": 1
}
