1try{let t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},e=(new t.Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="3fe482bd-08b3-4ce0-b26f-8dbed7ec87d4",t._sentryDebugIdIdentifier="sentry-dbid-3fe482bd-08b3-4ce0-b26f-8dbed7ec87d4")}catch(t){}(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[66014],{60320:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return h},metadata:function(){return u},tableOfContents:function(){return k}});var s=n(36864),i=n(4730);n(67294);var o=n(3905),r=n(47608),a=["components"],u={toc:!0,subnav:!0,layout:"reference",source:"endpoint",maxTocLevel:4,secondLevelToc:!0,alwaysExpand:!0,parentTocLevel:3,childTocLevel:4,description:"API reference for institutions endpoints used to fetch institutions-related data. Use these endpoints to assess the health of institutions and more."},c=function(t){return function(e){return console.warn("Component "+t+" was not imported, exported, or provided by MDXProvider as global scope"),(0,o.kt)("div",e)}},d=c("Header"),l=c("Callout"),p=c("APIVersion"),y=c("Schema"),m=c("MDXCodeBlock"),I={metadata:u};function h(t){var e=t.components,n=(0,i.Z)(t,a);return(0,o.kt)("wrapper",(0,s.Z)({},I,n,{components:e,mdxType:"MDXLayout"}),(0,o.kt)(d,{title:"Institutions endpoints",subtitle:"Fetch data about supported institutions",mdxType:"Header"}),(0,o.kt)("h4",{id:"institution-coverage"},"Institution coverage"),(0,o.kt)("p",null,"For a user-friendly overview of which institutions Plaid supports, and the product coverage at each institution, see the ",(0,o.kt)("a",{parentName:"p",href:"/docs/institutions"},"US and Canada Coverage Explorer")," or ",(0,o.kt)("a",{parentName:"p",href:"/docs/institutions/europe"},"European Coverage Explorer"),". "),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{parentName:"p",href:"https://dashboard.plaid.com/activity/status"},"Institutions page")," also provides a browsable view of institutions and supported products, with a focus on reporting institution health and downtimes."),(0,o.kt)("p",null,"For more detailed institution information, or to access this data programmatically, use the API endpoints described on this page. "),(0,o.kt)("h5",{id:"supported-countries"},"Supported countries"),(0,o.kt)("p",null,"For a list of which products are supported for each country, see ",(0,o.kt)("a",{parentName:"p",href:"https://support.plaid.com/hc/en-us/articles/27895826947735-What-Plaid-products-are-supported-in-each-country-and-region"},"supported products by country")," or the docs for the specific product you are interested in."),(0,o.kt)("p",null,"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, ",(0,o.kt)("a",{parentName:"p",href:"https://dashboard.plaid.com/support/new/product-and-development/product-troubleshooting/request-product-access"},"file a product access support ticket"),"."),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Endpoints"),(0,o.kt)("th",{parentName:"tr",align:null}))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("inlineCode",{parentName:"td"},"/institutions/get")),(0,o.kt)("td",{parentName:"tr",align:null},"Get a list of all supported institutions meeting specified criteria")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("inlineCode",{parentName:"td"},"/institutions/get_by_id")),(0,o.kt)("td",{parentName:"tr",align:null},"Get details about a specific institution")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("inlineCode",{parentName:"td"},"/institutions/search")),(0,o.kt)("td",{parentName:"tr",align:null},"Look up an institution by name")))),(0,o.kt)(l,{mdxType:"Callout"},(0,o.kt)("p",null,"The interface for these endpoints has changed in API version 2020-09-14. If you are using an older API version, see ",(0,o.kt)("a",{parentName:"p",href:"/docs/api/versioning"},"API versioning"),".")),(0,o.kt)("h3",{id:"endpoints"},"Endpoints"),(0,o.kt)("h4",{id:"institutionsget"},"/institutions/get"),(0,o.kt)(p,{version:"<2020-09-14",mdxType:"APIVersion"},(0,o.kt)(y,{method:"POST",route:"/institutions/get",type:"request",mdxType:"Schema"},(0,o.kt)(m,{type:"server",title:"/institutions/get",mdxType:"MDXCodeBlock"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-node"},"const request: InstitutionsGetRequest = {\n count: 10,\n offset: 0,\n};\ntry {\n const response = await plaidClient.institutionsGet(request);\n const institutions = response.data.institutions;\n} catch (error) {\n // handle error\n}\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},'curl -X POST https://sandbox.plaid.com/institutions/get \\\n-H \'Content-Type: application/json\' \\\n-d \'{\n "client_id": <ClientQD>"${PLAID_CLIENT_ID}"</ClientQD>,\n "secret": <SecretQD>"${PLAID_SECRET}"</SecretQD>,\n "count": Number,\n "offset": Number\n}\'\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ruby"},'request = Plaid::InstitutionsGetRequest.new(\n {\n count: count,\n offset: offset,\n options: {\n products: ["transactions"],\n include_optional_metadata: true,\n }\n }\n)\nresponse = client.institutions_get(request)\ninstitutions = response.institutions\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"}
1,"InstitutionsGetRequest request = new InstitutionsGetRequest()\n .count(count)\n .offset(offset)\n .countryCodes(Arrays.asList(CountryCode.US));\nResponse<InstitutionsGetResponse> response = client()\n .institutionsGet(request)\n .execute();\nList<Institution> institutions = response.body().getInstitutions();\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-python"},"request = InstitutionsGetRequest(\n count=count,\n offset=offset,\n country_codes=[CountryCode('US')],\n)\nresponse = client.institutions_get(request)\ninstitutions = response['institutions']\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"request := plaid.NewInstitutionsGetRequest(count, offset, countryCodes)\nresp, _, err := client.PlaidApi.InstitutionsGet(ctx).InstitutionsGetRequest(*request).Execute()\nif err != nil {\n // handle error\n}\n"))))),(0,o.kt)(p,{version:">=2020-09-14",mdxType:"APIVersion"},(0,o.kt)(y,{method:"POST",route:"/institutions/get",type:"request",mdxType:"Schema"},(0,o.kt)(m,{type:"server",title:"/institutions/get",mdxType:"MDXCodeBlock"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-node"},"// Pull institutions\nconst request: InstitutionsGetRequest = {\n count: 10,\n offset: 0,\n country_codes: ['US'],\n};\ntry {\n const response = await plaidClient.institutionsGet(request);\n const institutions = response.data.institutions;\n} catch (error) {\n // Handle error\n}\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},'curl -X POST https://sandbox.plaid.com/institutions/get \\\n-H \'Content-Type: application/json\' \\\n-d \'{\n "client_id": <ClientQD>"${PLAID_CLIENT_ID}"</ClientQD>,\n "secret": <SecretQD>"${PLAID_SECRET}"</SecretQD>,\n "count": Number,\n "offset": Number,\n "country_codes": Array\n}\'\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ruby"},'request = Plaid::InstitutionsGetRequest.new(\n {\n count: count,\n offset: offset,\n country_codes: ["US"],\n options: {\n products: ["transactions"],\n }\n }\n)\nresponse = client.institutions_get(request)\ninstitutions = response.institutions\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"InstitutionsGetRequest request = new InstitutionsGetRequest()\n .count(count)\n .offset(offset)\n .countryCodes(Arrays.asList(CountryCode.US));\nResponse<InstitutionsGetResponse> response = client()\n .institutionsGet(request)\n .execute();\nList<Institution> institutions = response.body().getInstitutions();\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-python"},"request = InstitutionsGetRequest(\n country_codes=[CountryCode('US')],\n count=count,\n offset=offset\n)\nresponse = client.institutions_get(request)\ninstitutions = response['institutions']\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"request := plaid.NewInstitutionsGetRequest(count, offset, countryCodes)\nresp, _, err := client.PlaidApi.InstitutionsGet(ctx).InstitutionsGetRequest(*request).Execute()\nif err != nil {\n // handle error\n}\n"))))),(0,o.kt)(y,{method:"POST",route:"/institutions/get",type:"response",mdxType:"Schema"}),(0,o.kt)("h4",{id:"institutionsget_by_id"},"/institutions/get_by_id"),(0,o.kt)(p,{version:"<2020-09-14",mdxType:"APIVersion"},(0,o.kt)(y,{method:"POST",route:"/institutions/get_by_id",type:"request",mdxType:"Schema"},(0,o.kt)(m,{type:"server",title:"/institutions/get_by_id",mdxType:"MDXCodeBlock"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-python"},"request = InstitutionsGetByIdRequest(\n institution_id=INSTITUTION_ID,\n)\nresponse = client.institutions_get_by_id(request)\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},'curl -X POST https://sandbox.plaid.com/institutions/get_by_id \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "institution_id": "ins_109512",\n "client_id": <ClientQD>"${PLAID_CLIENT_ID}"</ClientQD>,\n "secret": <SecretQD>"${PLAID_SECRET}"</SecretQD>\n }\'\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ruby"},"request = Plaid::InstitutionsGetByIdRequest.new(\n {\n institution_id: INSTITUTION_ID\n }\n)\nresponse = client.institutions_get_by_id(request)\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"request := plaid.NewInstitutionsGetByIdRequest(institutionID, countryCodes)\nresponse, _, err := client.PlaidApi.InstitutionsGetById(ctx).InstitutionsGetByIdRequest(*request).Execute()\nif err != nil {\n // handle error\n}\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"InstitutionsGetByIdRequest request = new InstitutionsGetByIdRequest()\n .institutionId(INSTITUTION_ID);\nResponse<InstitutionsGetByIdResponse> response = client()\n .institutionsGetById(request)\n .execute();\nInstitution institution = response.body().getInstitution();\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-node"},"const request: InstitutionsGetByIdRequest = {\n institution_id: institutionID,\n};\ntry {\n const response = await plaidClient.institutionsGetById(request);\n const institution = response.data.institution;\n} catch (error) {\n // Handle error\n}\n"))))),(0,o.kt)(p,{version:">=2020-09-14",mdxType:"APIVersion"},(0,o.kt)(y,{method:"POST",route:"/institutions/get_by_id",type:"request",mdxType:"Schema"},(0,o.kt)(m,{type:"server",title:"/institutions/get_by_id",mdxType:"MDXCodeBlock"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-python"},"request = InstitutionsGetByIdRequest(\n institution_id=INSTITUTION_ID,\n country_codes=[CountryCode('US')]\n)\nresponse = client.institutions_get_by_id(request)\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},'curl -X POST https://sandbox.plaid.com/institutions/get_by_id \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "institution_id": "ins_109512",\n "client_id": <ClientQD>"${PLAID_CLIENT_ID}"</ClientQD>,\n "secret": <SecretQD>"${PLAID_SECRET}"</SecretQD>,\n "country_codes": Array\n }\'\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ruby"},'request = Plaid::InstitutionsGetByIdRequest.new(\n {\n institution_id: INSTITUTION_ID,\n country_codes: ["US"]\n }\n)\nresponse = client.institutions_get_by_id(request)\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"request := plaid.NewInstitutionsGetByIdRequest(institutionID, countryCodes)\nresponse, _, err := client.PlaidApi.InstitutionsGetById(ctx).InstitutionsGetByIdRequest(*request).Execute()\nif err != nil {\n // handle error\n}\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"InstitutionsGetByIdRequest request = new InstitutionsGetByIdRequest()\n .institutionId(INSTITUTION_ID)\n .addCountryCodesItem(CountryCode.US);\nResponse<InstitutionsGetByIdResponse> response = client()\n .institutionsGetById(request)\n .execute();\nInstitution institution = response.body().getInstitution();\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-node"},"const request: InstitutionsGetByIdRequest = {\n institution_id: institutionID,\n country_codes: ['US'],\n};\ntry {\n const response = await plaidClient.institutionsGetById(request);\n const institution = response.data.institution;\n} catch (error) {\n // Handle error\n}\n"))))),(0,o.kt)(y,{method:"POST",route:"/institutions/get_by_id",type:"response",mdxType:"Schema"}),(0,o.kt)("h4",{id:"institutionssearch"},"/institutions/search"),(0,o.kt)(p,{version:"<2020-09-14",mdxType:"APIVersion"},(0,o.kt)(y,{method:"POST",route:"/institutions/search",type:"request",mdxType:"Schema"},(0,o.kt)(m,{type:"server",title:"/institutions/search",mdxType:"MDXCodeBlock"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-node"},"const request: InstitutionsSearchRequest = {\n query: SEARCH_QUERY,\n products: ['transactions'],\n};\ntry {\n const response = await plaidClient.institutionsSearch(request);\n const institutions = response.data.institutions;\n} catch (error) {\n // Handle error\n}\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},'curl -X POST https://sandbox.plaid.com/institutions/search \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "query": "Gingham",\n "products": ["transactions"],\n "client_id": <ClientQD>"${PLAID_CLIENT_ID}"</ClientQD>,\n "secret": <SecretQD>"${PLAID_SECRET}"</SecretQD>\n }\'\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ruby"},'# search with products\nrequest = Plaid::InstitutionsSearchRequest.new(\n {\n query: SEARCH_QUERY,\n products: ["transactions"]\n }\n)\nresponse = client.institutions_search(request)\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"InstitutionsSearchRequest request = new InstitutionsSearchRequest()\n .products(Arrays.asList(Products.IDENTITY))\n .query(SEARCH_QUERY);\nResponse<InstitutionsSearchResponse> response = client()\n .institutionsSearch(request)\n .execute();\nList<Institution> results = response.body().getInstitutions();\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-python"},"request = InstitutionsSearchRequest(\n query=SEARCH_QUERY,\n products=[Products('transactions')]\n)\nresponse = client.institutions_search(request)\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"request := plaid.NewInstitutionsSearchRequest(query, countryCodes)\nrequest.SetProducts(products)\nresponse, _, err := client.PlaidApi.InstitutionsSearch(ctx).InstitutionsSearchRequest(*request).Execute()\nif err != nil {\n // handle error\n}\n"))))),(0,o.kt)(p,{version:">=2020-09-14",mdxType:"APIVersion"},(0,o.kt)(y,{method:"POST",route:"/institutions/search",type:"request",mdxType:"Schema"},(0,o.kt)(m,{type:"server",title:"/institutions/search",mdxType:"MDXCodeBlock"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-node"},"const request: InstitutionsSearchRequest = {\n query: SEARCH_QUERY,\n products: ['transactions'],\n country_codes: ['US'],\n};\ntry {\n const response = await plaidClient.institutionsSearch(request);\n const institutions = response.data.institutions;\n} catch (error) {\n // Handle error\n}\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},'curl -X POST https://sandbox.plaid.com/institutions/search \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "query": "Gingham",\n "products": ["transactions"],\n "client_id": <ClientQD>"${PLAID_CLIENT_ID}"</ClientQD>,\n "secret": <SecretQD>"${PLAID_SECRET}"</SecretQD>,\n "country_codes": ["US"]\n }\'\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ruby"},'# search with products\nrequest = Plaid::InstitutionsSearchRequest.new(\n {\n query: SEARCH_QUERY,\n products: ["transactions"],\n country_codes: ["US"]\n }\n)\nresponse = client.institutions_search(request)\n')),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"InstitutionsSearchRequest request = new InstitutionsSearchRequest()\n .countryCodes(Arrays.asList(CountryCode.US))\n .products(Arrays.asList(Products.IDENTITY))\n .query(SEARCH_QUERY);\nResponse<InstitutionsSearchResponse> response = client()\n .institutionsSearch(request)\n .execute();\nList<Institution> results = response.body().getInstitutions();\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-python"},"request = InstitutionsSearchRequest(\n query=SEARCH_QUERY,\n products=[Products('transactions')],\n country_codes=[CountryCode('US')],\n)\nresponse = client.institutions_search(request)\n")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"request := plaid.NewInstitutionsSearchRequest(query, countryCodes)\nrequest.SetProducts(products)\nresponse, _, err := client.PlaidApi.InstitutionsSearch(ctx).InstitutionsSearchRequest(*request).Execute()\nif err != nil {\n // handle error\n}\n"))))),(0,o.kt)(y,{method:"POST",route:"/institutions/search",type:"response",mdxType:"Schema"}),(0,o.kt)("h3",{id:"webhooks"},"Webhooks"),(0,o.kt)("p",null,"Institution status alerts are configured within the ",(0,o.kt)("a",{parentName:"p",href:"https://dashboard.plaid.com/settings/team/notification-preferences"},"developer dashboard"),". In the dashboard, you can choose to receive alerts as either emails or webhooks."),(0,o.kt)("p",null,"All dashboard-configured institution status alerts will have type ",(0,o.kt)("inlineCode",{parentName:"p"},"DASHBOARD_CONFIGURED_ALERT"),"."),(0,o.kt)("h4",{id:"institution_status_alert_triggered"},(0,o.kt)("inlineCode",{parentName:"h4"},"INSTITUTION_STATUS_ALERT_TRIGGERED")),(0,o.kt)(y,{model:"InstitutionStatusAlertWebhook",type:"model",mdxType:"Schema"}))}h.isMDXComponent=!0;var k=[{id:"institution-coverage",level:4,title:"Institution coverage"},{id:"endpoints",level:3,title:"Endpoints"},{id:"institutionsget",level:4,title:"/institutions/get"},{id:"institutionsget_by_id",level:4,title:"/institutions/get_by_id"},{id:"institutionssearch",level:4,title:"/institutions/search"},{id:"webhooks",level:3,title:"Webhooks"},{id:"institution_status_alert_triggered",level:4,title:"INSTITUTION_STATUS_ALERT_TRIGGERED"}];I.tableOfContents=k,h.layoutProps=I,h.layout=function(t){return(0,o.kt)(r.Z,t)}},19078:function(t,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/api/institutions",function(){return n(60320)}])}},function(t){t.O(0,[49774,86898,26736,29622,12291,22359,68239,79255,92888,40179],function(){return t(t.s=19078)}),_N_E=t.O()}]); 2//# sourceMappingURL=institutions-13aaab3258b0cf9d.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.