Institutions endpoints
Fetch data about supported institutions
Institution coverage
For a user-friendly overview of which institutions Plaid supports, and the product coverage at each institution, see the US and Canada Coverage Explorer or European Coverage Explorer.
The status dashboard also provides a browsable view of institutions and supported products, with a focus on reporting institution health and downtimes.
For more detailed institution information, or to access this data programmatically, use the API endpoints described on this page.
Supported countries
For a list of which products are supported for each country, see supported products by country or the docs for the specific product you are interested in.
By default, customers in the United States and Canada receive access to institutions in all countries in Sandbox, and to United States and Canada in Production. To gain access to additional countries in Production, file a product access Support ticket.
| Endpoints | |
|---|---|
/institutions/get | Get a list of all supported institutions meeting specified criteria |
/institutions/get_by_id | Get details about a specific institution |
/institutions/search | Look up an institution by name |
The interface for these endpoints has changed in API version 2020-09-14. If you are using an older API version, see API versioning.
Endpoints
/institutions/get
Get details of all supported institutions
Returns a JSON response containing details on all financial institutions currently supported by Plaid. Because Plaid supports thousands of institutions, results are paginated.
If there is no overlap between an institution’s enabled products and a client’s enabled products, then the institution will be filtered out from the response. As a result, the number of institutions returned may not match the count specified in the call.
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.count1 500 offset0 country_codesIn API versions 2019-05-29 and earlier, the
country_codes parameter is an optional parameter within the options object and will default to [US] if it is not supplied.1 US, GB, ES, NL, FR, IE, CA, DE, IT, PL, DK, NO, SE, EE, LT, LV, PT, BE, AT, FIoptions/institutions/get results.productsauth, an institution must support Instant Auth to match the criterion. To filter for Signal Transaction Scores support, use balance. To filter for Transfer support, use auth.1 assets, auth, balance, employment, identity, cra_base_report, cra_income_insights, cra_cashflow_insights, cra_lend_score, cra_network_insights, cra_partner_insights, income_verification, identity_verification, investments, liabilities, payment_initiation, standing_orders, transactionsrouting_numbersINVALID_REQUEST error with the code of INVALID_FIELD will be returned.oauthoauth set to true if some Items associated with that institution are required to use OAuth flows; institutions in a state of migration to OAuth will have the oauth attribute set to true.include_optional _metadatatrue, return the institution's homepage URL, logo and primary brand color. Not all institutions' logos are available.Note that Plaid does not own any of the logos shared by the API, and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos.
include_auth_metadatatrue, returns metadata related to the Auth product indicating which auth methods are supported.false include_payment _initiation_metadatatrue, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.false // Pull institutions
const request: InstitutionsGetRequest = {
count: 10,
offset: 0,
country_codes: ['US'],
};
try {
const response = await plaidClient.institutionsGet(request);
const institutions = response.data.institutions;
} catch (error) {
// Handle error
}
Response fields
institutionsinstitution_idinstitution_ids for the OAuth and non-OAuth versions of the institution. Institutions that operate in different countries or with multiple login portals may also have separate institution_ids for each country or portal.nameproductsauth in the product array; institutions that do not list auth may still support other Auth methods such as Instant Match or Automated Micro-deposit Verification. To identify institutions that support those methods, use the auth_metadata object. For more details, see Full Auth coverage. The income_verification product here indicates support for Bank Income. Note: For Signal Transaction Scores and Transfer, listed institutions may be incomplete or incorrect. Instead, use the following: balance support also indicates coverage of Signal Transaction Scores; auth support also indicates coverage of Transfer.assets, auth, balance, balance_plus, beacon, identity, identity_match, investments, investments_auth, liabilities, payment_initiation, identity_verification, transactions, credit_details, income, income_verification, standing_orders, transfer, employment, recurring_transactions, transactions_refresh, signal, statements, processor_payments, processor_identity, profile, cra_base_report, cra_income_insights, cra_partner_insights, cra_network_insights, cra_cashflow_insights, cra_monitoring, cra_lend_score, layer, pay_by_bank, protect_linked_bankcountry_codesUS, GB, ES, NL, FR, IE, CA, DE, IT, PL, DK, NO, SE, EE, LT, LV, PT, BE, AT, FIurlprimary_colorlogorouting_numbersdtc_numbersoauthtrue if OAuth is supported for any Items associated with the institution, even if the institution also supports non-OAuth connections.statusInstitution status is accessible in the Dashboard and via the API using the
/institutions/get_by_id endpoint with the include_status option set to true. Note that institution status is not available in the Sandbox environment.item_loginsstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDtransactions_updatesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDauthstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDidentitystatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDinvestments_updatesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDliabilities_updatesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDliabilitiesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDinvestmentsstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDhealth_incidentsstart_datetitleincident_updatesdescriptionstatusINVESTIGATING, IDENTIFIED, SCHEDULED, RESOLVED, UNKNOWNupdated_date"2020-10-30T15:26:48Z".date-time payment_initiation _metadatasupports _international _paymentssupports_sepa_instantmaximum_payment_amountExample:
{"GBP": "10000"}supports_refund _detailsstanding_order _metadatasupports_standing _order_end_datesupports_standing _order_negative _execution_daysMONTHLY standing orders. Indicates whether the institution supports negative integers (-1 to -5) for setting up a MONTHLY standing order relative to the end of the month.valid_standing_order _intervalsWEEKLY, MONTHLY1 supports_payment _consentsauth_metadatasupported_methodsinstant_authinstant_matchautomated_micro _depositsinstant_micro_depositstotalrequest_id{
"institutions": [
{
"country_codes": [
"US"
],
"institution_id": "ins_1",
"name": "Bank of America",
"products": [
"assets",
"auth",
"balance",
"transactions",
"identity",
"liabilities"
],
"routing_numbers": [
"011000138",
"011200365",
"011400495"
],
"dtc_numbers": [
"2236",
"0955",
"1367"
],
"oauth": false,
"status": {
"item_logins": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.9,
"error_plaid": 0.01,
"error_institution": 0.09
}
},
"transactions_updates": {
"status": "HEALTHY",
"last_status_change": "2019-02-12T08:22:00Z",
"breakdown": {
"success": 0.95,
"error_plaid": 0.02,
"error_institution": 0.03,
"refresh_interval": "NORMAL"
}
},
"auth": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.91,
"error_plaid": 0.01,
"error_institution": 0.08
}
},
"identity": {
"status": "DEGRADED",
"last_status_change": "2019-02-15T15:50:00Z",
"breakdown": {
"success": 0.42,
"error_plaid": 0.08,
"error_institution": 0.5
}
},
"investments": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.89,
"error_plaid": 0.02,
"error_institution": 0.09
},
"liabilities": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.89,
"error_plaid": 0.02,
"error_institution": 0.09
}
}
},
"investments_updates": {
"status": "HEALTHY",
"last_status_change": "2019-02-12T08:22:00Z",
"breakdown": {
"success": 0.95,
"error_plaid": 0.02,
"error_institution": 0.03,
"refresh_interval": "NORMAL"
}
},
"liabilities_updates": {
"status": "HEALTHY",
"last_status_change": "2019-02-12T08:22:00Z",
"breakdown": {
"success": 0.95,
"error_plaid": 0.02,
"error_institution": 0.03,
"refresh_interval": "NORMAL"
}
}
}
}
],
"request_id": "tbFyCEqkU774ZGG",
"total": 11384
}/institutions/get_by_id
Get details of an institution
Returns a JSON response containing details on a specified financial institution currently supported by Plaid.
Versioning note: API versions 2019-05-29 and earlier allow use of the public_key parameter instead of the client_id and secret to authenticate to this endpoint. The public_key has been deprecated; all customers are encouraged to use client_id and secret instead.
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.institution_id1 country_codescountry_codes parameter is an optional parameter within the options object and will default to [US] if it is not supplied.US, GB, ES, NL, FR, IE, CA, DE, IT, PL, DK, NO, SE, EE, LT, LV, PT, BE, AT, FIoptions/institutions/get_by_id. If provided, must not be null.include_optional _metadatatrue, return an institution's logo, brand color, and URL. When available, the bank's logo is returned as a base64 encoded 152x152 PNG, the brand color is in hexadecimal format. The default value is false.Note that Plaid does not own any of the logos shared by the API and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos.
false include_statustrue, the response will include status information about the institution. Default value is false.false include_auth_metadatatrue, returns metadata related to the Auth product indicating which auth methods are supported.false include_payment _initiation_metadatatrue, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.false const request: InstitutionsGetByIdRequest = {
institution_id: institutionID,
country_codes: ['US'],
};
try {
const response = await plaidClient.institutionsGetById(request);
const institution = response.data.institution;
} catch (error) {
// Handle error
}
Response fields
institutioninstitution_idinstitution_ids for the OAuth and non-OAuth versions of the institution. Institutions that operate in different countries or with multiple login portals may also have separate institution_ids for each country or portal.nameproductsauth in the product array; institutions that do not list auth may still support other Auth methods such as Instant Match or Automated Micro-deposit Verification. To identify institutions that support those methods, use the auth_metadata object. For more details, see Full Auth coverage. The income_verification product here indicates support for Bank Income. Note: For Signal Transaction Scores and Transfer, listed institutions may be incomplete or incorrect. Instead, use the following: balance support also indicates coverage of Signal Transaction Scores; auth support also indicates coverage of Transfer.assets, auth, balance, balance_plus, beacon, identity, identity_match, investments, investments_auth, liabilities, payment_initiation, identity_verification, transactions, credit_details, income, income_verification, standing_orders, transfer, employment, recurring_transactions, transactions_refresh, signal, statements, processor_payments, processor_identity, profile, cra_base_report, cra_income_insights, cra_partner_insights, cra_network_insights, cra_cashflow_insights, cra_monitoring, cra_lend_score, layer, pay_by_bank, protect_linked_bankcountry_codesUS, GB, ES, NL, FR, IE, CA, DE, IT, PL, DK, NO, SE, EE, LT, LV, PT, BE, AT, FIurlprimary_colorlogorouting_numbersdtc_numbersoauthtrue if OAuth is supported for any Items associated with the institution, even if the institution also supports non-OAuth connections.statusInstitution status is accessible in the Dashboard and via the API using the
/institutions/get_by_id endpoint with the include_status option set to true. Note that institution status is not available in the Sandbox environment.item_loginsstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDtransactions_updatesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDauthstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDidentitystatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDinvestments_updatesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDliabilities_updatesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDliabilitiesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDinvestmentsstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDhealth_incidentsstart_datetitleincident_updatesdescriptionstatusINVESTIGATING, IDENTIFIED, SCHEDULED, RESOLVED, UNKNOWNupdated_date"2020-10-30T15:26:48Z".date-time payment_initiation _metadatasupports _international _paymentssupports_sepa_instantmaximum_payment_amountExample:
{"GBP": "10000"}supports_refund _detailsstanding_order _metadatasupports_standing _order_end_datesupports_standing _order_negative _execution_daysMONTHLY standing orders. Indicates whether the institution supports negative integers (-1 to -5) for setting up a MONTHLY standing order relative to the end of the month.valid_standing_order _intervalsWEEKLY, MONTHLY1 supports_payment _consentsauth_metadatasupported_methodsinstant_authinstant_matchautomated_micro _depositsinstant_micro_depositsrequest_id{
"institution": {
"country_codes": [
"US"
],
"institution_id": "ins_109512",
"name": "Houndstooth Bank",
"products": [
"auth",
"balance",
"identity",
"transactions"
],
"routing_numbers": [
"011000138",
"011200365",
"011400495"
],
"dtc_numbers": [
"2236",
"0955",
"1367"
],
"oauth": false,
"status": {
"item_logins": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.9,
"error_plaid": 0.01,
"error_institution": 0.09
}
},
"transactions_updates": {
"status": "HEALTHY",
"last_status_change": "2019-02-12T08:22:00Z",
"breakdown": {
"success": 0.95,
"error_plaid": 0.02,
"error_institution": 0.03,
"refresh_interval": "NORMAL"
}
},
"auth": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.91,
"error_plaid": 0.01,
"error_institution": 0.08
}
},
"identity": {
"status": "DEGRADED",
"last_status_change": "2019-02-15T15:50:00Z",
"breakdown": {
"success": 0.42,
"error_plaid": 0.08,
"error_institution": 0.5
}
},
"investments": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.89,
"error_plaid": 0.02,
"error_institution": 0.09
},
"liabilities": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.89,
"error_plaid": 0.02,
"error_institution": 0.09
}
}
},
"investments_updates": {
"status": "HEALTHY",
"last_status_change": "2019-02-12T08:22:00Z",
"breakdown": {
"success": 0.95,
"error_plaid": 0.02,
"error_institution": 0.03,
"refresh_interval": "NORMAL"
}
},
"liabilities_updates": {
"status": "HEALTHY",
"last_status_change": "2019-02-12T08:22:00Z",
"breakdown": {
"success": 0.95,
"error_plaid": 0.02,
"error_institution": 0.03,
"refresh_interval": "NORMAL"
}
}
},
"primary_color": "#004966",
"url": "https://plaid.com",
"logo": null
},
"request_id": "m8MDnv9okwxFNBV"
}/institutions/search
Search institutions
Returns a JSON response containing details for institutions that match the query parameters, up to a maximum of ten institutions per query.
Versioning note: API versions 2019-05-29 and earlier allow use of the public_key parameter instead of the client_id and secret parameters to authenticate to this endpoint. The public_key parameter has since been deprecated; all customers are encouraged to use client_id and secret instead.
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.query1 productsproducts. Provide null to get institutions regardless of supported products. Note that when auth is specified as a product, if you are enabled for Instant Match or Automated Micro-deposits, institutions that support those products will be returned even if auth is not present in their product array. To search for Transfer support, use auth; to search for Signal Transaction Scores support, use balance.1 assets, auth, balance, employment, identity, income_verification, investments, liabilities, identity_verification, payment_initiation, standing_orders, statements, transactionscountry_codescountry_codes parameter is an optional parameter within the options object and will default to [US] if it is not supplied.US, GB, ES, NL, FR, IE, CA, DE, IT, PL, DK, NO, SE, EE, LT, LV, PT, BE, AT, FIoptions/institutions/search results.oauthoauth set to true if some Items associated with that institution are required to use OAuth flows; institutions in a state of migration to OAuth will have the oauth attribute set to true.include_optional _metadatainclude_auth_metadatatrue, returns metadata related to the Auth product indicating which auth methods are supported.false include_payment _initiation_metadatatrue, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.false payment_initiationpayment_idconsent_idconst request: InstitutionsSearchRequest = {
query: institutionID,
products: ['transactions'],
country_codes: ['US'],
};
try {
const response = await plaidClient.institutionsSearch(request);
const institutions = response.data.institutions;
} catch (error) {
// Handle error
}
Response fields
institutionsinstitution_idinstitution_ids for the OAuth and non-OAuth versions of the institution. Institutions that operate in different countries or with multiple login portals may also have separate institution_ids for each country or portal.nameproductsauth in the product array; institutions that do not list auth may still support other Auth methods such as Instant Match or Automated Micro-deposit Verification. To identify institutions that support those methods, use the auth_metadata object. For more details, see Full Auth coverage. The income_verification product here indicates support for Bank Income. Note: For Signal Transaction Scores and Transfer, listed institutions may be incomplete or incorrect. Instead, use the following: balance support also indicates coverage of Signal Transaction Scores; auth support also indicates coverage of Transfer.assets, auth, balance, balance_plus, beacon, identity, identity_match, investments, investments_auth, liabilities, payment_initiation, identity_verification, transactions, credit_details, income, income_verification, standing_orders, transfer, employment, recurring_transactions, transactions_refresh, signal, statements, processor_payments, processor_identity, profile, cra_base_report, cra_income_insights, cra_partner_insights, cra_network_insights, cra_cashflow_insights, cra_monitoring, cra_lend_score, layer, pay_by_bank, protect_linked_bankcountry_codesUS, GB, ES, NL, FR, IE, CA, DE, IT, PL, DK, NO, SE, EE, LT, LV, PT, BE, AT, FIurlprimary_colorlogorouting_numbersdtc_numbersoauthtrue if OAuth is supported for any Items associated with the institution, even if the institution also supports non-OAuth connections.statusInstitution status is accessible in the Dashboard and via the API using the
/institutions/get_by_id endpoint with the include_status option set to true. Note that institution status is not available in the Sandbox environment.item_loginsstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDtransactions_updatesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDauthstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDidentitystatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDinvestments_updatesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDliabilities_updatesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDliabilitiesstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDinvestmentsstatusbreakdown object, which provides more granular institution health data.HEALTHY: the majority of requests are successful
DEGRADED: only some requests are successful
DOWN: all requests are failingHEALTHY, DEGRADED, DOWNlast_status_changebreakdownsuccess, error_plaid, and error_institution sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see Institution status details.successdouble error_plaiddouble error_institutiondouble refresh_intervalrefresh_interval may be DELAYED or STOPPED even when the success rate is high.NORMAL, DELAYED, STOPPEDhealth_incidentsstart_datetitleincident_updatesdescriptionstatusINVESTIGATING, IDENTIFIED, SCHEDULED, RESOLVED, UNKNOWNupdated_date"2020-10-30T15:26:48Z".date-time payment_initiation _metadatasupports _international _paymentssupports_sepa_instantmaximum_payment_amountExample:
{"GBP": "10000"}supports_refund _detailsstanding_order _metadatasupports_standing _order_end_datesupports_standing _order_negative _execution_daysMONTHLY standing orders. Indicates whether the institution supports negative integers (-1 to -5) for setting up a MONTHLY standing order relative to the end of the month.valid_standing_order _intervalsWEEKLY, MONTHLY1 supports_payment _consentsauth_metadatasupported_methodsinstant_authinstant_matchautomated_micro _depositsinstant_micro_depositsrequest_id{
"institutions": [
{
"country_codes": [
"US"
],
"institution_id": "ins_118923",
"name": "Red Platypus Bank - Red Platypus Bank",
"products": [
"assets",
"auth",
"balance",
"transactions",
"identity"
],
"routing_numbers": [
"011000138",
"011200365",
"011400495"
],
"dtc_numbers": [
"2236",
"0955",
"1367"
],
"oauth": false,
"status": {
"item_logins": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.9,
"error_plaid": 0.01,
"error_institution": 0.09
}
},
"transactions_updates": {
"status": "HEALTHY",
"last_status_change": "2019-02-12T08:22:00Z",
"breakdown": {
"success": 0.95,
"error_plaid": 0.02,
"error_institution": 0.03,
"refresh_interval": "NORMAL"
}
},
"auth": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.91,
"error_plaid": 0.01,
"error_institution": 0.08
}
},
"identity": {
"status": "DEGRADED",
"last_status_change": "2019-02-15T15:50:00Z",
"breakdown": {
"success": 0.42,
"error_plaid": 0.08,
"error_institution": 0.5
}
},
"investments": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.89,
"error_plaid": 0.02,
"error_institution": 0.09
},
"liabilities": {
"status": "HEALTHY",
"last_status_change": "2019-02-15T15:53:00Z",
"breakdown": {
"success": 0.89,
"error_plaid": 0.02,
"error_institution": 0.09
}
}
},
"investments_updates": {
"status": "HEALTHY",
"last_status_change": "2019-02-12T08:22:00Z",
"breakdown": {
"success": 0.95,
"error_plaid": 0.02,
"error_institution": 0.03,
"refresh_interval": "NORMAL"
}
},
"liabilities_updates": {
"status": "HEALTHY",
"last_status_change": "2019-02-12T08:22:00Z",
"breakdown": {
"success": 0.95,
"error_plaid": 0.02,
"error_institution": 0.03,
"refresh_interval": "NORMAL"
}
}
}
}
],
"request_id": "Ggmk0enW4smO2Tp"
}Webhooks
Institution status alerts are configured within the developer dashboard. In the dashboard, you can choose to receive alerts as either emails or webhooks.
All dashboard-configured institution status alerts will have type DASHBOARD_CONFIGURED_ALERT.
INSTITUTION_STATUS_ALERT_TRIGGERED
Fired when institution status meets the conditions configured in the developer dashboard.
Properties
webhook_typeDASHBOARD_CONFIGURED_ALERTwebhook_codeINSTITUTION_STATUS_ALERT_TRIGGEREDinstitution_idinstitution_overall _success_ratedouble environmentsandbox, production{
"webhook_type": "DASHBOARD_CONFIGURED_ALERT",
"webhook_code": "INSTITUTION_STATUS_ALERT_TRIGGERED",
"institution_id": "ins_3",
"institution_overall_success_rate": 0.9,
"environment": "production"
}