FDIC Financials API

Financial Information

OpenAPI Specification

fdic-financials-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: API to serve banking industry data to the public.
  version: 0.1.0
  title: FDIC Bank Data API (Beta) Demographics Financials API
  contact:
    email: PublicDataFeedback@fdic.gov
servers:
- description: API to serve banking industry data to the public.
  url: /banks
tags:
- name: Financials
  description: Financial Information
paths:
  /financials:
    get:
      tags:
      - Financials
      security:
      - ApiKeyAuth: []
      summary: Get Financial Information for FDIC Insured Institutions
      operationId: getFinancials
      description: Returns financial information for financial institutions
      parameters:
      - in: query
        name: api_key
        description: Api key used for api.fdic.gov
        required: false
        schema:
          type: string
      - in: query
        name: filters
        description: "The filter criteria that refines the records included in the result. All values must be entered in UPPERCASE.\nExamples:  \n* Filter data by the numeric range  \n`ASSET:[1000 TO 9999]`\n"
        required: false
        example: CERT:14
        schema:
          type: string
      - in: query
        name: fields
        description: Comma delimited list of fields with quarterly financial data to return. All values must be entered in UPPERCASE.
        required: false
        example: CERT,REPDTE,ASSET,DEP
        schema:
          type: string
      - in: query
        name: sort_by
        description: Field name by which to sort returned data. All values must be entered in UPPERCASE.
        required: false
        example: REPDTE
        schema:
          type: string
          default: REPDTE
      - in: query
        name: sort_order
        description: Indicator if ascending (ASC) or descending (DESC). All values must be entered in UPPERCASE.
        required: false
        example: DESC
        schema:
          type: string
          default: ASC
      - in: query
        name: limit
        description: The number of records to return. Default is 10 and maximum is 10,000. However, if the fields request is for more than 250 fields (variables), the maximum limit is 500 to ensure the request is successful.
        required: false
        example: 10
        schema:
          type: integer
          minimum: 0
          maximum: 10000
          default: 10
      - in: query
        name: offset
        description: The offset of page to return.
        required: false
        example: 0
        schema:
          type: integer
          minimum: 0
          default: 0
      - in: query
        name: agg_by
        description: The field by which data will be aggregated. All values must be entered in UPPERCASE.
        required: false
        example: CERT
        schema:
          type: string
      - in: query
        name: agg_term_fields
        description: The field(s) for which aggregations will be counted for each unique term. All values must be entered in UPPERCASE.
        required: false
        example: REPDTE
        schema:
          type: string
      - in: query
        name: agg_sum_fields
        description: The field(s) for which aggregations will be summed or aggregated. All values must be entered in UPPERCASE.
        required: false
        example: ASSET
        schema:
          type: string
      - in: query
        name: agg_limit
        description: The limit on how many aggregated results will be displayed
        required: false
        example: 1
        schema:
          type: integer
          minimum: 0
          maximum: 10000
      - $ref: '#/components/parameters/fileFormat'
      - $ref: '#/components/parameters/fileDownload'
      - $ref: '#/components/parameters/fileName'
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                properties:
                  meta:
                    $ref: '#/components/schemas/metadata'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/financial'
                  totals:
                    $ref: '#/components/schemas/totals'
            text/csv:
              schema:
                type: string
                format: csv
        '400':
          description: bad input parameter
components:
  schemas:
    totals:
      type: object
      description: Total and subtotal data (additional properties based on fields selected)
      properties:
        count:
          type: integer
          description: Total result count
    financial:
      type: object
      allOf:
      - $ref: risview_properties.yaml
    metadata:
      type: object
      properties:
        total:
          type: integer
          description: Total query result count
        parameters:
          type: object
          description: Query parameters supplied
        index:
          type: object
          properties:
            name:
              type: string
              description: name of index used to retrieve data
            createTimestamp:
              type: string
              format: date-time
              description: date/time index was created
  parameters:
    fileName:
      in: query
      name: filename
      description: The filename to use when downloading data.
      required: false
      example: data_file
      schema:
        type: string
    fileDownload:
      in: query
      name: download
      description: Whether the data should be downloaded as a file.
      required: false
      example: false
      schema:
        type: boolean
        enum:
        - false
        - true
    fileFormat:
      in: query
      name: format
      description: The format of the data to return.
      required: false
      example: json
      schema:
        type: string
        enum:
        - json
        - csv