{
  "openapi": "3.0.1",
  "info": {
    "title": "FDIC Deposit Market Share & HHI Rollup — SOD Branch Data",
    "description": "County, MSA & state deposit market share from FDIC Summary of Deposits branch data: per-bank share + rank, HHI concentration (DOJ thresholds), top-3 share, YoY branch openings/closures. Keyless official FDIC API. For bank M&A, deposit brokers, fintech partnerships, site selection.",
    "version": "1.1",
    "x-build-id": "2r8OEmNTjcbEwpa7B"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/malonestar~fdic-sod-deposit-market-share-rollup/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-malonestar-fdic-sod-deposit-market-share-rollup",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/malonestar~fdic-sod-deposit-market-share-rollup/runs": {
      "post": {
        "operationId": "runs-sync-malonestar-fdic-sod-deposit-market-share-rollup",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/malonestar~fdic-sod-deposit-market-share-rollup/run-sync": {
      "post": {
        "operationId": "run-sync-malonestar-fdic-sod-deposit-market-share-rollup",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "title": "State (2-letter, branch location)",
            "type": "string",
            "description": "Two-letter US state/territory code of the BRANCH location (SOD field STALPBR), e.g. CO, TX, NY. Leave empty to roll up the full national SOD file (76,120 branches for 2025 - slower, and the run will not emit unless every record was retrieved). An unrecognised code returns 0 records and the run fails loudly rather than emitting an empty success."
          },
          "year": {
            "title": "SOD survey year",
            "minimum": 1994,
            "maximum": 2030,
            "type": "integer",
            "description": "FDIC Summary of Deposits survey year (deposits as of June 30 of that year). SOD is annual and the newest survey publishes the following December. LEAVE EMPTY and the actor resolves the newest published year live rather than assuming one - every row carries year and year_resolution so you can see which it used. Verified 2026-08-01: 2025 = 76,120 branches nationwide, 2024 = 76,727, 2010 = 98,520."
          },
          "compareYear": {
            "title": "Compare year (optional, enables YoY deltas)",
            "minimum": 1994,
            "maximum": 2030,
            "type": "integer",
            "description": "Optional earlier survey year to compare against (e.g. 2024). When set, each row gets year-over-year deltas: branches opened/closed, deposit growth %, and market-share shift in points. If the compare-year fetch comes back incomplete the YoY fields stay NULL rather than being computed against a subset - compare_year_status tells you which happened."
          },
          "rollupLevel": {
            "title": "Rollup level",
            "enum": [
              "county",
              "msa",
              "state"
            ],
            "type": "string",
            "description": "Geographic grouping for market-share math: 'county' (branch county), 'msa' (metropolitan statistical area; non-MSA branches grouped per state), or 'state'.",
            "default": "county"
          },
          "mode": {
            "title": "Output mode",
            "enum": [
              "banks",
              "areas"
            ],
            "type": "string",
            "description": "'banks' (default) emits one row per bank per area with that bank's share, rank, and the area's HHI. 'areas' emits one summary row per area (bank fields null) — a compact concentration screen.",
            "default": "banks"
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of dataset rows to emit (caps your cost). Areas are processed largest-deposits-first, so the cap keeps the biggest markets. When the cap bites, results_truncated=true is stamped on every row - the shares and HHI themselves are always computed over the COMPLETE market, never over the truncated output.",
            "default": 500
          },
          "marketGapThresholdPct": {
            "title": "Market-gap top-3 share threshold (%)",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "An area is flagged market_gap=true when its top-3 banks hold at least this percentage of deposits — a screen for concentrated markets open to challenger/fintech entry. Default 75.",
            "default": 75
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}