---
title: "Search for financial institutions"
method: POST
path: "/v1/banks/search"
tags: ["Banks"]
---

# Search for financial institutions

`POST /v1/banks/search`

## Request

- Base URL: `https://api.banksync.io`
- URL: `https://api.banksync.io/v1/banks/search`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Deprecated: use POST /v1/banks/brands/search (one row per bank, every way in). Search the institution catalog for providers currently connectable in this workspace and environment. Results exclude providers whose feature gate is disabled as well as catalog-only seed data that cannot be connected in-app.

## Request body

- object
  - `query` string, required
  - `countryCodes` string[]
  - `providerInstanceId` string

## Response `200`

Search results

- object
  - `success` true, required
  - `data` object, required
    - `institutions` object[], required
      - `id` string, required
      - `name` string, required
      - `logo` string
      - `countryCodes` string[], required
      - `provider` string, required
      - `providerInstanceId` string
      - `region` string
      - `products` string[]
      - `url` string
      - `primaryColor` string
      - `brandKey` string
      - `routingNumbers` string[]
      - `tags` string[]
    - `providers` object[], required
      - `id` string, required
      - `status` 'ok' | 'rate_limited' | 'failed' | 'skipped_unsupported_country' | 'skipped_unsupported_capability' | 'skipped_excluded', required
      - `contributed` integer, required
      - `error` string
      - `providerErrorCode` string
      - `retryAfter` string, date-time

## Other responses

- `400`: Invalid request
- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/banksync/apis/banksync-api.md) · [All operations](https://skmtc.dev/banksync/apis/banksync-api/llms.txt) · [OpenAPI document](https://skmtc.dev/banksync/apis/banksync-api/revisions/94465f5ee922?raw)
