# FDIC Bank Financial Data Scraper (`parseforge/fdic-bank-scraper`) Actor

Scrapes FDIC institution profiles, quarterly financials, branch locations, failure records, branch history, and state summaries. Returns each record as a flat row with filters for state, certificate number, and report date.

- **URL**: https://apify.com/parseforge/fdic-bank-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Automation, Other
- **Stats:** 6 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### FDIC Bank Financial Data Scraper

**Scrape FDIC bank financial data, branch locations, failure records, and historical summaries, up to a million rows per run.** Every record returns certified financials, institution details, and geographic data. No API key or registration. Export to CSV, JSON, Excel, or XML.

The FDIC publishes quarterly call reports, institution directories, and failure histories, but downloading them means navigating bulk XML files or a limited web search. This actor queries six FDIC datasets directly and returns clean, flat rows you can filter by state, certificate number, or report date before the run even starts. It is built for analysts who need structured bank data without writing a single line of code.

| Who uses it | What they scrape FDIC for |
|---|---|
| Fintech risk analysts | Pull quarterly financials for a portfolio of banks to monitor capital ratios and asset quality. |
| Market researchers | Build a directory of all active banks in a region, complete with branch counts and deposit bases. |
| Compliance officers | Audit a bank's historical branch openings and closings for CRA or regulatory filings. |
| Economic historians | Study the full FDIC failure list since 1934 to model crisis patterns. |

### What it does

This Actor collects FDIC institution profiles, financial statements, branch locations, failure records, branch history events, and state-level summaries, and returns each record as a flat row.

- 🏦 **Bank Directory:** 27,000+ institutions with charter type, regulator, and deposit insurance dates.
- 📊 **Financial Statements:** 1.6 million quarterly call reports with assets, liabilities, income, and capital.
- 📍 **Branch Locations:** 78,000+ branches with addresses, geocodes, and service types.
- ⚠️ **Bank Failures:** 4,100+ failed banks since 1934 with closing dates and acquiring institutions.
- 🕰️ **Branch History:** 580,000+ branch events tracking openings, closings, and relocations over time.
- 📋 **State Summaries:** 8,000+ annual state-level aggregates of institutions, offices, and deposits.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with FDIC data

**📈 Monitor bank financial health.**

A risk analyst pulls the latest quarter's financials for all banks in a state, filters by report date, and flags institutions with declining Tier 1 capital ratios.

**🗺️ Map branch networks.**

A market researcher scrapes all branch locations for a top-10 bank by certificate number to visualize its physical footprint against competitors.

**📋 Reconstruct branch histories.**

A compliance officer retrieves the full branch history for a bank to verify the sequence of openings and closings reported in a CRA exam.

**⚠️ Analyze failure patterns.**

An economist downloads the complete bank failure dataset since 1934, groups by state and year, and correlates failure waves with macroeconomic indicators.

### Why choose this scraper

|  | What you get |
|---|---|
| **No FDIC API key** | Reads the public data feeds directly, no registration or rate limits to manage. |
| **Six datasets, one schema** | Switch between institutions, financials, locations, failures, history, and summaries in the same run. |
| **Pre-run filters** | Narrow results to a single state, a specific bank certificate, or a quarterly report date before any data is fetched. |
| **Flat row output** | Every record arrives as a clean, denormalized row ready for Excel, SQL, or a BI tool. |

### How it compares

This actor queries six FDIC datasets directly, while the FDIC BankFind Scraper focuses on the BankFind web search interface.

| Feature | ParseForge | FDIC BankFind Scraper - Bank Financial Data API |
|---|---|---|
| Quarterly financial statements (call reports) | Yes, 1.6M+ records filterable by report date | Not listed |
| Branch location geocodes | Yes, 78K+ branches with coordinates | Not listed |
| Branch history events (openings, closings, relocations) | Yes, 580K+ timeline records | Not listed |
| State/year aggregate summaries | Yes, 8K+ records | Not listed |
| Pre-run filter by report date | Yes, YYYYMMDD format | Not listed |
| Direct dataset access (no web search interface) | Yes | Not listed |

### Configure the run

Drive the Actor from six FDIC datasets, alone or together, and filter by state, FDIC certificate number, or report date so only matching records reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
  "maxItems": 10,
  "endpoint": "institutions"
}
```

A larger pull:

```json
{
  "maxItems": 200,
  "endpoint": "institutions"
}
```

### Pricing

Pay-per-result: **$0.008 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $0.80 |
| 1,000 results | $8.00 |
| 10,000 results | $80.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [FDIC Bank Financial Data Scraper](https://apify.com/parseforge/fdic-bank-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to FDIC through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/fdic-bank-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that your filters do not conflict. For example, a certificate number for a California bank combined with a state filter of NY will return nothing. Also verify the report date format is YYYYMMDD and matches a quarter when the bank filed a call report.

**Why is my financial data missing some fields?**

Call report forms change over time. A bank may not report every field in every quarter, especially smaller institutions that file abbreviated reports. Try a different report date or a larger bank to see the full field set.

**The actor returns only 10 records even though I set a higher maxItems.**

Free Apify accounts are capped at 10 records for preview. Upgrade to a paid plan to increase the limit up to 1,000,000 records per run.

**I entered a state code but got results from other states.**

The state filter applies to the institution's headquarters state for the directory and financials endpoints. Branch locations and history may return records for branches in other states if the bank operates across state lines. Use the state field in the output to filter further.

**The report date filter is not working.**

The report date filter only applies to the Financial Statements endpoint. It is ignored for institutions, locations, failures, history, and summaries. Select the correct endpoint first.

### FAQ

| Question | Answer |
|---|---|
| What FDIC data can I scrape with this actor? | You can scrape six datasets: the institution directory, quarterly financial statements (call reports), branch locations, bank failures since 1934, branch history events, and annual state-level summaries. Each returns a flat row with fields specific to that dataset. |
| Do I need an FDIC API key or login? | No. The actor reads the FDIC's public data feeds directly. There is no registration, no API key, and no rate limiting to manage. |
| How do I filter results to a single bank? | Enter the bank's FDIC certificate number in the input field. For example, 3510 for Bank of America. This works across the institutions, financials, locations, and history endpoints. |
| Can I get financial data for a specific quarter? | Yes. Select the Financial Statements endpoint and set the Report Date in YYYYMMDD format, such as 20240331 for Q1 2024. The actor will return only call reports matching that date. |
| What format does the data export to? | The actor exports to CSV, JSON, Excel, and XML. You choose the format when you set up your run or download the dataset from Apify storage. |
| How many records can I scrape in one run? | Free users are limited to 10 records for preview. Paid Apify users can set a maxItems value up to 1,000,000 records per run. |
| Does this actor include bank deposit data? | Yes. The financial statements endpoint includes deposit liabilities, and the state summaries endpoint aggregates total deposits by state and year. The institution directory also includes deposit insurance dates. |
| Can I scrape branch locations for all banks in a state? | Yes. Select the Branch Locations endpoint and enter a two-letter state code like CA or NY. The actor will return every branch in that state. |
| What is the difference between the Locations and History endpoints? | Locations gives you a current snapshot of branch addresses and services. History gives you a timeline of events, such as when a branch opened, closed, or relocated, with effective dates. |
| Is historical failure data included? | Yes. The Bank Failures endpoint covers over 4,100 failed banks since 1934, including the closing date, acquiring institution, and failure type. |
| Can I combine multiple filters in one run? | You can set state, certificate number, and report date together. The actor applies all filters before returning results, so you get only the intersection of your criteria. |
| Does this actor work for US territories like Puerto Rico? | Yes. The FDIC datasets include institutions and branches in US territories. Use the standard two-letter territory codes like PR for Puerto Rico in the state filter. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Federal Deposit Insurance Corporation. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 records (preview). Paid users: Optional, max 1,000,000

## `endpoint` (type: `string`):

Which FDIC dataset to query.

## `state` (type: `string`):

Filter by US state (2-letter code, e.g. CA, NY, TX). Leave empty for all states.

## `certNumber` (type: `string`):

Filter by specific bank certificate number (e.g. 3510 for Bank of America).

## `reportDate` (type: `string`):

Filter financial data by report date (YYYYMMDD format, e.g. 20240331 for Q1 2024). Only for financials endpoint.

## Actor input object example

```json
{
  "maxItems": 10,
  "endpoint": "institutions"
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "endpoint": "institutions"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/fdic-bank-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "endpoint": "institutions",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/fdic-bank-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "endpoint": "institutions"
}' |
apify call parseforge/fdic-bank-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/fdic-bank-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/DRKZdTdhyhjwUhWYg/builds/bgcOttsBYVLXw86GC/openapi.json
