Plaid

App · Accounting & Finance · 12 actions

Connect your bank through Plaid to read accounts, live balances and transactions, account and routing numbers, account owners, investments, and loans and credit cards.

Actions

ActionWhat it does
Check the bank connectionCheck whether the connection to the bank is working, or needs you to sign in to the bank again, and when it last updated.
Find investment transactionsGet the buys, sells, dividends, fees and transfers in the connected investment accounts between two dates.
Find transactionsGet the transactions between two dates, newest first, optionally only some accounts, categories, or money in or out.
Get account and routing numbersGet the full account numbers and routing numbers (or IBAN, sort code, transit number) for the connected accounts, such as to set up a payment.
Get account owner detailsGet the names, email addresses, phone numbers and addresses the bank has on file for each account's owners, such as to confirm who owns an account.
Get an account's live balanceAsk the bank for one account's balance right now, such as to check there is enough money before paying a bill.
Get bank detailsGet a bank's name, website, logo, what it shares through Plaid, and whether its connection to Plaid is healthy right now.
Get loans and credit cardsGet what is owed on the connected credit cards, student loans and mortgages: balances, minimum payments, due dates, interest rates and whether a payment is overdue.
Get new transactionsGet the transactions added, changed or removed since the last time this step ran.
List accountsList the connected bank's accounts with their balances, as the bank last reported them (usually within the last day).
List investment holdingsList what is held in the connected investment and retirement accounts: each stock, fund or bond, how much, and what it is worth.
Search for banksSearch the banks, card issuers and brokerages Plaid can connect to by name, such as to check whether a bank is supported.

Check the bank connection

Check whether the connection to the bank is working, or needs you to sign in to the bank again, and when it last updated. Use it to be told before a scheduled workflow starts failing.

Inputs

None.

Outputs

access_expires_attext
When the bank's permission runs out, for banks that set one. Empty otherwise.
bank_idtext
Plaid's id for the bank.
bank_nametext
The bank's name.
is_workingtrue/false
Whether the connection is working.
last_transactions_updatetext
When Plaid last got transactions from the bank.
problemtext
What is wrong, when something is.
shareslist
What the bank agreed to share.
statustext
'working', 'needs_sign_in' (reconnect Plaid to fix it), or 'error'.
Example output
{
  "access_expires_at": "",
  "bank_id": "ins_109508",
  "bank_name": "First Platypus Bank",
  "is_working": true,
  "last_transactions_update": "2026-09-24T08:12:05Z",
  "problem": "",
  "shares": [
    "Transactions",
    "Account and routing numbers"
  ],
  "status": "working"
}

Find investment transactions

Get the buys, sells, dividends, fees and transfers in the connected investment accounts between two dates. Amounts read like a statement: money into the account is positive.

Inputs

Fromstart_datedate
The first day to include. Leave empty for the last 30 days. Plaid keeps up to two years.
Toend_datedate
The last day to include. Leave empty for today.
Accountsaccountslist
Which accounts to include. Leave empty for all of them.
Most resultsmax_resultsnumber
The most transactions to return, newest first. Leave empty for 500.From 1 to 5000.

Outputs

countnumber
How many transactions.
from_datetext
The first day searched.
to_datetext
The last day searched.
transactionslist
The transactions, newest first.
Example output
{
  "count": 1,
  "from_date": "2026-08-25",
  "to_date": "2026-09-24",
  "transactions": [
    {
      "account_id": "JqMLm4rJwpF6gMPJwBqdh9ZjjPvvpDcb7kDK1",
      "account_name": "Plaid IRA",
      "amount": -13.49,
      "currency": "USD",
      "date": "2026-09-01",
      "description": "BUY Matthews Pacific Tiger Fund Insti Class",
      "fees": 0.0,
      "investment_transaction_id": "pK99jB3e6wHB1gRMlxvmHPz3e6zRDvfwp3pNr",
      "price": 27.53,
      "quantity": 0.49,
      "security_name": "Matthews Pacific Tiger Fund Insti Class",
      "subtype": "buy",
      "ticker": "MIPTX",
      "type": "buy"
    }
  ]
}

Find transactions

Get the transactions between two dates, newest first, optionally only some accounts, categories, or money in or out. Amounts read like a bank statement: money in is positive, money out negative.

Inputs

Fromstart_datedate
The first day to include. Leave empty for the last 30 days. Plaid keeps up to two years.
Toend_datedate
The last day to include. Leave empty for today.
Accountsaccountslist
Which accounts to include. Leave empty for all of them.
Categoriescategorieslist
Only these categories. Leave empty for all.One or more of: INCOME, TRANSFER_IN (Transfers in), TRANSFER_OUT (Transfers out), LOAN_DISBURSEMENTS (Loans received), LOAN_PAYMENTS (Loan payments), BANK_FEES (Bank fees), ENTERTAINMENT, FOOD_AND_DRINK (Food and drink), GENERAL_MERCHANDISE (Shopping), HOME_IMPROVEMENT (Home improvement), and 8 more.
Money in or outdirectiontext
Whether to include money received, money spent, or both.One of: both (Money in and out), in (Money in only), out (Money out only). Default: both.
Include pendinginclude_pendingtrue/false
Whether to include transactions the bank has not posted yet. On by default.Default: true.
Most resultsmax_resultsnumber
The most transactions to return, newest first. Leave empty for 500.From 1 to 5000.

Outputs

countnumber
How many transactions.
from_datetext
The first day searched.
money_innumber
The total of the money received.
money_outnumber
The total of the money spent, as a negative.
to_datetext
The last day searched.
transactionslist
The transactions, newest first.
Example output
{
  "count": 1,
  "from_date": "2026-08-25",
  "money_in": 0.0,
  "money_out": -4.33,
  "to_date": "2026-09-24",
  "transactions": [
    {
      "account_id": "BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp",
      "account_name": "Plaid Checking",
      "amount": -4.33,
      "authorized_date": "2026-09-17",
      "category": "Food and drink",
      "category_detail": "Coffee",
      "city": "Seattle",
      "currency": "USD",
      "date": "2026-09-18",
      "description": "Starbucks",
      "direction": "out",
      "logo_url": "https://plaid-merchant-logos.plaid.com/starbucks_956.png",
      "merchant": "Starbucks",
      "payment_channel": "in store",
      "pending": false,
      "transaction_id": "lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDje",
      "website": "starbucks.com"
    }
  ]
}

Get account and routing numbers

Get the full account numbers and routing numbers (or IBAN, sort code, transit number) for the connected accounts, such as to set up a payment.

Inputs

Accountsaccountslist
Which accounts to include. Leave empty for all of them.

Outputs

accountslist
The accounts.
countnumber
How many accounts.
Example output
{
  "accounts": [
    {
      "account_id": "BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp",
      "account_number": "1111222233330000",
      "bic": "",
      "branch_number": "",
      "iban": "",
      "institution_number": "",
      "mask": "0000",
      "name": "Plaid Checking",
      "routing_number": "011401533",
      "sort_code": "",
      "subtype": "checking",
      "type": "depository",
      "wire_routing_number": "021000021"
    }
  ],
  "count": 1
}

Get account owner details

Get the names, email addresses, phone numbers and addresses the bank has on file for each account's owners, such as to confirm who owns an account.

Inputs

Accountsaccountslist
Which accounts to include. Leave empty for all of them.

Outputs

accountslist
The accounts.
countnumber
How many accounts.
Example output
{
  "accounts": [
    {
      "account_id": "BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp",
      "mask": "0000",
      "name": "Plaid Checking",
      "owner_name": "Alberta Bobbeth Charleson",
      "owners": [
        {
          "address": "2992 Cameron Road, Malakoff, NY 14236 US",
          "all_emails": [
            "accountholder0@example.com"
          ],
          "all_phones": [
            "1112223333"
          ],
          "email": "accountholder0@example.com",
          "names": [
            "Alberta Bobbeth Charleson"
          ],
          "phone": "1112223333"
        }
      ]
    }
  ],
  "count": 1
}

Get an account's live balance

Ask the bank for one account's balance right now, such as to check there is enough money before paying a bill. On paid Plaid plans each check is billed.

Inputs

AccountaccounttextRequired
The account to check.

Outputs

account_idtext
Plaid's id for the account, used by other steps.
available_balancenumber
Money that can be spent or withdrawn now. Empty when the bank does not say.
balance_updated_attext
When the bank last reported the balance, if it says. Empty means just now.
credit_limitnumber
The credit limit, for a credit card or line of credit.
currencytext
The balances' currency, such as USD.
current_balancenumber
The balance on the account. For a credit card or loan, what is owed.
masktext
The last digits of the account number.
nametext
The account's name, such as 'Plaid Checking'.
official_nametext
The bank's full name for the account.
subtypetext
checking, savings, credit card, mortgage, 401k and so on.
typetext
depository, credit, loan, investment or other.
Example output
{
  "account_id": "BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp",
  "available_balance": 100.0,
  "balance_updated_at": "",
  "credit_limit": null,
  "currency": "USD",
  "current_balance": 110.0,
  "mask": "0000",
  "name": "Plaid Checking",
  "official_name": "Plaid Gold Standard 0% Interest Checking",
  "subtype": "checking",
  "type": "depository"
}

Get bank details

Get a bank's name, website, logo, what it shares through Plaid, and whether its connection to Plaid is healthy right now.

Inputs

Bankbank_idtext
Plaid's id for the bank (such as ins_3, from 'Search for banks'). Leave empty for the connected bank.

Outputs

balance_healthtext
How reliably live balances work: healthy, degraded or down.
bank_idtext
Plaid's id for the bank, such as ins_3.
brand_colortext
The bank's brand color, such as #1f5dd9.
countrieslist
The countries it is in, as two-letter codes.
logotext
The bank's logo as an image address, when Plaid has one.
nametext
The bank's name.
shareslist
What it shares through Plaid, such as Transactions.
sign_in_healthtext
How reliably people can connect: healthy, degraded or down. Empty when Plaid does not say.
transactions_healthtext
How reliably new transactions arrive: healthy, degraded or down.
uses_bank_sign_in_pagetrue/false
Whether connecting sends you to the bank's own website to sign in.
websitetext
The bank's website.
Example output
{
  "balance_health": "healthy",
  "bank_id": "ins_109508",
  "brand_color": "#1f5dd9",
  "countries": [
    "US"
  ],
  "logo": "",
  "name": "First Platypus Bank",
  "shares": [
    "Transactions",
    "Account and routing numbers",
    "Investments"
  ],
  "sign_in_health": "healthy",
  "transactions_health": "healthy",
  "uses_bank_sign_in_page": false,
  "website": "https://www.plaid.com"
}

Get loans and credit cards

Get what is owed on the connected credit cards, student loans and mortgages: balances, minimum payments, due dates, interest rates and whether a payment is overdue.

Inputs

Accountsaccountslist
Which accounts to include. Leave empty for all of them.

Outputs

countnumber
How many loans and cards in total.
credit_cardslist
Credit cards.
mortgageslist
Mortgages.
student_loanslist
Student loans.
Example output
{
  "count": 1,
  "credit_cards": [
    {
      "account_id": "4Xm1rWQDPwFWqNmK3qnxhWLZkbvxpdSQWzZ4g",
      "account_name": "Plaid Credit Card",
      "balance": 410.0,
      "currency": "USD",
      "is_overdue": false,
      "last_payment_amount": 168.25,
      "last_payment_date": "2026-09-16",
      "last_statement_balance": 1708.77,
      "minimum_payment": 20.0,
      "next_payment_due_date": "2026-10-15",
      "purchase_apr": 15.24
    }
  ],
  "mortgages": [],
  "student_loans": []
}

Get new transactions

Get the transactions added, changed or removed since the last time this step ran. Save 'next_checkpoint' and pass it in next time; leave Checkpoint empty the first time to get everything.

Inputs

Checkpointcheckpointtext
The 'next_checkpoint' from the previous run. Leave empty to start from the beginning.

Outputs

addedlist
New transactions.
added_countnumber
How many new transactions.
has_moretrue/false
Whether more changes are waiting; run again with next_checkpoint to get them.
modifiedlist
Transactions that changed, such as a pending one posting.
next_checkpointtext
Pass this to the next run.
removed_transaction_idslist
Transactions the bank removed.
Example output
{
  "added": [
    {
      "account_id": "BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp",
      "account_name": "Plaid Checking",
      "amount": -4.33,
      "authorized_date": "2026-09-17",
      "category": "Food and drink",
      "category_detail": "Coffee",
      "city": "Seattle",
      "currency": "USD",
      "date": "2026-09-18",
      "description": "Starbucks",
      "direction": "out",
      "logo_url": "https://plaid-merchant-logos.plaid.com/starbucks_956.png",
      "merchant": "Starbucks",
      "payment_channel": "in store",
      "pending": false,
      "transaction_id": "lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDje",
      "website": "starbucks.com"
    }
  ],
  "added_count": 1,
  "has_more": false,
  "modified": [],
  "next_checkpoint": "CAESJVp2YTR3RkhHRkp1Tm5ZZmpBbkpBdjB2ZEFkTWNIWGRNWjVYeRgD",
  "removed_transaction_ids": []
}

List accounts

List the connected bank's accounts with their balances, as the bank last reported them (usually within the last day).

Inputs

None.

Outputs

accountslist
The accounts.
bank_nametext
The bank's name.
countnumber
How many accounts.
Example output
{
  "accounts": [
    {
      "account_id": "BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp",
      "available_balance": 100.0,
      "balance_updated_at": "",
      "credit_limit": null,
      "currency": "USD",
      "current_balance": 110.0,
      "mask": "0000",
      "name": "Plaid Checking",
      "official_name": "Plaid Gold Standard 0% Interest Checking",
      "subtype": "checking",
      "type": "depository"
    }
  ],
  "bank_name": "First Platypus Bank",
  "count": 1
}

List investment holdings

List what is held in the connected investment and retirement accounts: each stock, fund or bond, how much, and what it is worth.

Inputs

Accountsaccountslist
Which accounts to include. Leave empty for all of them.

Outputs

countnumber
How many holdings.
holdingslist
The holdings.
total_valuenumber
What they are worth together.
Example output
{
  "count": 1,
  "holdings": [
    {
      "account_id": "JqMLm4rJwpF6gMPJwBqdh9ZjjPvvpDcb7kDK1",
      "account_name": "Plaid IRA",
      "cost_basis": 1.0,
      "currency": "USD",
      "price": 2.11,
      "price_as_of": "",
      "quantity": 10.0,
      "security_id": "d6ePmbPxgWCWmMVv66q9iPV94n91vMtov5Are",
      "security_name": "Achillion Pharmaceuticals Inc.",
      "security_type": "equity",
      "ticker": "ACHN",
      "value": 21.1
    }
  ],
  "total_value": 21.1
}

Search for banks

Search the banks, card issuers and brokerages Plaid can connect to by name, such as to check whether a bank is supported.

Inputs

Bank namequerytextRequired
All or part of the bank's name, such as 'Chase'.
Countriescountrieslist
Where to look. Leave empty for the United States.One or more of: US (United States), CA (Canada), GB (United Kingdom), IE (Ireland), FR (France), ES (Spain), NL (Netherlands), DE (Germany), IT (Italy), PL (Poland), and 10 more.
Must sharefeatureslist
Only banks that share all of these through Plaid. Leave empty for any.One or more of: transactions, auth (Account and routing numbers), identity (Account owner details), investments, liabilities (Loans and credit cards).
Most resultsmax_resultsnumber
The most banks to return. Leave empty for 10.From 1 to 50.

Outputs

bankslist
The banks, best match first.
countnumber
How many banks.
Example output
{
  "banks": [
    {
      "bank_id": "ins_109508",
      "brand_color": "#1f5dd9",
      "countries": [
        "US"
      ],
      "logo": "",
      "name": "First Platypus Bank",
      "shares": [
        "Transactions",
        "Account and routing numbers",
        "Investments"
      ],
      "uses_bank_sign_in_page": false,
      "website": "https://www.plaid.com"
    }
  ],
  "count": 1
}

On this page