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
| Action | What it does |
|---|---|
| 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. |
| Find investment transactions | Get the buys, sells, dividends, fees and transfers in the connected investment accounts between two dates. |
| Find transactions | Get the transactions between two dates, newest first, optionally only some accounts, categories, or money in or out. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| Get new transactions | Get the transactions added, changed or removed since the last time this step ran. |
| List accounts | List the connected bank's accounts with their balances, as the bank last reported them (usually within the last day). |
| 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. |
| 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. |
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
- From
start_datedate - The first day to include. Leave empty for the last 30 days. Plaid keeps up to two years.
- To
end_datedate - The last day to include. Leave empty for today.
- Accounts
accountslist - Which accounts to include. Leave empty for all of them.
- Most results
max_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
- From
start_datedate - The first day to include. Leave empty for the last 30 days. Plaid keeps up to two years.
- To
end_datedate - The last day to include. Leave empty for today.
- Accounts
accountslist - Which accounts to include. Leave empty for all of them.
- Categories
categorieslist - 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 out
directiontext - 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 pending
include_pendingtrue/false - Whether to include transactions the bank has not posted yet. On by default.Default:
true. - Most results
max_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
- Accounts
accountslist - 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
- Accounts
accountslist - 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
- Account
accounttextRequired - 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
- Bank
bank_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
- Accounts
accountslist - 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
- Checkpoint
checkpointtext - 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
- Accounts
accountslist - 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 name
querytextRequired - All or part of the bank's name, such as 'Chase'.
- Countries
countrieslist - 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 share
featureslist - 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 results
max_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
}