FDIC Bank Data Search
Pricing
from $2.00 / 1,000 bank fetcheds
FDIC Bank Data Search
Search FDIC BankFind API for US bank data: total assets, deposits, net income, ROA, ROE, charter type, and more. Filter by name, state, asset range, and active status. Free government data, no API key.
Pricing
from $2.00 / 1,000 bank fetcheds
Rating
0.0
(0)
Developer

ryan clinton
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Search the FDIC BankFind Suite API for detailed data on every FDIC-insured financial institution in the United States. Retrieve bank financials, deposit totals, asset sizes, profitability metrics, charter classifications, and more -- all sourced directly from the official federal dataset maintained by the Federal Deposit Insurance Corporation.
FDIC Bank Data Search connects to the BankFind Suite API at banks.data.fdic.gov to pull structured, up-to-date records on over 4,700 active FDIC-insured institutions and thousands of historical (closed or merged) banks. Search by institution name with wildcard matching, filter by state and asset range, sort by any key financial metric, and receive clean JSON output ready for analysis, compliance workflows, or integration into your data pipeline.
No API key is required -- the FDIC BankFind Suite API is a free, public US government data source. This actor handles all query construction, filter logic, result deduplication by FDIC certificate number, and field normalization so you receive consistent, human-readable output every time.
Why use FDIC Bank Data Search?
- No coding required. Configure your search with a simple web form, click Run, and download structured results in JSON, CSV, or Excel.
- Clean, normalized output. The raw FDIC API returns cryptic field codes and inconsistent formats. This actor transforms everything into human-readable field names, formatted dates, and properly typed numbers.
- Automatic deduplication. The FDIC endpoint can return multiple report dates per institution. The actor deduplicates by FDIC certificate number so you get exactly one record per bank.
- Scheduled automation. Run on a recurring schedule and feed results into your CRM, spreadsheet, database, or BI tool via Apify integrations -- no manual effort needed.
- Free government data source. No API key, no subscription, no authentication. The FDIC BankFind Suite API is public and open.
- Scalable and reliable. Apify's cloud infrastructure handles retries, logging, and storage so you never worry about rate limits or local machine uptime.
Key features
- Search by bank name with wildcard matching (partial name search supported)
- Filter by US state code (all 50 states plus territories)
- Filter by total asset range (minimum and/or maximum, in thousands of dollars)
- Toggle active-only mode to include or exclude closed, merged, and inactive banks
- Sort results by total assets, deposits, institution name, net income, or return on assets
- Up to 500 results per run with automatic deduplication by FDIC certificate number
- 19 structured fields per record including financials, address, charter type, and specialty group
- Direct FDIC profile URL generated for each institution
- Report dates reformatted from raw YYYYMMDD to standard YYYY-MM-DD
- No API key or authentication required -- completely free public government data
How to use
Using Apify Console
- Go to the FDIC Bank Data Search actor page on Apify.
- Click Try for free to open the actor in Apify Console.
- Configure your search parameters -- enter a bank name, set state and asset filters, choose a sort field.
- Click Start to run the actor.
- When the run finishes (typically 5--15 seconds), view results in the Dataset tab. Export as JSON, CSV, Excel, or connect via the Apify API.
Using the Apify API with Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("ooI4LWfpHhSkm9BgQ").call(run_input={"searchTerm": "Chase","state": "NY","activeOnly": True,"minAssets": 1000000,"sortBy": "ASSET","sortOrder": "DESC","maxResults": 50,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['institutionName']} -- ${item['totalAssets']:,}K assets")
Using the Apify API with JavaScript
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("ooI4LWfpHhSkm9BgQ").call({searchTerm: "Chase",state: "NY",activeOnly: true,minAssets: 1000000,sortBy: "ASSET",sortOrder: "DESC",maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => {console.log(`${item.institutionName} -- $${item.totalAssets.toLocaleString()}K assets`);});
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchTerm | string | No | -- | Bank or institution name to search (e.g., "Chase", "Wells Fargo"). Supports partial wildcard matching. Leave empty to browse all banks. |
state | string | No | -- | US state code filter (e.g., "CA", "NY", "TX"). Leave empty for all states. |
activeOnly | boolean | No | true | Only return currently active FDIC-insured banks. Set to false to include closed or inactive institutions. |
minAssets | number | No | -- | Minimum total assets in thousands of dollars. Leave empty for no minimum. |
maxAssets | number | No | -- | Maximum total assets in thousands of dollars. Leave empty for no maximum. |
sortBy | string | No | ASSET | Sort field: ASSET (Total Assets), DEP (Total Deposits), INSTNAME (Name), NETINC (Net Income), ROA (Return on Assets). |
sortOrder | string | No | DESC | Sort direction: ASC (ascending) or DESC (descending). |
maxResults | integer | No | 50 | Maximum number of results to return (1--500). |
Example input JSON
{"searchTerm": "Wells Fargo","state": "CA","activeOnly": true,"sortBy": "ASSET","sortOrder": "DESC","maxResults": 25}
Tips for best results
- Use partial names for broader searches -- entering "Chase" matches "JPMorgan Chase Bank, National Association" and any other institution with "Chase" in the name.
- Combine state + asset filters to find large regional banks (e.g., state = "TX", minAssets = 1000000 for Texas banks over $1 billion in assets).
- Sort by ROA or net income to surface the most profitable institutions, not just the largest.
- Set
activeOnlyto false when researching failed, merged, or historically closed banks.
Output
Each bank record in the output dataset contains 19 structured fields.
Example output JSON
{"certNumber": "628","institutionName": "JPMORGAN CHASE BANK, NATIONAL ASSOCIATION","address": "1111 POLARIS PARKWAY","city": "COLUMBUS","state": "OH","zipCode": "43240","totalAssets": 3386973000,"totalDeposits": 2425604000,"netIncome": 14002000,"returnOnAssets": 0.85,"returnOnEquity": 10.52,"specialtyGroup": "International","charterType": "N","established": "01/01/1824","website": "www.jpmorganchase.com","isActive": true,"reportDate": "2024-12-31","fdicUrl": "https://www.fdic.gov/bank-failures/bank-find/bankfind?CERT=628","extractedAt": "2025-01-15T10:30:00.000Z"}
Output field reference
| Field | Type | Description |
|---|---|---|
certNumber | string | Unique FDIC certificate number identifying the institution |
institutionName | string | Official registered name of the bank |
address | string | Headquarters street address |
city | string | Headquarters city |
state | string | Two-letter US state code |
zipCode | string | ZIP code |
totalAssets | number | Total assets in thousands of US dollars |
totalDeposits | number | Total deposits in thousands of US dollars |
netIncome | number | Net income in thousands of US dollars |
returnOnAssets | number | ROA as a percentage |
returnOnEquity | number | ROE as a percentage |
specialtyGroup | string | FDIC specialty classification (e.g., International, Commercial Lending, Agriculture) |
charterType | string | Charter class code (N = National, SM = State Member, NM = State Non-Member) |
established | string | Date the institution was established |
website | string | Official website URL |
isActive | boolean | Whether the bank is currently active and FDIC-insured |
reportDate | string | Date of the most recent financial report (YYYY-MM-DD) |
fdicUrl | string | Direct link to the institution's FDIC BankFind profile |
extractedAt | string | ISO 8601 timestamp of when the data was extracted |
Use cases
- Bank due diligence -- Look up specific institutions by name to verify FDIC insurance status, asset size, and financial health before entering business relationships.
- Competitive market analysis -- Retrieve all banks in a given state sorted by total assets to map the competitive landscape for a region.
- Fintech lead generation -- Find community banks under a certain asset threshold that may be targets for technology partnerships or platform integrations.
- Regulatory compliance -- Track whether specific institutions remain active and FDIC-insured as part of ongoing compliance monitoring programs.
- Academic and economic research -- Gather structured financial data on US banking institutions for studies on banking consolidation, regional lending patterns, or deposit trends.
- Mergers and acquisitions screening -- Filter banks by asset size, profitability, and specialty group to identify potential acquisition targets or merger candidates.
- Investment analysis -- Compare ROA and ROE across banks in a market segment to evaluate relative performance and identify outperformers.
- Journalism and public interest -- Research bank financial data for investigative reporting, public accountability analysis, or community banking coverage.
- Risk assessment -- Monitor financial metrics of banking partners, counterparties, or correspondent banks to flag potential stability concerns.
- CRA and community lending research -- Identify banks by specialty group (mortgage lending, agriculture, consumer lending) to study community reinvestment patterns.
API and integration
Python example
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("ooI4LWfpHhSkm9BgQ").call(run_input={"state": "TX","minAssets": 500000,"activeOnly": True,"sortBy": "ASSET","sortOrder": "DESC","maxResults": 100,})dataset = client.dataset(run["defaultDatasetId"])for item in dataset.iterate_items():print(f"{item['institutionName']} | {item['state']} | ${item['totalAssets']:,}K")
JavaScript example
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("ooI4LWfpHhSkm9BgQ").call({state: "TX",minAssets: 500000,activeOnly: true,sortBy: "ASSET",sortOrder: "DESC",maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Found ${items.length} banks in Texas with 500M+ assets`);
cURL example
curl "https://api.apify.com/v2/acts/ooI4LWfpHhSkm9BgQ/runs" \-X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_API_TOKEN" \-d '{"searchTerm": "Bank of America","activeOnly": true,"sortBy": "ASSET","maxResults": 10}'
Integrations
Connect FDIC Bank Data Search to your existing tools and workflows:
- Google Sheets -- Automatically push bank data to a spreadsheet after each run.
- Slack -- Get notified with a summary when new bank data is available.
- Webhooks -- Send results to any REST API endpoint for custom processing.
- Zapier -- Trigger downstream workflows in hundreds of apps.
- Make (Integromat) -- Build multi-step automation pipelines with bank data as a source.
- GitHub, GitLab, Jira -- Create issues or update repositories based on bank data changes.
How it works
FDIC Bank Data Search follows a straightforward pipeline to query, transform, and deliver bank institution data.
- Parse input parameters. The actor reads your search term, state filter, asset range, sort preferences, and result limit.
- Build FDIC API query. Constructs a request to the FDIC BankFind Suite API with wildcard name matching (NAME:*searchTerm*), state filtering (STALP), active status filtering (ACTIVE:1), and asset range filters.
- Fetch data from FDIC. Sends a single HTTP GET request to
https://banks.data.fdic.gov/api/institutionswith 18 selected fields. - Deduplicate results. Removes duplicate entries by FDIC certificate number (CERT), since the API may return multiple report dates per institution.
- Transform and normalize. Converts raw FDIC field codes into human-readable field names, reformats report dates from YYYYMMDD to YYYY-MM-DD, maps specialty group codes to descriptive labels, and generates direct FDIC profile URLs.
- Push to dataset. Saves all unique, transformed records to the Apify dataset for download or API access.
Pipeline diagram
Input Parameters|v+------------------+| Build API Query | Wildcard name, state, asset range, sort, limit+------------------+|v+------------------+| FDIC BankFind | GET banks.data.fdic.gov/api/institutions| Suite API | 18 fields, up to 500 results+------------------+|v+------------------+| Deduplicate | Remove duplicate CERT numbers+------------------+|v+------------------+| Transform & | Rename fields, format dates,| Normalize | map specialty codes, build FDIC URLs+------------------+|v+------------------+| Apify Dataset | JSON, CSV, Excel, API access+------------------+
Performance and cost
FDIC Bank Data Search runs on 256 MB memory and completes in 5--15 seconds. Because it calls a lightweight public API rather than scraping web pages, compute usage is minimal.
| Scenario | Results | Approx. Duration | Approx. CU Cost | Est. USD Cost |
|---|---|---|---|---|
| Single bank lookup | 1--5 | ~5 seconds | ~0.002 CU | ~$0.0001 |
| State-level search | 50 | ~8 seconds | ~0.005 CU | ~$0.0002 |
| Large filtered query | 200 | ~10 seconds | ~0.008 CU | ~$0.0004 |
| Maximum results | 500 | ~15 seconds | ~0.01 CU | ~$0.0005 |
The Apify Free plan includes $5 of platform usage credits each month -- more than enough to run thousands of FDIC bank searches. No external API key or subscription is needed.
Limitations
- Maximum 500 results per run. The FDIC API enforces a hard limit of 500 records per request. For broader coverage, run the actor multiple times with different filters (e.g., by state) and merge datasets.
- Financial figures are in thousands of dollars. All monetary values (totalAssets, totalDeposits, netIncome) are reported in thousands of US dollars, following FDIC convention. A totalAssets value of 3,386,973,000 means approximately $3.39 trillion.
- Data updates quarterly. The FDIC publishes new financial data after each calendar quarter. There is typically a 2--3 month lag between the quarter end and data availability.
- Name search uses wildcard matching only. The actor searches by institution name with wildcards. It does not support search by CERT number, RSSD ID, or other identifiers directly.
- FDIC-insured institutions only. The dataset covers banks and savings institutions insured by the FDIC. Credit unions (insured by NCUA) and non-depository financial institutions are not included.
- No historical time-series per institution. Each run returns the most recent report date per bank after deduplication. For multi-quarter trend analysis, schedule regular runs and compare datasets over time.
- US institutions only. The FDIC BankFind Suite covers US-chartered, FDIC-insured institutions. Foreign banks without US FDIC insurance are not included.
Responsible use
- Respect FDIC data terms. While the BankFind Suite API is free and public, use the data in accordance with FDIC data usage guidelines and applicable federal regulations.
- Do not misrepresent FDIC data. Financial figures are based on self-reported call report data. Always cite the FDIC as the source and note the report date when publishing or sharing results.
- Use reasonable request volumes. Although no rate limit is enforced, avoid excessive automated requests that could strain the public API. Schedule runs at sensible intervals (daily or weekly, not every minute).
- Verify before acting on financial data. FDIC data is informational. For investment, lending, or regulatory decisions, always verify data through official channels and consult qualified professionals.
- Protect downstream data privacy. While FDIC institution data is public, combining it with other datasets may create sensitive profiles. Handle derived data responsibly.
FAQ
Do I need an API key to use this actor? No. The FDIC BankFind Suite API is a free public US government data source. No authentication, API key, or registration is required.
How current is the data?
The FDIC updates financial data quarterly. Each output record includes a reportDate field showing the date of the most recent financial report. Data is typically available 2--3 months after each quarter ends.
What does "total assets in thousands" mean?
The FDIC reports all financial figures in thousands of US dollars. A totalAssets value of 3,386,973,000 means approximately $3.39 trillion. This is the standard FDIC reporting convention.
Can I search for failed or closed banks?
Yes. Set the activeOnly parameter to false to include closed, merged, or otherwise inactive institutions in your results.
What is the FDIC certificate number? The FDIC certificate number (CERT) is a unique identifier assigned to each FDIC-insured institution. It is the primary key the FDIC uses to track banks across mergers, name changes, and other corporate events.
What are the specialty group categories? The FDIC classifies institutions into specialty groups: All Other, Agriculture, Credit Card, Commercial Lending, Mortgage Lending, Consumer Lending, Other Specialty, All Other Under 1B, All Other 1B-10B, and International.
What do the charter type codes mean? Common charter class codes include: N (National Bank), SM (State Member of the Federal Reserve), NM (State Non-Member), SB (Savings Bank), SA (Savings Association), and OI (Insured Branch of Foreign Bank).
Can I get more than 500 results? Not in a single run. The FDIC API enforces a 500-record limit per request. To get broader coverage, run the actor multiple times with different filters (e.g., by state or asset range) and combine the resulting datasets.
How often should I schedule this actor? Since FDIC data updates quarterly, scheduling monthly or quarterly runs is usually sufficient. For monitoring-critical workflows, weekly runs will catch any mid-quarter data corrections.
Can I filter banks by city or ZIP code? Not directly through this actor's input parameters. You can filter by state, then use the output address fields to further narrow results by city or ZIP in your own pipeline.
Is there an overlap between totalAssets and totalDeposits? Total deposits are a component of total liabilities, not total assets. However, in banking, total assets approximately equal total liabilities plus equity. The two fields measure different aspects of the balance sheet.
What happens if my search returns no results? The actor logs a warning and completes without pushing data to the dataset. Check your search term spelling, state code format, and asset range values. Broadening or removing filters often resolves empty results.
Related actors
| Actor | Description |
|---|---|
| SEC EDGAR Filing Analyzer | Search and analyze SEC filings for publicly traded banks. Combine with FDIC data for comprehensive due diligence. |
| EDGAR Filing Search | Search SEC EDGAR for 10-K, 10-Q, and 8-K filings by company name or CIK. Cross-reference with FDIC bank records. |
| OFAC Sanctions Search | Check entities against the US Treasury OFAC sanctions list. Essential for compliance workflows alongside FDIC verification. |
| CFPB Consumer Complaints | Search the CFPB consumer complaint database. Pair with FDIC data to analyze complaint patterns for specific banks. |
| SEC Insider Trading | Track SEC insider trading filings. Monitor executive transactions at publicly traded banking institutions. |
| OpenCorporates Search | Search the world's largest open corporate database. Cross-reference FDIC bank data with global registration records. |