{
  "data": {
    "a": {
      "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"
      }
    },
    "answer": "Plaid Identity Verification scores 67.1 (B) on agent readiness against Veriff's 61.1 (C), and leads in 5 of 7 scored categories. Veriff leads on payments \u0026 pricing.",
    "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:53:44.069758275Z"
        },
        "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:53:44.069758275Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Plaid Inc.",
        "b": "Veriff OÜ",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Plaid's developer policy and end-user terms. The OpenAPI file and client libraries are 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-13",
        "b": "2026-10-02",
        "name": "Last release"
      },
      {
        "a": "2025-12-01",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2025-12-01",
        "b": "2026-04-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "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": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1.2M npm/wk, 656k PyPI/wk",
        "b": "32 stars, 110k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Plaid Identity Verification scores 67.1 (B) on agent readiness against Veriff's 61.1 (C), and leads in 5 of 7 scored categories. Veriff leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Plaid Identity Verification or Veriff?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Plaid Identity Verification and Veriff need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Plaid Identity Verification. No hosted endpoint is listed for Veriff.",
        "question": "Can an agent call Plaid Identity Verification and Veriff without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 68 against 62",
          "Schema \u0026 documentation, 91 against 82",
          "Agent ergonomics, 75 against 43",
          "Maintenance \u0026 community, 83 against 74",
          "Transparency \u0026 trust, 77 against 67"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 15"
        ],
        "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-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-veriff.json",
        "title": "Alloy vs Veriff",
        "url": "https://www.anchorterminal.com/compare/alloy-vs-veriff"
      },
      {
        "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/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-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/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-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/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-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/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-plaid-identity-verification.json",
        "title": "Middesk vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-plaid-identity-verification"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-veriff.json",
        "title": "Middesk vs Veriff",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/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-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-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/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/complyadvantage-vs-plaid-identity-verification.json",
        "title": "ComplyAdvantage vs Plaid Identity Verification",
        "url": "https://www.anchorterminal.com/compare/complyadvantage-vs-plaid-identity-verification"
      },
      {
        "json": "https://www.anchorterminal.com/compare/complyadvantage-vs-veriff.json",
        "title": "ComplyAdvantage vs Veriff",
        "url": "https://www.anchorterminal.com/compare/complyadvantage-vs-veriff"
      }
    ],
    "scores": [
      {
        "by": 6,
        "edge": "plaid-identity-verification",
        "key": "reliability",
        "name": "Reliability",
        "plaid-identity-verification": 68,
        "veriff": 62,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "plaid-identity-verification",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "plaid-identity-verification": 91,
        "veriff": 82,
        "weight": 13
      },
      {
        "by": 32,
        "edge": "plaid-identity-verification",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "plaid-identity-verification": 75,
        "veriff": 43,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "veriff",
        "key": "security",
        "name": "Security \u0026 auth",
        "plaid-identity-verification": 61,
        "veriff": 63,
        "weight": 14
      },
      {
        "by": 25,
        "edge": "veriff",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "plaid-identity-verification": 15,
        "veriff": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "plaid-identity-verification",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "plaid-identity-verification": 83,
        "veriff": 74,
        "weight": 7
      },
      {
        "by": 10,
        "edge": "plaid-identity-verification",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "plaid-identity-verification": 77,
        "veriff": 67,
        "weight": 7
      }
    ],
    "summary": "Plaid Identity Verification scores 67.1 (B) on agent readiness against Veriff's 61.1 (C), and leads in 5 of 7 scored categories. Veriff leads on payments \u0026 pricing. Both do identity verification.",
    "verdicts": {
      "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.",
      "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/plaid-identity-verification-vs-veriff",
    "json": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff.md",
    "slim": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff.min.md"
  },
  "markdown": "Plaid Identity Verification scores 67.1 (B) on agent readiness against Veriff's 61.1 (C), and leads in 5 of 7 scored categories. Veriff leads on payments \u0026 pricing. Both do identity verification.\n\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- 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### 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 62\n- Schema \u0026 documentation, 91 against 82\n- Agent ergonomics, 75 against 43\n- Maintenance \u0026 community, 83 against 74\n- Transparency \u0026 trust, 77 against 67\n\nWatch for: No public prices. Rates appear only after a Production application\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- Payments \u0026 pricing, 40 against 15\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 | Plaid Identity Verification | Veriff | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 62 | Plaid Identity Verification +6 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 91 | 82 | Plaid Identity Verification +9 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 43 | Plaid Identity Verification +32 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 63 | Veriff +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 40 | Veriff +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 74 | Plaid Identity Verification +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 67 | Plaid Identity Verification +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.1 · B** | **61.1 · C** | |\n\n## Facts side by side\n\n| Fact | Plaid Identity Verification | Veriff |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Plaid Inc. | Veriff OÜ |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under Plaid's developer policy and end-user terms. The OpenAPI file and client libraries are 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-13 | 2026-10-02 |\n| Terms last updated | 2025-12-01 | couldn't be read |\n| Privacy policy last updated | 2025-12-01 | 2026-04-16 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | yes | 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 | not found in the text | couldn't be read |\n| Popularity | 1.2M npm/wk, 656k PyPI/wk | 32 stars, 110k npm/wk |\n\n## Verdicts\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**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### 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### 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, Plaid Identity Verification or Veriff?\n\nPlaid Identity Verification scores 67.1 (B) on agent readiness against Veriff's 61.1 (C), and leads in 5 of 7 scored categories. Veriff leads on payments \u0026 pricing.\n\n### Do Plaid Identity Verification and Veriff need an API key?\n\nBoth need an API key.\n\n### Can an agent call Plaid Identity Verification and Veriff without installing anything?\n\nNo hosted endpoint is listed for Plaid Identity Verification. No hosted endpoint is listed for Veriff.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff.json, and with the fewest tokens: https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"plaid-identity-verification\", \"b\": \"veriff\"}`. From a terminal: `anchor compare plaid-identity-verification veriff`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/plaid-identity-verification.json and https://www.anchorterminal.com/api/v1/tools/veriff.json\n\n## Other comparisons with Plaid Identity Verification or Veriff\n\n- [Alloy vs Plaid Identity Verification](https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification.md)\n- [Alloy vs Veriff](https://www.anchorterminal.com/compare/alloy-vs-veriff.md)\n- [ComplyCube vs Plaid Identity Verification](https://www.anchorterminal.com/compare/complycube-vs-plaid-identity-verification.md)\n- [ComplyCube vs Veriff](https://www.anchorterminal.com/compare/complycube-vs-veriff.md)\n- [Didit vs Plaid Identity Verification](https://www.anchorterminal.com/compare/didit-vs-plaid-identity-verification.md)\n- [Didit vs Veriff](https://www.anchorterminal.com/compare/didit-vs-veriff.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- [Entrust Identity Verification (formerly Onfido) vs Veriff](https://www.anchorterminal.com/compare/entrust-identity-verification-vs-veriff.md)\n- [Jumio vs Plaid Identity Verification](https://www.anchorterminal.com/compare/jumio-vs-plaid-identity-verification.md)\n- [Jumio vs Veriff](https://www.anchorterminal.com/compare/jumio-vs-veriff.md)\n- [Middesk vs Plaid Identity Verification](https://www.anchorterminal.com/compare/middesk-vs-plaid-identity-verification.md)\n- [Middesk vs Veriff](https://www.anchorterminal.com/compare/middesk-vs-veriff.md)\n- [Persona vs Plaid Identity Verification](https://www.anchorterminal.com/compare/persona-vs-plaid-identity-verification.md)\n- [Persona vs Veriff](https://www.anchorterminal.com/compare/persona-vs-veriff.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 Vouched](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-vouched.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- [ComplyAdvantage vs Plaid Identity Verification](https://www.anchorterminal.com/compare/complyadvantage-vs-plaid-identity-verification.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": "Plaid Identity Verification vs Veriff",
        "url": ""
      }
    ],
    "description": "Plaid Identity Verification scores 67.1 (B) to Veriff's 61.1 (C) for identity verification. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Plaid Identity Verification B 67.1",
      "Veriff C 61.1",
      "scores"
    ],
    "h1": "Plaid Identity Verification vs Veriff",
    "image": "https://www.anchorterminal.com/assets/og/compare-plaid-identity-verification-vs-veriff.png",
    "path": "/compare/plaid-identity-verification-vs-veriff",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Plaid Identity Verification vs Veriff for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff"
  },
  "tokens": {
    "markdown": 2700,
    "slim": 730
  },
  "version": 1
}
