---
title: "Get details of all supported institutions"
method: POST
path: "/institutions/get"
tags: ["plaid"]
---

# Get details of all supported institutions

`POST /institutions/get`

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 body

- InstitutionsGetRequest — InstitutionsGetRequest defines the request schema for `/institutions/get`
  - `client_id` string — Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.
  - `secret` string — Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.
  - `count` integer, required — The total number of Institutions to return.
  - `offset` integer, required — The number of Institutions to skip.
  - `country_codes` CountryCode[], required — Specify which country or countries to include institutions from, using the ISO-3166-1 alpha-2 country code standard. In 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.
  - `options` InstitutionsGetRequestOptions — An optional object to filter `/institutions/get` results.
    - `products` Products[], nullable — Filter the Institutions based on which products they support. Will only return institutions that support all listed products. When filtering based on `auth`, 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`.
    - `routing_numbers` string[], nullable — Specify an array of routing numbers to filter institutions. The response will only return institutions that match all of the routing numbers in the array. Routing number records used for this matching are generally comprehensive; however, failure to match a given routing number to an institution does not necessarily mean that the institution is unsupported by Plaid. Invalid routing numbers (numbers that are not 9 digits in length or do not have a valid checksum) will be filtered from the array before the response is processed. If all provided routing numbers are invalid, an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned.
    - `oauth` boolean, nullable — Limit results to institutions with or without OAuth login flows. Note that institutions will have `oauth` 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_metadata` boolean — When `true`, 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_metadata` boolean — When `true`, returns metadata related to the Auth product indicating which auth methods are supported.
    - `include_payment_initiation_metadata` boolean — When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.

## Response `200`

OK

- InstitutionsGetResponse — InstitutionsGetResponse defines the response schema for `/institutions/get`
  - `institutions` Institution[], required — A list of Plaid institutions
    - `institution_id` string, required — Unique identifier for the institution. Note that the same institution may have multiple records, each with different institution IDs; for example, if the institution has migrated to OAuth, there may be separate `institution_id`s 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_id`s for each country or portal.
    - `name` string, required — The official name of the institution.
    - `products` Products[], required — A list of the Plaid products supported by the institution. Note that only institutions that support Instant Auth will return `auth` 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](https://plaid.com/docs/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.
    - `country_codes` CountryCode[], required — A list of the country codes supported by the institution.
    - `url` string, nullable — The URL for the institution's website
    - `primary_color` string, nullable — Hexadecimal representation of the primary color used by the institution. If Plaid does not have primary color data for the institution, this field will be a deterministically generated fallback color.
    - `logo` string, nullable — Base64 encoded representation of the institution's logo, returned as a base64 encoded 152x152 PNG. Not all institutions' logos are available.
    - `routing_numbers` string[], required — A list of routing numbers known to be associated with the institution. This list is provided for the purpose of looking up institutions by routing number. It is generally comprehensive but is not guaranteed to be a complete list of routing numbers for an institution.
    - `dtc_numbers` string[] — A partial list of DTC numbers associated with the institution.
    - `oauth` boolean, required — Indicates that the institution has an OAuth login flow. This will be `true` if OAuth is supported for any Items associated with the institution, even if the institution also supports non-OAuth connections.
    - `status` InstitutionStatus, nullable — The status of an institution is determined by the health of its Item logins, Transactions updates, Investments updates, Liabilities updates, Auth requests, Balance requests, Identity requests, Investments requests, and Liabilities requests. A login attempt is conducted during the initial Item add in Link. If there is not enough traffic to accurately calculate an institution's status, Plaid will return null rather than potentially inaccurate data. Institution status is accessible in the Dashboard and via the API using the `/institutions/get_by_id` endpoint with the `options.include_status` option set to true. Note that institution status is not available in the Sandbox environment.
      - `item_logins` ProductStatus, nullable — A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
        - `status` 'HEALTHY' | 'DEGRADED' | 'DOWN', required — This field is deprecated in favor of the `breakdown` 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 failing
        - `last_status_change` string, date-time, required — [ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution.
        - `breakdown` ProductStatusBreakdown, required — A detailed breakdown of the institution's performance for a request type. The values for `success`, `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](https://plaid.com/docs/account/activity/#troubleshooting-institution-insights).
          - `success` number, double, required — The percentage of login attempts that are successful, expressed as a decimal.
          - `error_plaid` number, double, required — The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.
          - `error_institution` number, double, required — The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.
          - `refresh_interval` 'NORMAL' | 'DELAYED' | 'STOPPED' — How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high.
      - `transactions_updates` ProductStatus, nullable — A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
        - `status` 'HEALTHY' | 'DEGRADED' | 'DOWN', required — This field is deprecated in favor of the `breakdown` 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 failing
        - `last_status_change` string, date-time, required — [ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution.
        - `breakdown` ProductStatusBreakdown, required — A detailed breakdown of the institution's performance for a request type. The values for `success`, `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](https://plaid.com/docs/account/activity/#troubleshooting-institution-insights).
          - `success` number, double, required — The percentage of login attempts that are successful, expressed as a decimal.
          - `error_plaid` number, double, required — The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.
          - `error_institution` number, double, required — The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.
          - `refresh_interval` 'NORMAL' | 'DELAYED' | 'STOPPED' — How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high.
      - `auth` ProductStatus, nullable — A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
        - `status` 'HEALTHY' | 'DEGRADED' | 'DOWN', required — This field is deprecated in favor of the `breakdown` 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 failing
        - `last_status_change` string, date-time, required — [ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution.
        - `breakdown` ProductStatusBreakdown, required — A detailed breakdown of the institution's performance for a request type. The values for `success`, `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](https://plaid.com/docs/account/activity/#troubleshooting-institution-insights).
          - `success` number, double, required — The percentage of login attempts that are successful, expressed as a decimal.
          - `error_plaid` number, double, required — The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.
          - `error_institution` number, double, required — The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.
          - `refresh_interval` 'NORMAL' | 'DELAYED' | 'STOPPED' — How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high.
      - `identity` ProductStatus, nullable — A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
        - `status` 'HEALTHY' | 'DEGRADED' | 'DOWN', required — This field is deprecated in favor of the `breakdown` 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 failing
        - `last_status_change` string, date-time, required — [ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution.
        - `breakdown` ProductStatusBreakdown, required — A detailed breakdown of the institution's performance for a request type. The values for `success`, `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](https://plaid.com/docs/account/activity/#troubleshooting-institution-insights).
          - `success` number, double, required — The percentage of login attempts that are successful, expressed as a decimal.
          - `error_plaid` number, double, required — The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.
          - `error_institution` number, double, required — The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.
          - `refresh_interval` 'NORMAL' | 'DELAYED' | 'STOPPED' — How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high.
      - `investments_updates` ProductStatus, nullable — A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
        - `status` 'HEALTHY' | 'DEGRADED' | 'DOWN', required — This field is deprecated in favor of the `breakdown` 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 failing
        - `last_status_change` string, date-time, required — [ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution.
        - `breakdown` ProductStatusBreakdown, required — A detailed breakdown of the institution's performance for a request type. The values for `success`, `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](https://plaid.com/docs/account/activity/#troubleshooting-institution-insights).
          - `success` number, double, required — The percentage of login attempts that are successful, expressed as a decimal.
          - `error_plaid` number, double, required — The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.
          - `error_institution` number, double, required — The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.
          - `refresh_interval` 'NORMAL' | 'DELAYED' | 'STOPPED' — How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high.
      - `liabilities_updates` ProductStatus, nullable — A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
        - `status` 'HEALTHY' | 'DEGRADED' | 'DOWN', required — This field is deprecated in favor of the `breakdown` 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 failing
        - `last_status_change` string, date-time, required — [ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution.
        - `breakdown` ProductStatusBreakdown, required — A detailed breakdown of the institution's performance for a request type. The values for `success`, `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](https://plaid.com/docs/account/activity/#troubleshooting-institution-insights).
          - `success` number, double, required — The percentage of login attempts that are successful, expressed as a decimal.
          - `error_plaid` number, double, required — The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.
          - `error_institution` number, double, required — The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.
          - `refresh_interval` 'NORMAL' | 'DELAYED' | 'STOPPED' — How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high.
      - `liabilities` ProductStatus, nullable — A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
        - `status` 'HEALTHY' | 'DEGRADED' | 'DOWN', required — This field is deprecated in favor of the `breakdown` 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 failing
        - `last_status_change` string, date-time, required — [ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution.
        - `breakdown` ProductStatusBreakdown, required — A detailed breakdown of the institution's performance for a request type. The values for `success`, `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](https://plaid.com/docs/account/activity/#troubleshooting-institution-insights).
          - `success` number, double, required — The percentage of login attempts that are successful, expressed as a decimal.
          - `error_plaid` number, double, required — The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.
          - `error_institution` number, double, required — The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.
          - `refresh_interval` 'NORMAL' | 'DELAYED' | 'STOPPED' — How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high.
      - `investments` ProductStatus, nullable — A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
        - `status` 'HEALTHY' | 'DEGRADED' | 'DOWN', required — This field is deprecated in favor of the `breakdown` 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 failing
        - `last_status_change` string, date-time, required — [ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution.
        - `breakdown` ProductStatusBreakdown, required — A detailed breakdown of the institution's performance for a request type. The values for `success`, `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](https://plaid.com/docs/account/activity/#troubleshooting-institution-insights).
          - `success` number, double, required — The percentage of login attempts that are successful, expressed as a decimal.
          - `error_plaid` number, double, required — The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.
          - `error_institution` number, double, required — The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.
          - `refresh_interval` 'NORMAL' | 'DELAYED' | 'STOPPED' — How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high.
      - `health_incidents` HealthIncident[], nullable — Details of recent health incidents associated with the institution.
        - `start_date` string, date-time, required — The start date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `"2020-10-30T15:26:48Z"`.
        - `end_date` string, date-time, nullable — The end date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `"2020-10-30T15:26:48Z"`.
        - `title` string, required — The title of the incident
        - `incident_updates` IncidentUpdate[], required — Updates on the health incident.
          - `description` string — The content of the update.
          - `status` 'INVESTIGATING' | 'IDENTIFIED' | 'SCHEDULED' | 'RESOLVED' | 'UNKNOWN' — The status of the incident.
          - `updated_date` string, date-time — The date when the update was published, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `"2020-10-30T15:26:48Z"`.
    - `payment_initiation_metadata` PaymentInitiationMetadata, nullable — Metadata that captures what specific payment configurations an institution supports when making Payment Initiation requests.
      - `supports_international_payments` boolean, required — Indicates whether the institution supports payments from a different country.
      - `supports_sepa_instant` boolean, required — Indicates whether the institution supports SEPA Instant payments.
      - `maximum_payment_amount` PaymentInitiationMaximumPaymentAmount, required — A mapping of currency to maximum payment amount (denominated in the smallest unit of currency) supported by the institution. Example: `{"GBP": "10000"}`
      - `supports_refund_details` boolean, required — Indicates whether the institution supports returning refund details when initiating a payment.
      - `standing_order_metadata` PaymentInitiationStandingOrderMetadata, nullable, required — Metadata specifically related to valid Payment Initiation standing order configurations for the institution.
        - `supports_standing_order_end_date` boolean, required — Indicates whether the institution supports closed-ended standing orders by providing an end date.
        - `supports_standing_order_negative_execution_days` boolean, required — This is only applicable to `MONTHLY` 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_intervals` PaymentScheduleInterval[], required — A list of the valid standing order intervals supported by the institution.
      - `supports_payment_consents` boolean, required — Indicates whether the institution supports payment consents.
    - `auth_metadata` AuthMetadata, nullable — Metadata that captures information about the Auth features of an institution.
      - `supported_methods` AuthSupportedMethods, nullable, required — Metadata specifically related to which auth methods an institution supports.
        - `instant_auth` boolean, required — Indicates if instant auth is supported.
        - `instant_match` boolean, required — Indicates if instant match is supported.
        - `automated_micro_deposits` boolean, required — Indicates if automated micro-deposits are supported.
        - `instant_micro_deposits` boolean, required — Indicates if instant micro-deposits are supported.
  - `total` integer, required — The total number of institutions available via this endpoint
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

## Other responses

- `default` — Error response

---

[API](https://skmtc.net/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.net/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/versions/64c4514ea59b/schema)
