Product Features
Comprehensive product suite
Comprehensive product suite

Choose from one of three methods to securely verify income and employment: payroll, bank, or document uploaded data.

Robust data pulls
Robust data pulls

Get direct access to structured, easy-to-process, and comprehensive identity, employer, and gross and net income data.

Complete consumer coverage
Complete consumer coverage

Cover ~85% of the US workforce via payroll providers, connect with 12,000+ data partners, and get document coverage for pay stubs, W2, and 1099s.

Improve your decisioning process with Plaid’s flexible solutions

Plaid Income’s fully-configurable flow adapts to your data underwriting needs. Configure the solution that’s right for you by combining our three Income products and adding them to any point of your user flow:

  • Bank Income
  • Payroll Income
  • Document Income

Get the right data at the right time–every time.

Make a bank Income request

This request includes the user token (token corresponding to the user) and the count of bank income reports being fetched for the particular user. Use the Bank Income endpoint to submit a POST request.

Identity

User identity information including name, email, mailing address, and phone number

Income Category

Income categories across salary, gig economy, unemployment, rental, and more

Income Frequency

Income frequency across weekly, bi-weekly, semi-monthly, monthly, and other

Total Amount

Total amount and monthly summary of bank income by source and by user

Income summary transactions

Income summary transactions

Retrieve Bank Income (/credit/bank_income/get)

curl -X POST https://sandbox.plaid.com/credit/bank_income/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "CLIENT_ID",
  "secret": "CLIENT_SECRET",
  "user_token": "USER_TOKEN",
  "options": {
    "count": 1
  }
}'

Run

Make a bank Income request

This request includes the user token (token corresponding to the user) and the count of bank income reports being fetched for the particular user. Use the Bank Income endpoint to submit a POST request.

Retrieve Bank Income (/credit/bank_income/get)

curl -X POST https://sandbox.plaid.com/credit/bank_income/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "CLIENT_ID",
  "secret": "CLIENT_SECRET",
  "user_token": "USER_TOKEN",
  "options": {
    "count": 1
  }
}'

Bank Income data

The request includes the user token (token corresponding to the user) and the count of bank income reports being fetched for the particular user. Use the Bank Income endpoint to submit a POST request.

Bank Income Response

{
  "request_id": "LhQf0THi8SH1yJm",
  "bank_income": [
    {
      "bank_income_id": "abc123",
      "generated_time": "2022-01-31T22:47:53Z",
      "days_requested": 90,
      "items": [
        {
          "last_updated_time": "2022-01-31T22:47:53Z",
          "institution_id": "ins_0",
          "institution_name": "Plaid Bank",
          "item_id": "“eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6”",
          "bank_income_accounts": [
            {
              "account_id": "“GeooLPBGDEunl54q7N3ZcyD5aLPLEai1nkzM9”",
              "mask": "8888",
              "name": "Plaid Checking Account",
              "official_name": "Plaid Checking Account",
              "type": "depository",
              "subtype": "checking",
              "owners": [
                {
                  "addresses": [
                    {
                      "data": {
                        "city": "Malakoff",
                        "country": "US",
                        "postal_code": "14236",
                        "region": "NY",
                        "street": "2992 Cameron Road"
                      },
                      "primary": true
                    },
                    {
                      "data": {
                        "city": "San Matias",
                        "country": "US",
                        "postal_code": "93405-2255",
                        "region": "CA",
                        "street": "2493 Leisure Lane"
                      },
                      "primary": false
                    }
                  ],
                  "emails": [
                    {
                      "data": "accountholder0@example.com",
                      "primary": true,
                      "type": "primary"
                    },
                    {
                      "data": "accountholder1@example.com",
                      "primary": false,
                      "type": "secondary"
                    },
                    {
                      "data": "extraordinarily.long.email.username.123456@reallylonghostname.com",
                      "primary": false,
                      "type": "other"
                    }
                  ],
                  "names": [
                    "Alberta Bobbeth Charleson"
                  ],
                  "phone_numbers": [
                    {
                      "data": "1112223333",
                      "primary": false,
                      "type": "home"
                    },
                    {
                      "data": "1112224444",
                      "primary": false,
                      "type": "work"
                    },
                    {
                      "data": "1112225555",
                      "primary": false,
                      "type": "mobile1"
                    }
                  ]
                }
              ]
            }
          ],
          "bank_income_sources": [
            {
              "account_id": "GeooLPBGDEunl54q7N3ZcyD5aLPLEai1nkzM9",
              "income_source_id": "“f17efbdd-caab-4278-8ece-963511cd3d51”",
              "income_description": "“PLAID_INC_DIRECT_DEP_PPD”",
              "income_category": "SALARY",
              "start_date": "2021-11-15",
              "end_date": "2022-01-15",
              "pay_frequency": "MONTHLY",
              "total_amount": 300,
              "transaction_count": 1,
              "historical_summary": [
                {
                  "start_date": "2021-11-02",
                  "end_date": "2021-11-30",
                  "total_amount": 100,
                  "iso_currency_code": "USD",
                  "unofficial_currency_code": null,
                  "transactions": [
                    {
                      "amount": -100,
                      "date": "2021-11-15",
                      "name": "“PLAID_INC_DIRECT_DEP_PPD”",
                      "original_description": "PLAID_INC_DIRECT_DEP_PPD 123",
                      "pending": false,
                      "transaction_id": "6RddrWNwE1uM63Ex5GKLhzlBl76aAZfgzlQNm",
                      "check_number": null,
                      "iso_currency_code": "USD",
                      "unofficial_currency_code": null
                    }
                  ]
                },
                {
                  "start_date": "2021-12-01",
                  "end_date": "2021-12-31",
                  "total_amount": 100,
                  "iso_currency_code": "USD",
                  "unofficial_currency_code": null,
                  "transactions": [
                    {
                      "amount": -100,
                      "date": "2021-12-15",
                      "name": "“PLAID_INC_DIRECT_DEP_PPD”",
                      "original_description": "PLAID_INC_DIRECT_DEP_PPD 123",
                      "pending": false,
                      "transaction_id": "7BddrWNwE1uM63Ex5GKLhzlBl82aAZfgzlCBl",
                      "check_number": null,
                      "iso_currency_code": "USD",
                      "unofficial_currency_code": null
                    }
                  ]
                },
                {
                  "start_date": "2022-01-01",
                  "end_date": "2021-01-31",
                  "total_amount": 100,
                  "iso_currency_code": "USD",
                  "unofficial_currency_code": null,
                  "transactions": [
                    {
                      "amount": -100,
                      "date": "2022-01-31",
                      "name": "“PLAID_INC_DIRECT_DEP_PPD”",
                      "original_description": "PLAID_INC_DIRECT_DEP_PPD 123",
                      "pending": false,
                      "transaction_id": "9FddrWNwE1uM95Ex5GKLhzlBl76aAZfgzlNQr",
                      "check_number": null,
                      "iso_currency_code": "USD",
                      "unofficial_currency_code": null
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "bank_income_summary": {
        "total_amount": 300,
        "iso_currency_code": "USD",
        "unofficial_currency_code": null,
        "start_date": "2021-11-15",
        "end_date": "2022-01-15",
        "income_sources_count": 1,
        "income_categories_count": 1,
        "income_transactions_count": 1,
        "historical_summary": [
          {
            "start_date": "2021-11-02",
            "end_date": "2021-11-30",
            "total_amount": 100,
            "iso_currency_code": "USD",
            "unofficial_currency_code": null,
            "transactions": [
              {
                "amount": -100,
                "date": "2021-11-15",
                "name": "“PLAID_INC_DIRECT_DEP_PPD”",
                "original_description": "PLAID_INC_DIRECT_DEP_PPD 123",
                "pending": false,
                "transaction_id": "6RddrWNwE1uM63Ex5GKLhzlBl76aAZfgzlQNm",
                "check_number": null,
                "iso_currency_code": "USD",
                "unofficial_currency_code": null
              }
            ]
          },
          {
            "start_date": "2021-12-01",
            "end_date": "2021-12-31",
            "total_amount": 100,
            "iso_currency_code": "USD",
            "unofficial_currency_code": null,
            "transactions": [
              {
                "amount": -100,
                "date": "2021-12-15",
                "name": "“PLAID_INC_DIRECT_DEP_PPD”",
                "original_description": "PLAID_INC_DIRECT_DEP_PPD 123",
                "pending": false,
                "transaction_id": "7BddrWNwE1uM63Ex5GKLhzlBl82aAZfgzlCBl",
                "check_number": null,
                "iso_currency_code": "USD",
                "unofficial_currency_code": null
              }
            ]
          },
          {
            "start_date": "2022-01-01",
            "end_date": "2021-01-31",
            "total_amount": 100,
            "iso_currency_code": "USD",
            "unofficial_currency_code": null,
            "transactions": [
              {
                "amount": -100,
                "date": "2022-01-31",
                "name": "“PLAID_INC_DIRECT_DEP_PPD”",
                "original_description": "PLAID_INC_DIRECT_DEP_PPD 123",
                "pending": false,
                "transaction_id": "9FddrWNwE1uM95Ex5GKLhzlBl76aAZfgzlNQr",
                "check_number": null,
                "iso_currency_code": "USD",
                "unofficial_currency_code": null
              }
            ]
          }
        ]
      },
      "warnings": []
    }
  ]
}

Identity

User identity information including name, email, mailing address, and phone number

Income Category

Income categories across salary, gig economy, unemployment, rental, and more

Income Frequency

Income frequency across weekly, bi-weekly, semi-monthly, monthly, and other

Total Amount

Total amount and monthly summary of bank income by source and by user

Income summary transactions

Income summary transactions

Make a payroll and document Income request

This request includes the user token (token corresponding to the user) to fetch the latest payroll or document income information for the particular user. Use the Payroll Income endpoint to submit a POST request.

Deductions

Total deductions per pay period and breakdown of deductions (taxes)

Earnings

Total earnings per pay period and breakdown of income sources (Regular Pay, Bonus)

Employer and Employee Data

Name and contact information of the employee and employer

Pay Period Information

Pay period start and end dates, pay dates, and frequency

W2 information (if available)

Key line items on IRS form W2

Retrieve Payroll or Document Income (/credit/payroll_income/get)

curl -X POST https://sandbox.plaid.com/credit/payroll_income/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": string,
  "secret": string,
  "user_token": string
}'

Run

Make a payroll and document Income request

This request includes the user token (token corresponding to the user) to fetch the latest payroll or document income information for the particular user. Use the Payroll Income endpoint to submit a POST request.

Retrieve Payroll or Document Income (/credit/payroll_income/get)

curl -X POST https://sandbox.plaid.com/credit/payroll_income/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": string,
  "secret": string,
  "user_token": string
}'

Payroll and document Income data

The request includes the user token (token corresponding to the user) to fetch the latest payroll or document income information for the particular user. Use the Payroll Income endpoint to submit a POST request.

Payroll Income Response

{
  "payroll_income_id": "bz666MBjYWTp2PDzzggYhM6oWWmBe",
  "items": [
    {
      "item_id": "eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6",
      "payroll_income": [
        {
          "account_id": "GeooLPBGDEunl54q7N3ZcyD5aLPLEai1nkzM9",
          "pay_stubs": [
            {
              "deductions": {
                "breakdown": [
                  {
                    "current_amount": 123.45,
                    "description": "taxes",
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null,
                    "ytd_amount": 246.9
                  }
                ],
                "total": {
                  "current_amount": 123.45,
                  "iso_currency_code": "USD",
                  "unofficial_currency_code": null,
                  "ytd_amount": 246.9
                }
              },
              "document_metadata": {
                "document_type": "PAYSTUB",
                "name": "paystub.pdf",
                "status": "PROCESSING_COMPLETE"
              },
              "document_id": "2jkflanbd",
              "earnings": {
                "breakdown": [
                  {
                    "canonical_description": "REGULAR_PAY",
                    "current_amount": 200.22,
                    "description": "salary earned",
                    "hours": 80,
                    "iso_currency_code": "USD",
                    "rate": null,
                    "unofficial_currency_code": null,
                    "ytd_amount": 400.44
                  },
                  {
                    "canonical_desription": "BONUS",
                    "current_amount": 100,
                    "description": "bonus earned",
                    "hours": null,
                    "iso_currency_code": "USD",
                    "rate": null,
                    "unofficial_currency_code": null,
                    "ytd_amount": 100
                  }
                ],
                "total": {
                  "current_amount": 300.22,
                  "hours": 160,
                  "iso_currency_code": "USD",
                  "unofficial_currency_code": null,
                  "ytd_amount": 500.44
                }
              },
              "employee": {
                "address": {
                  "city": "SAN FRANCISCO",
                  "country": "US",
                  "postal_code": "94133",
                  "region": "CA",
                  "street": "2140 TAYLOR ST"
                },
                "name": "ANNA CHARLESTON",
                "marital_status": "SINGLE",
                "taxpayer_id": {
                  "id_type": "SSN",
                  "id_mask": "3333"
                }
              },
              "employer": {
                "name": "PLAID INC",
                "address": {
                  "city": "SAN FRANCISCO",
                  "country": "US",
                  "postal_code": "94111",
                  "region": "CA",
                  "street": "1098 HARRISON ST"
                }
              },
              "net_pay": {
                "current_amount": 123.34,
                "description": "TOTAL NET PAY",
                "iso_currency_code": "USD",
                "unofficial_currency_code": null,
                "ytd_amount": 253.54
              },
              "pay_period_details": {
                "distribution_breakdown": [
                  {
                    "account_name": "Big time checking",
                    "bank_name": "bank of plaid",
                    "current_amount": 176.77,
                    "iso_currency_code": "USD",
                    "mask": "1223",
                    "type": "checking",
                    "unofficial_currency_code": null
                  }
                ],
                "end_date": "2020-12-15",
                "gross_earnings": 4500,
                "iso_currency_code": "USD",
                "pay_amount": 1490.21,
                "pay_date": "2020-12-15",
                "pay_frequency": "BIWEEKLY",
                "start_date": "2020-12-01",
                "unofficial_currency_code": null
              },
              "verification": {
                "verification_status": "VERIFIED",
                "verification_attributes": []
              }
            }
          ],
          "w2s": [
            {
              "allocated_tips": "1000",
              "box_12": [
                {
                  "amount": "200",
                  "code": "AA"
                }
              ],
              "box_9": "box9",
              "dependent_care_benefits": "1000",
              "document_metadata": {
                "document_type": "US_TAX_W2",
                "name": "w_2.pdf",
                "status": "PROCESSING_COMPLETE"
              },
              "document_id": "1pkflebk4",
              "employee": {
                "address": {
                  "city": "San Francisco",
                  "country": "US",
                  "postal_code": "94103",
                  "region": "CA",
                  "street": "1234 Grand St"
                },
                "name": "Josie Georgia Harrison",
                "marital_status": "SINGLE",
                "taxpayer_id": {
                  "id_type": "SSN",
                  "id_mask": "1234"
                }
              },
              "employer": {
                "address": {
                  "city": "New York",
                  "country": "US",
                  "postal_code": "10010",
                  "region": "NY",
                  "street": "456 Main St"
                },
                "name": "Acme Inc"
              },
              "employee_id_number": "12-1234567",
              "federal_income_tax_withheld": "1000",
              "medicare_tax_withheld": "1000",
              "medicare_wages_and_tips": "1000",
              "nonqualified_plans": "1000",
              "other": "other",
              "retirement_plan": "CHECKED",
              "social_security_tax_withheld": "1000",
              "social_security_tips": "1000",
              "social_security_wages": "1000",
              "state_and_local_wages": [
                {
                  "employer_state_id_number": "11111111111AAA",
                  "local_income_tax": "200",
                  "local_wages_and_tips": "200",
                  "locality_name": "local",
                  "state": "UT",
                  "state_income_tax": "200",
                  "state_wages_tips": "200"
                }
              ],
              "statutory_employee": "CHECKED",
              "tax_year": "2020",
              "third_party_sick_ppay": "CHECKED",
              "wages_tips_other_comp": "1000"
            }
          ]
        }
      ]
    }
  ],
  "request_id": "2pxQ59buGdsHRef"
}

Deductions

Total deductions per pay period and breakdown of deductions (taxes)

Earnings

Total earnings per pay period and breakdown of income sources (Regular Pay, Bonus)

Employer and Employee Data

Name and contact information of the employee and employer

Pay Period Information

Pay period start and end dates, pay dates, and frequency

W2 information (if available)

Key line items on IRS form W2

Robust income verification rates

This single stat encapsulates the immense value Plaid brings us and our customers.

99.8%

99.8% of applications who verify their income using Plaid are approved, as compared to 78% for those who use the manual process.

Questions about how Plaid can fit into your business?

Our Sales team can help you find the right solution. Fill out the form and we’ll get in touch shortly.

By submitting this form, I confirm that I have read and understood Plaid’s Privacy Statement.

This form goes to our sales team. If you have questions about connecting your financial accounts to a Plaid-powered app, visit our consumer help center for more information.