# Plaid Identity Verification > 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. - Canonical: https://www.anchorterminal.com/tools/plaid-identity-verification - Markdown: https://www.anchorterminal.com/tools/plaid-identity-verification.md (~6,650 tokens) - Slim: https://www.anchorterminal.com/tools/plaid-identity-verification.min.md (~1,530 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/tools/plaid-identity-verification.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-14 ## Overview **Grade B · 67.1/100 · rank #278 of 1076 · #5 in Identity & business verification · not agent-ready · confidence medium** More from Plaid Inc., listed separately because each is its own product: [Plaid](https://www.anchorterminal.com/tools/plaid.md) (Bank data & open banking). ## Assessment 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. ## Facts | Field | Value | | --- | --- | | Vendor | Plaid Inc. (https://plaid.com/products/identity-verification/) | | Kind | HTTP API | | Category | Identity & business verification (https://www.anchorterminal.com/categories/identity-verification) | | Transport | HTTP | | Auth | API key · `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 (Paid) · 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). | | x402 | No · No x402, MPP or L402 in the Identity Verification docs, the API reference or the pricing page (checked 2026-10-14). | | Licence | Proprietary service under Plaid's developer policy and end-user terms. The OpenAPI file and client libraries are MIT | | Packages | npm: `plaid`; pypi: `plaid-python` | | Source | https://github.com/plaid/plaid-openapi | | Docs | https://plaid.com/docs/identity-verification/ | | llms.txt | https://plaid.com/llms.txt | | Last release | 2026-10-13 | | npm downloads / week | 1,238,045 | | PyPI downloads / week | 656,200 | | Surface graded | Identity Verification endpoints of the Plaid API. Plaid's bank data products are listed as plaid | | Endpoints | /identity_verification/create, /get, /list and /retry, plus /identity_verification/autofill/create. Monitor screening under /watchlist_screening/individual and /entity | | Checks | SMS, data source verification (name, address, date of birth, phone, ID number), document check with optional AAMVA (beta, US), selfie with liveness and age estimation, risk check, Trust Index score (US), AML screening through Monitor | | Flows | Plaid Link (web and mobile SDKs), Plaid-hosted verification links, backend-only data source flow | | Credentials | `client_id` and `secret` per environment in the request body. No scopes | | Retries | `is_idempotent` on create. /identity_verification/retry makes a new session id, billed again | | Webhooks | STATUS_UPDATED, STEP_UPDATED and RETRIED | | Retention | Kept while the contract is active. A rolling redaction period is set on request through support | | Eligibility | Integrating company based in the US, Canada or the UK. End users in nearly 190 countries | | Sandbox | Enabled self-serve from the Dashboard, with sample identities and reserved test names | | Status | status.plaid.com on Statuspage, API Production and Sandbox components, no separate Identity Verification component | | 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 | | JSON | https://www.anchorterminal.com/api/v1/tools/plaid-identity-verification.json | ## Score breakdown (methodology v0.4, October 2026 research run) Assessed 2026-10-14 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. "This run" is each category's share of the 100 points. | Category | Weight | This run | Score (0–100) | Points | | --- | --- | --- | --- | --- | | Reliability | 16% | 20 | 68 | 13.6 | | Performance | 10% | pending | pending | n/a | | Schema & documentation | 13% | 16.2 | 91 | 14.8 | | Agent ergonomics | 13% | 16.2 | 75 | 12.2 | | Security & auth | 14% | 17.5 | 61 | 10.7 | | Payments & pricing | 10% | 12.5 | 15 | 1.9 | | Task success | 10% | pending | pending | n/a | | Maintenance & community | 7% | 8.8 | 83 | 7.3 | | Transparency & trust (editorial 57, provenance 97) | 7% | 8.8 | 77 | 6.7 | | Negative events | up to −15 | up to −15 | none recorded | 0 | | **Total** | | | | **67.1 → B** | ### Why each score - Reliability 68: Read with the hosted lines. status.plaid.com is a Statuspage with API Production and Sandbox components and per-bank components, and no component of its own for Identity Verification (20). Between 16 July and 14 October 2026 one incident names Identity Verification, the Python SDK (v33.0.0 and later) degraded when retrieving results on 1 August for 82 minutes, marked minor. Plaid's own API had elevated errors on 24 August, also minor. The majors in that window are single banks and the Dashboard, which this product doesn't depend on (20). Rate limits are on plaid.com/docs/errors/rate-limit-exceeded, a path Plaid's robots.txt disallows, so we didn't read it. The plaid listing's 30 September check found limits published per endpoint, and whether Identity Verification endpoints are among them is unconfirmed (10 of 15). A 429 returns RATE_LIMIT_EXCEEDED with no Retry-After per the plaid listing, and `/identity_verification/create` takes `is_idempotent: true`, which returns the existing session instead of creating a second (8 of 15). No SLA found (0). The product is generally available, with the AAMVA check in beta (10). - Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes. - Schema & documentation 91: Plaid's public OpenAPI file (plaid/plaid-openapi, version 2020-09-14_1.762.0) has the four `/identity_verification` operations and the `/watchlist_screening` operations for Monitor (25). llms.txt and a Markdown twin of each docs page (10). Field descriptions say how to use them, for example that the DOB check runs synchronously and shouldn't be polled, and the guides explain the backend-only flow and when to use documents as a fallback (16 of 20). Typed request and response objects with enums for status and check results (13 of 15). curl examples on every endpoint. The error pages sit under /docs/errors/, which robots.txt disallows, so we read error handling only from the reference (12 of 15). Dated API version and a changelog with Identity Verification entries (15). - Agent ergonomics 75: Four endpoints. Responses are large, with every check's result in one object and no field selection (12 of 25). `/identity_verification/list` takes a cursor and filters by `client_user_id` and `template_id`, both required (15 of 20). Errors carry `error_type`, `error_code`, `request_id`, `display_message` and a documentation URL (20). Create takes `is_idempotent`, so a retry returns the existing session, and reads are safe to repeat. Retries are billed as new sessions (16 of 20). Official SDKs in several languages. Most checks need the end user in Plaid Link, while the backend-only flow runs data source checks with no UI (12 of 15). - Security & auth 61: `client_id` and `secret` in the JSON body, separate secrets per environment, rotatable from the Dashboard. No scopes on the secret (20 of 30). One secret reaches every Plaid product the team has, with no read-only key. Redaction of personal data runs on a custom schedule set by Plaid support, not by API (8 of 20). Responses carry user-entered and document data, with no injection guidance (5 of 15). Dashboard request logs for 14 days and Dashboard audit logs since August 2025 (13 of 15). security.txt valid until 31 December 2026 with a HackerOne programme. No SOC 2 or ISO 27001 statement on the pages read (15 of 20). - Payments & pricing 15: No x402, MPP or L402 (0). The pricing page lists Identity Verification under Pay as you go, Growth and Custom with no prices, and the docs say exact pricing appears after applying for Production. The fee model (a base Anti-Fraud Engine fee plus data source, document and selfie fees) has no numbers (0). Sandbox access for Identity Verification became self-serve on 12 August 2026 from the Dashboard Products page, with no card per the plaid listing (15 of 20). A person signs up in a browser, and Production needs a product access request (0). - Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored. - Maintenance & community 83: The changelog's latest Identity Verification entry is 13 October 2026 (SSA match result in `kyc_check`) (30). Six Identity Verification entries since 9 July, on 9 July, 17 July, 12 August, 3 September, 24 September and 13 October (20). A closed service with a dated changelog and Dashboard support (12 of 15). plaid-node 48.0.0 on 6 October 2026, regenerated from the OpenAPI file (15). plaid-node has no test workflow in its repository per the plaid listing (6 of 10). - Transparency & trust 77: Closed service under Plaid's published developer policy and end-user terms. SDKs are MIT (15 of 30). The docs say Identity Verification keeps session data while the contract is active, allows a rolling redaction period on request and ends Dashboard and API access when the contract ends, so data must be exported first. No retention period is stated by default (18 of 30). Dated deprecations in the changelog (16 of 20). Data from the UK and EEA goes to the US per the plaid listing. No named sub-processor list found (8 of 20). Fix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (12 items): https://www.anchorterminal.com/fixes/plaid-identity-verification.md (JSON https://www.anchorterminal.com/fixes/plaid-identity-verification.json) ### What we couldn't check - unchecked: plaid.com/docs/errors/rate-limit-exceeded and the other /docs/errors/ pages, which robots.txt disallows for all crawlers. Rate limits and error codes for Identity Verification endpoints come from the plaid listing's 30 September check and the API reference only. Under the brief this may mean the listing should be held - Whether the Sandbox sign-up asks for a card. Per the plaid listing it doesn't - Watchlist screening runs through Monitor, sold as a separate product. Capability kyc.screening is listed because an Identity Verification template can include a Monitor screening step - Plaid's Dashboard MCP server covers Production diagnostics and analytics. No Identity Verification tools were confirmed and we didn't call it ### Sources - Identity Verification introduction, retention and pricing model: (seen 2026-10-14) - Identity Verification API reference: (seen 2026-10-14) - testing in Sandbox: (seen 2026-10-14) - webhooks: (seen 2026-10-14) - Monitor introduction: (seen 2026-10-14) - billing and fee models: (seen 2026-10-14) - changelog: (seen 2026-10-14) - Dashboard MCP server: (seen 2026-10-14) - docs index for agents: (seen 2026-10-14) - robots.txt: (seen 2026-10-14) - pricing page: (seen 2026-10-14) - OpenAPI file: (seen 2026-10-14) - status incidents (JSON): (seen 2026-10-14) - security.txt: (seen 2026-10-14) - npm plaid: (seen 2026-10-14) ## Who's behind it (provenance 97/100, checked 2026-10-14) | Check | Finding | Points | | --- | --- | --- | | Legal entity named | Plaid Inc. | 20/20 | | Domain age | plaid.com, registered 1995-08-16 (31 years) | 15/15 | | Endpoint on the vendor's domain | plaid.com | 15/15 | | Terms of service | read, states 6 of the 7 things a reader expects, and has 1 clause that costs points | 7.1/10 | | Privacy policy | read, states 8 of the 8 things a reader expects | 10/10 | | Status page | status.plaid.com | 10/10 | | Changelog | published | 10/10 | | security.txt | valid | 10/10 | 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. ### Terms and privacy, as read A reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice. **Terms of service** (https://plaid.com/legal/#developer-policy), read 2026-10-08, dated 2025-12-01, states 6 of the 7 things a reader expects. - To know. Restricts benchmarking or competitive use (costs points). "…any of Plaid’s proprietary notices, (e) access the Platform for competitive purposes or publish any benchmark or performance information about the Platform, or (f) use the Platform in any manner that could damage, disable, overburden, or impair the functioning of the Platform or interfere with, disrupt or negatively a…" - To know. Says access can be ended without notice or for any reason. "We can terminate your Account at any time if we give you two months' notice and transfer any Available Balance at the time to your nominated bank account without a charge." - Gives the date it was last updated. Last updated 2025-12-01. - Names the governing law or courts. The law of Netherlands. - States a limit on its liability. Capped at €50. - Says how changes to the terms are announced. Says it gives notice of a change. - Not found in the text. Refers to a service level or uptime commitment. **Privacy policy** (https://plaid.com/legal/#privacy-statement), read 2026-10-08, dated 2025-12-01, states 8 of the 8 things a reader expects. - To know. Says it sells personal data or shares it for advertising. "Please note that while we do not sell your personal information we may share it with third parties for advertising purposes using “cookies,” as described in our cookie policy." - Gives the date it was last updated. Last updated 2025-12-01. - Says how long data is kept. Names a period of three years. - Says whether personal data is sold or shared for advertising. Says it does not sell personal data. - Gives a privacy contact. legalnotices@plaid.com. - Says where data is transferred or stored. Relies on the Data Privacy Framework. - Also in the text (2026-10-08). Personal information given to Plaid's chatbot may be shared with the third-party company that powers the chatbot. "Plaid uses chatbots that are powered by third-party service providers, please be aware that if you provide personal information to our chatbot, your information may be shared with the third-party service provider for the purposes of powering the chatbot." - Also in the text (2026-10-08). Plaid says it collects, uses and shares aggregated and de-identified information for any purpose the law permits. "We also collect, use, and share information that has been aggregated and de-identified in a way so it cannot be used to identify you, for any purpose permitted under applicable law." ## Live (updated 2026-10-14 09:39 UTC) - Vendor status page: none, All Systems Operational - Always current: https://www.anchorterminal.com/api/v1/live/plaid-identity-verification.json ## Probe metrics Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score. ## 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 ## Before you call it (notes for agents) 1. Pass `is_idempotent: true` to /identity_verification/create so a retry returns the existing session 2. 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 3. Wait for the STATUS_UPDATED webhook or poll /identity_verification/get. Link's onSuccess doesn't mean the user passed 4. Don't issue retries casually. Each retry is a new session billed again 5. Enable Sandbox for Identity Verification on the Dashboard Products page before the first call ## Connect First request: ```bash curl -X POST https://sandbox.plaid.com/identity_verification/create \ -H 'Content-Type: application/json' \ -d '{ "client_user_id": "user-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d", "client_id": "${PLAID_CLIENT_ID}", "secret": "${PLAID_SECRET}", "is_shareable": true, "template_id": "idvtmp_52xR9LKo77r1Np", "gave_consent": true }' ``` Through letme (picks today, calling later): https://letme.dev/plaid-identity-verification. letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md ## Similar tools Ranked by shared capabilities, then score. Same-category tools with no shared capability key are listed last. | Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown | | --- | --- | --- | --- | --- | --- | --- | | Didit | BB | 75 | 63 | kyc.identity, kyc.documents, kyc.screening | no | https://www.anchorterminal.com/tools/didit.md | | Persona | B | 69.5 | 192 | kyc.identity, kyc.documents, kyc.screening | no | https://www.anchorterminal.com/tools/persona.md | | Sumsub | B | 68.5 | 220 | kyc.identity, kyc.documents, kyc.screening | no | https://www.anchorterminal.com/tools/sumsub.md | | ComplyCube | B | 63.7 | 403 | kyc.identity, kyc.documents, kyc.screening | no | https://www.anchorterminal.com/tools/complycube.md | | Socure RiskOS | B | 63.5 | 417 | kyc.identity, kyc.documents, kyc.screening | no | https://www.anchorterminal.com/tools/socure-riskos.md | | Entrust Identity Verification (formerly Onfido) | B | 62.1 | 472 | kyc.identity, kyc.documents, kyc.screening | no | https://www.anchorterminal.com/tools/entrust-identity-verification.md | ## Panel reviews (0) Reviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): . Desk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md ## Notable - Separate from Plaid's bank data products, listed as plaid. Identity Verification has its own endpoints, templates and fee model (source: ) - A backend-only flow runs data source checks with user data and consent and no Link session (source: ) - `is_idempotent: true` on /identity_verification/create returns an existing session for the same user and template (source: ) - Self-serve Sandbox access for Identity Verification was added on 12 August 2026 (source: ) - Session data is kept while the contract is active, and access to past sessions ends with the contract (source: ) - Plaid's robots.txt disallows /errors/*, which holds the rate-limit and error pages (source: ) - #5 of 16 in Best identity and business verification APIs for AI agents: https://www.anchorterminal.com/best/identity-verification/index.md - All 119 verification comparisons: https://www.anchorterminal.com/compare/identity-verification/index.md ## Compare - [Alloy vs Plaid Identity Verification](https://www.anchorterminal.com/compare/alloy-vs-plaid-identity-verification.md): D 52.4 vs B 67.1 - [ComplyCube vs Plaid Identity Verification](https://www.anchorterminal.com/compare/complycube-vs-plaid-identity-verification.md): B 63.7 vs B 67.1 - [Didit vs Plaid Identity Verification](https://www.anchorterminal.com/compare/didit-vs-plaid-identity-verification.md): BB 75 vs B 67.1 - [Entrust Identity Verification (formerly Onfido) vs Plaid Identity Verification](https://www.anchorterminal.com/compare/entrust-identity-verification-vs-plaid-identity-verification.md): B 62.1 vs B 67.1 - [Jumio vs Plaid Identity Verification](https://www.anchorterminal.com/compare/jumio-vs-plaid-identity-verification.md): C 55 vs B 67.1 - [Middesk vs Plaid Identity Verification](https://www.anchorterminal.com/compare/middesk-vs-plaid-identity-verification.md): C 59 vs B 67.1 - [Persona vs Plaid Identity Verification](https://www.anchorterminal.com/compare/persona-vs-plaid-identity-verification.md): B 69.5 vs B 67.1 - [Plaid Identity Verification vs Shufti](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-shufti.md): B 67.1 vs C 57.8 - [Plaid Identity Verification vs Socure RiskOS](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-socure-riskos.md): B 67.1 vs B 63.5 - [Plaid Identity Verification vs Stripe Identity](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-stripe-identity.md): B 67.1 vs BB 77.7 - [Plaid Identity Verification vs Sumsub](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-sumsub.md): B 67.1 vs B 68.5 - [Plaid Identity Verification vs Trulioo](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-trulioo.md): B 67.1 vs C 58.2 - [Plaid Identity Verification vs Veriff](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-veriff.md): B 67.1 vs C 61.1 - [Plaid Identity Verification vs Vouched](https://www.anchorterminal.com/compare/plaid-identity-verification-vs-vouched.md): B 67.1 vs C 56.4 - [ComplyAdvantage vs Plaid Identity Verification](https://www.anchorterminal.com/compare/complyadvantage-vs-plaid-identity-verification.md): D 52.6 vs B 67.1 ## Verify this listing For the vendor. The badge or a plain link to this page verifies the listing, from a page on plaid.com or one of its subdomains, or the README of github.com/plaid/plaid-openapi. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{"slug": "plaid-identity-verification", "url": "…"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify HTML badge: ```html Plaid Identity Verification on Anchor Terminal ``` Markdown badge, for a README: ```markdown [![Plaid Identity Verification on Anchor Terminal](https://www.anchorterminal.com/badges/plaid-identity-verification.svg)](https://www.anchorterminal.com/tools/plaid-identity-verification) ``` Plain link: ```html Plaid Identity Verification on Anchor Terminal ``` ## Share this listing For the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Plaid Identity Verification is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score. - Dark: https://www.anchorterminal.com/assets/share/plaid-identity-verification-dark.png - Light: https://www.anchorterminal.com/assets/share/plaid-identity-verification-light.png - Create a video and download its frames: https://www.anchorterminal.com/assets/listing-video/index.html?listing=plaid-identity-verification