> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search institutions

>  

This endpoint will return a list of institutions which can be filtered. Responses are paginated. A list of all supported institutions can be obtained by sending a request with only the `name` parameter and setting the value to an empty string. If you cache this list, you must update the cached version at least once each day. We recommend you use this endpoint rather than the deprecated list institutions endpoint to get updated information about institutions.


## OpenAPI

````yaml openapi/nexus/v1.yaml POST /institutions/search
openapi: 3.0.0
info:
  contact:
    name: Nexus API
    url: https://www.mx.com
  version: 1.0.0
  title: Nexus API
  description: >-
    Legacy clients can use Nexus API for all their connectivity needs. If you
    are a new client refer to our Platform API. Review our [Nexus API
    Guides](/nexus) for more information.
servers:
  - url: https://int-data.moneydesktop.com/
  - url: https://data.moneydesktop.com/
security:
  - sessionToken: []
tags:
  - name: accounts
  - name: beats
  - name: budgets
  - name: categories
  - name: extended transaction history
  - name: goals
  - name: holdings
  - name: identity
  - name: insights
  - name: institutions
  - name: jobs
  - name: member credentials
  - name: members
  - name: merchants
  - name: microdeposits
  - name: monthly cash flow profile
  - name: notifications
  - name: scheduled payments
  - name: sessions
  - name: spending plan
  - name: taggings
  - name: tags
  - name: transaction rules
  - name: transactions
  - name: user
  - name: verification
paths:
  /institutions/search:
    post:
      tags:
        - institutions
      summary: Search institutions
      description: >-
        This endpoint will return a list of institutions which can be filtered.
        Responses are paginated. A list of all supported institutions can be
        obtained by sending a request with only the `name` parameter and setting
        the value to an empty string. If you cache this list, you must update
        the cached version at least once each day. We recommend you use this
        endpoint rather than the deprecated list institutions endpoint to get
        updated information about institutions.
      operationId: searchInstitutions
      parameters:
        - name: iso_country_code
          description: >-
            An array of strings that filters institutions in the widget by the
            specified country code. Acceptable codes include `US`, `CA`, and
            `MX` (Mexico).
          required: false
          in: query
          example:
            - US
            - CA
          schema:
            type: array
            items:
              type: string
        - name: page
          description: >-
            Results are returned in paginated sets, this is the page of the
            results you would like to view. Defaults to page 1 if no page is
            specified.
          required: false
          in: query
          schema:
            type: string
        - name: records_per_age
          description: >-
            List from `10` to `1000` to determine how many records per page will
            be used.
          required: false
          in: query
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/vnd.mx.nexus.v1+json:
            schema:
              $ref: '#/components/schemas/InstitutionRequestBody'
      responses:
        '200':
          description: OK
          content:
            application/vnd.mx.nexus.v1+json:
              schema:
                $ref: '#/components/schemas/InstitutionsResponseBody'
components:
  schemas:
    InstitutionRequestBody:
      properties:
        institution:
          $ref: '#/components/schemas/InstitutionRequest'
      type: object
    InstitutionsResponseBody:
      properties:
        institutions:
          items:
            $ref: '#/components/schemas/InstitutionResponse'
          type: array
      type: object
    InstitutionRequest:
      properties:
        account_types:
          description: >-
            (Deprecated) This search parameter has been deprecated along with
            associated fields of the pattern has_*_accounts. It should not be
            used in searches. This returns only institutions which support the
            specified account types. Provided as a string of integers; search
            multiple account types by separating each account type with pipes
          example: deprecated
        name:
          description: Name of the financial instutition.
          example: MX Bank
          type: string
        supports_account_identification:
          description: This returns only institutions which support account identification.
          type: boolean
          example: false
        supports_account_verification:
          description: This returns only institutions which support account verification.
          example: false
          type: boolean
        supports_transaction_history:
          description: >-
            This returns only institutions which support extended transaction
            history.
          example: true
          type: boolean
        url:
          description: This returns only institutions which match the provided URL.
          example: https://mx.com
          type: string
    InstitutionResponse:
      properties:
        code:
          example: mxbank
          description: A unique identifier for each institution. Defined by MX.
          type: string
        created_at:
          example: '2016-09-21T22:03:55.000Z'
          description: >-
            Date and time the institution was created, represented ISO 8601
            format with timestamp.
          type: string
        guid:
          example: INS-1572a04c-912b-59bf-5841-332c7dfafaef
          description: A unique identifier for the institution. Defined by MX.
          type: string
        forgot_password_url:
          example: https://www.mx.com/forgot-password
          description: >-
            The URL of the institution for helping users recover a forgotten
            password.
          type: string
        forgot_username_url:
          example: https://www.mx.com/forgot-username
          description: >-
            The URL of the institution for helping users recover a forgotten
            username.
          type: string
        has_checking_account:
          example: https://www.mx.com/forgot-username
          description: >-
            Deprecated. If the institution has checking accounts, this field
            will be true. Otherwise, this field will be false.
        has_credit_card_accounts:
          example: true
          type: boolean
          description: >-
            (Deprecated) If the institution has credit card accounts, this field
            will be true. Otherwise, this field will be false.
        has_investment_accounts:
          example: true
          type: boolean
          description: >-
            (Deprecated) If the institution has investment accounts, this field
            will be true. Otherwise, this field will be false
        has_line_of_credit_accounts:
          example: true
          type: boolean
          description: >-
            (Deprecated) If the institution has line of credit accounts, this
            field will be true. Otherwise, this field will be false.
        has_loan_accounts:
          example: true
          type: boolean
          description: >-
            (Deprecated) If the institution has loan accounts, this field will
            be true. Otherwise, this field will be false.
        has_mortgage_accounts:
          example: true
          type: boolean
          description: >-
            (Deprecated) If the institution has mortgage accounts, this field
            will be true. Otherwise, this field will be false.
        has_savings_accounts:
          example: true
          type: boolean
          description: >-
            (Deprecated) If the institution has savings accounts, this field
            will be true. Otherwise, this field will be false.
        is_disabled_by_client:
          example: false
          nullable: true
          type: boolean
          description: >-
            This indicates whether the institution has been disabled by the
            client.
        is_hidden:
          example: true
          type: boolean
          description: >-
            If the institution is available for creating new member connections,
            this field will be false. Otherwise, this field will be true.
        is_test:
          example: true
          type: boolean
          description: >-
            If the institution represents a test institution such as MX Bank,
            this field will be true. Otherwise, this field will be false.
        iso_country_code:
          description: The institution's country code.
          example:
            - US
            - CA
          type: array
          items:
            type: string
        medium_logo_url:
          example: >-
            https://content.moneydesktop.com/storage/MD_Assets/Ipad%20Logos/100x100/INS-1572a04c-912b-59bf-5841-332c7dfafaef_100x100.png
          description: >-
            The institution's logo (medium size). This may be a generic logo if
            MX does not have a specific logo for the institution.
        name:
          example: MX Bank
          type: string
          description: The name of the institution that is visible to the user.
        popularity:
          example: 72644
          type: integer
          description: The number of member connections to the institution.
        small_logo_url:
          example: >-
            https://content.moneydesktop.com/storage/MD_AssetsIpad%20Logos/50x50/INS-1572a04c-912b-59bf-5841-332c7dfafaef_50x50.png
          description: >-
            The institution's logo (small size). This may be a generic logo if
            MX does not have a specific logo for the institution.
        supports_account_identification:
          example: true
          type: boolean
          description: >-
            Indicates whether account identification is available for this
            institution.
        supports_account_verification:
          example: true
          type: boolean
          description: >-
            Indicates whether account verification is available for this
            institution.
        supports_oauth:
          example: true
          type: boolean
          description: >-
            This indicates whether the institution supports OAuth
            authentication.
        supports_transaction_history:
          example: false
          type: boolean
          description: >-
            Indicates whether the institution allows access to up to 24 months
            of transaction data.
        trouble_signing_in_url:
          example: https://www.mx.com/trouble-signing-in
          type: string
          description: >-
            The URL of the institution for helping users troubleshoot any other
            sign-in issue.
        updated_at:
          example: '2022-04-11T17:38:27.000Z'
          description: >-
            Date and time the institution was updated, represented in ISO 8601
            format with timestamp (e.g. 2015-04-13T12:01:23-00:00).
          type: string
        url:
          example: https://www.mx.com
          description: The URL of the institution.
          type: string
  securitySchemes:
    sessionToken:
      description: >
        ### MX Session Token 

        - Request an API token using the read API token endpoint in the MX SSO
        API.

        - Exchange an API token for a session token. 
          - A session token is obtained by sending a POST request to /sessions
          - The session token will be used in each request made for the user. It should be passed in an `MD-SESSION-TOKEN` HTTP header as shown below.
          - This session token is valid for 30 minutes from the time it was created. The 30 minute expiration counter is refreshed with each call.
          - If you send a request with an expired session token you'll receive an error code of `4011`.

        ```

        curl -i https://int-data.moneydesktop.com/accounts \

        -H 'MD-SESSION-TOKEN:
        CWforZl1Vn2vC_v6H4rnQRT1DoWpDouJAV-_5TBmiQRAtA8rsOG_BoajTiOSsL0A3bd-bmHXlA-eQzc9ywItKg'
        \

        -H 'Content-Type: application/vnd.mx.nexus.v1+json' \

        -H 'Accept: application/vnd.mx.nexus.v1+json'

        ```


        In documentation code examples, replace `<API_KEY_VALUE>` with the
        session token.
      type: apiKey
      name: MD-SESSION-TOKEN
      in: header

````