Documentation Index Fetch the complete documentation index at: https://lava.so/docs/llms.txt
Use this file to discover all available pages before exploring further.
Plaid financial data API for connecting bank accounts and retrieving balances, transactions, investment holdings, and liabilities. Users connect banks via Plaid Hosted Link — Plaid hosts the entire Link UI at secure.plaid.com, fires a SESSION_FINISHED webhook back to Lava, and each bank is stored as a distinct credential. Callers pick which bank to query on each request via the x-lava-plaid-item header. Best for personal finance, bookkeeping, and portfolio-tracking workflows that span multiple banks.
14 endpoints available through Lava’s AI Gateway. See the Plaid API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
Endpoints
Fetch real-time account balances for a connected Item
POST https://production.plaid.com/accounts/balance/get — $0.10 / request
const data = await lava . gateway ( 'https://production.plaid.com/accounts/balance/get' , { body: {} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Faccounts%2Fbalance%2Fget" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{}'
List accounts for a connected Item
POST https://production.plaid.com/accounts/get — Free
const data = await lava . gateway ( 'https://production.plaid.com/accounts/get' , { body: {} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Faccounts%2Fget" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{}'
Search institutions by name
POST https://production.plaid.com/institutions/search — Free
const data = await lava . gateway ( 'https://production.plaid.com/institutions/search' , {
body: {
"query" : "chase" ,
"products" : [
"transactions"
],
"country_codes" : [
"US"
]
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Finstitutions%2Fsearch" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"query":"chase","products":["transactions"],"country_codes":["US"]}'
Look up a Plaid institution by its ID
POST https://production.plaid.com/institutions/get_by_id — Free
const data = await lava . gateway ( 'https://production.plaid.com/institutions/get_by_id' , { body: { "institution_id" : "ins_109508" , "country_codes" : [ "US" ]} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Finstitutions%2Fget_by_id" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"institution_id":"ins_109508","country_codes":["US"]}'
List institutions supported by Plaid
POST https://production.plaid.com/institutions/get — Free
const data = await lava . gateway ( 'https://production.plaid.com/institutions/get' , { body: { "count" : 10 , "offset" : 0 , "country_codes" : [ "US" ]} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Finstitutions%2Fget" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"count":10,"offset":0,"country_codes":["US"]}'
Incremental sync of transactions (cursor-based)
POST https://production.plaid.com/transactions/sync — Free
const data = await lava . gateway ( 'https://production.plaid.com/transactions/sync' , { body: {} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Ftransactions%2Fsync" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{}'
Fetch transactions within a date range
POST https://production.plaid.com/transactions/get — Free
const data = await lava . gateway ( 'https://production.plaid.com/transactions/get' , { body: { "start_date" : "2025-01-01" , "end_date" : "2025-01-31" } });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Ftransactions%2Fget" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"start_date":"2025-01-01","end_date":"2025-01-31"}'
Request an on-demand refresh of transactions
POST https://production.plaid.com/transactions/refresh — Free
const data = await lava . gateway ( 'https://production.plaid.com/transactions/refresh' , { body: {} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Ftransactions%2Frefresh" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{}'
List recurring income/expense streams for an Item
POST https://production.plaid.com/transactions/recurring/get — Free
const data = await lava . gateway ( 'https://production.plaid.com/transactions/recurring/get' , { body: {} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Ftransactions%2Frecurring%2Fget" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{}'
Fetch holdings for investment accounts
POST https://production.plaid.com/investments/holdings/get — Free
const data = await lava . gateway ( 'https://production.plaid.com/investments/holdings/get' , { body: {} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Finvestments%2Fholdings%2Fget" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{}'
Fetch investment transactions within a date range
POST https://production.plaid.com/investments/transactions/get — Free
const data = await lava . gateway ( 'https://production.plaid.com/investments/transactions/get' , { body: { "start_date" : "2025-01-01" , "end_date" : "2025-01-31" } });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Finvestments%2Ftransactions%2Fget" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"start_date":"2025-01-01","end_date":"2025-01-31"}'
Fetch liability details (credit, student loan, mortgage)
POST https://production.plaid.com/liabilities/get — Free
const data = await lava . gateway ( 'https://production.plaid.com/liabilities/get' , { body: {} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Fliabilities%2Fget" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{}'
POST https://production.plaid.com/item/get — Free
const data = await lava . gateway ( 'https://production.plaid.com/item/get' , { body: {} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Fitem%2Fget" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{}'
Disconnect an Item and invalidate its access_token
POST https://production.plaid.com/item/remove — Free
const data = await lava . gateway ( 'https://production.plaid.com/item/remove' , { body: {} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fproduction.plaid.com%2Fitem%2Fremove" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{}'
Next Steps
All Providers Browse all supported AI providers
Forward Proxy Learn how to construct proxy URLs and authenticate requests