Plaid logo
Docs
ALL DOCS

Identity

  • Introduction to Identity
  • Add Identity to your app
Plaid logo
Docs
Plaid.com
Get API keys
Open nav

Introduction to Identity

Verify users' account ownership and reduce fraud with the Identity product.

Explore API

API Reference

View Identity requests, responses, and example code

View Identity API

Quickstart

Learn about Plaid's key concepts and run starter code

Get started

Overview

Plaid's Identity product helps you verify users' identities by accessing information on file with their financial institution. Using Identity, you can access a user's phone number, email address, mailing address, and name. This can be used for prefilling account information, as well as for verifying with a trusted source that information they provided about themselves is correct. Fraud reduction and complementing of Know Your Customer (KYC) compliance are common applications for Identity. Identity can be used to verify both depository-type accounts, such as checking and savings accounts, and credit-type accounts, such as credit cards.

Identity coverage can be used to verify an account before initiating an ACH transaction. 97% of Items initialized with Auth provide Identity data as well.

Depending on your use case, you may want to verify the identity of all users, or only some. For example, you might want to verify the identity of any user initiating a funds transfer, or you might only verify users who you have identified as being higher risk, based on data such as email address, location, financial institution, or activity patterns.

Plaid Identity can also be used together with Plaid Identity Verification in a single workflow to provide full identity verification and fraud reduction. Identity Verification is used to verify that the user of your app is the person they claim to be, while Identity is used to confirm that the ownership information on their linked bank or credit card account matches this verified identity.

Sample Identity data

Identity data includes owners names, addresses, email address, and phone numbers. In the case of an Item containing accounts with multiple owners, all owners' information will be provided. For business accounts, the account owner’s name can be that of a business.

Copy
1"owners": [
2 {
3 "addresses": [
4 {
5 "data": {
6 "city": "Malakoff",
7 "country": "US",
8 "postal_code": "14236",
9 "region": "NY",
10 "street": "2992 Cameron Road"
11 },
12 "primary": true
13 }
14 ],
15 "emails": [
16 {
17 "data": "accountholder0@example.com",
18 "primary": true,
19 "type": "primary"
20 }
21 ],
22 "names": [
23 "Alberta Bobbeth Charleson"
24 ],
25 "phone_numbers": [
26 {
27 "data": "1112223333",
28 "primary": true,
29 "type": "home"
30 }
31 ]
32 }
33]
Typical identity fill rates by field
FieldTypical fill rate
Name>99%
Email address98%
Address93%
Phone number90%

Matching Identity data

The /identity/get endpoint provides you with several pieces of information. While email address, phone number, and address are usually available, only name is guaranteed to be available; other fields are nullable.

Name

Identity is guaranteed to return name data, making name matching a reliable way to verify identity. In some cases, slight differences can appear between data returned by Identity and data provided by legitimate users. For example, a user might omit their middle name in your application, or provide a shortened version of their legal name. There are several techniques you can implement to reduce the chance of these mismatches, including substring matching, string cleaning to remove data such as initials and suffixes, or applying a fuzzy matching algorithm, for which many open-source implementations are available.

Email address and phone number

Matching email addresses can be done straightforwardly. You can also match a phone number after transforming it to the same format as the phone number that you have obtained from your user.

Address

The easiest form of address matching is the matching of city names, regions, and postal codes, after ensuring that you have transformed these into the same format that you have obtained from your user (for example, making sure that any zip code is in a 5-digit format rather than a 9-digit format). Street addresses can be compared using the same techniques as described in the "Name" section to avoid any mismatches caused by slight inconsistencies.

Fallback methods

It is recommended to provide a manual backup option in case a user's identity cannot be automatically verified. This can include uploading ID documentation such as a drivers license or passport, or banking information such as a voided check or bank statement.

Testing Identity

Identity can be tested in Sandbox against test data without contacting Plaid. In order to test Identity against live Items in either Development or Production, you will need to first request access by submitting a product access request Support ticket explaining your use case.

Plaid provides a GitHub repo with test data for testing Identity in Sandbox, helping you test configuration options beyond those offered by the default Sandbox user. For more information on configuring custom Sandbox data, see Configuring the custom user account.

Sample app tutorial and code

For a real-life example of an app that incorporates Identity, see the Node-based Plaid Pattern Account Funding sample app. Pattern Account Funding is a sample account funding app that fetches Identity data in order verify identity prior to a funds transfer. The Identity code can be found in items.js.

For a tutorial walkthrough of creating a similar app, see Account funding tutorial.

Next steps

To get started building with Identity, see Add Identity to your App.

If you're ready to launch to Production, see the Launch checklist.

Launch checklist

Recommended steps to take before launching in Production

Launch
Was this helpful?
Developer community
GitHub
GitHub
Stack Overflow
Stack Overflow
YouTube
YouTube
Twitter
Twitter
Discord
Discord