FDIC API Python Wrapper
raw JSON → N/A verified Tue May 12 auth: no python install: stale quickstart: verified
Python wrapper for the FDIC BankFind Suite API, providing access to FDIC banking data including institution details, financial reports, history, failures, and summary statistics. Simplifies querying the public FDIC REST API with Pythonic interfaces.
pip install requests Common errors
error ModuleNotFoundError: No module named 'fdic_api' ↓
cause The `fdic-api` package has not been installed in the current Python environment.
fix
pip install fdic-api
error SyntaxError: invalid syntax (when trying 'import fdic-api') ↓
cause Python module names cannot contain hyphens. The package name `fdic-api` is imported using an underscore.
fix
import fdic_api
error AttributeError: 'FdicApi' object has no attribute 'get_banks' ↓
cause The method 'get_banks' does not exist on the `FdicApi` client. The correct method to retrieve institution data is 'get_institutions'.
fix
client = fdic_api.FdicApi()
bank_data = client.get_institutions()
error TypeError: 'str' object cannot be interpreted as an integer ↓
cause A method parameter that expects an integer (e.g., `limit`) was provided with a string value instead.
fix
client.get_institutions(limit=10) # Ensure integer values for integer parameters
Warnings
gotcha The pip package name uses a hyphen (fdic-api) but the Python import uses an underscore (fdic_api). ↓
fix Use 'from fdic_api import InstitutionsQuery' not 'from fdic-api import ...' or 'from fdic import ...'.
gotcha The FDIC API has rate limits and may return 429 errors if too many requests are made in quick succession. The library does not implement automatic retry or backoff. ↓
fix Implement your own retry logic with exponential backoff, or add delays between requests using time.sleep().
gotcha Filter syntax uses the FDIC API's own query language, not Python expressions. String values in filters must be wrapped in escaped double quotes. ↓
fix Use query.filter('STNAME:"California"') with escaped double quotes around string values.
gotcha Results are returned as a list of dictionaries with nested 'data' keys, not flat dictionaries. ↓
fix Access fields via result['data']['FIELD_NAME'] not result['FIELD_NAME'].
gotcha The default limit on results is small. If you need all matching records, you must handle pagination manually or set a higher limit. ↓
fix Use query.limit(10000) for larger result sets or implement pagination with query.offset().
Install compatibility stale last tested: 2026-05-12
python os / libc status wheel install import disk
3.10 alpine (musl) - - - -
3.10 slim (glibc) - - - -
3.11 alpine (musl) - - - -
3.11 slim (glibc) - - - -
3.12 alpine (musl) - - - -
3.12 slim (glibc) - - - -
3.13 alpine (musl) - - - -
3.13 slim (glibc) - - - -
3.9 alpine (musl) - - - -
3.9 slim (glibc) - - - -
Imports
- InstitutionsQuery wrong
from fdic import InstitutionsQuerycorrectfrom fdic_api import InstitutionsQuery - FinancialsQuery
from fdic_api import FinancialsQuery - HistoryQuery
from fdic_api import HistoryQuery - FailuresQuery
from fdic_api import FailuresQuery - SummaryQuery
from fdic_api import SummaryQuery
Quickstart verified last tested: 2026-05-12
import requests
# No API key required - FDIC API is public
resp = requests.get(
"https://api.fdic.gov/banks/institutions",
params={"filters": "STNAME:California", "limit": 5, "fields": "NAME,CITY,STNAME,ASSET"}
)
resp.raise_for_status()
data = resp.json()
for inst in data["data"]:
print(f"{inst['data']['NAME']} - {inst['data']['CITY']}, {inst['data']['STNAME']}")