# FDIC Bank Institution Financials & Branch Intelligence Scraper (`apex-b2b-data/fdic-bank-institution-financials`) Actor

Extract US banks, commercial financial metrics, FDIC certificates, total assets, deposits, net income, ROA, ROE, branch network counts, and corporate web domains from official FDIC BankFind Suite registries. Filter by state, asset size, profitability, and financial tiers.

- **URL**: https://apify.com/apex-b2b-data/fdic-bank-institution-financials.md
- **Developed by:** [George Barnes](https://apify.com/apex-b2b-data) (community)
- **Categories:** Business, Lead generation, Automation
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.05 / 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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## FDIC Bank Institution Financials & Intelligence Scraper (`$1.50 / 1K`)

**Extract every active US commercial bank, savings institution, and financial institution—complete with official FDIC certificate numbers, total assets, deposits, net income, ROA, ROE, domestic branch counts, headquarters addresses, and verified corporate web domains.**

Powered directly by the official **Federal Deposit Insurance Corporation (FDIC) BankFind Suite API** (`https://banks.data.fdic.gov/api/institutions`), this Actor delivers institutional-grade bank intelligence without expensive Bloomberg/FactSet subscriptions, manual portal lookups, or residential proxy costs.

***

### Why Choose This FDIC Bank Actor? (Competitive Comparison)

| Capability | This Actor | Standard Web Scrapers | Expensive Financial Terminals (Bloomberg/S\&P) |
| :--- | :--- | :--- | :--- |
| **Pricing** | **`$1.50 / 1K` banks (`$0.0015`/record)** | `$5.00 – $15.00 / 1K` + proxy fees | `$2,000+ / month` seat license |
| **Data Authenticity** | **100% Official FDIC Government Registry** | Unverified HTML scraping | Official regulatory filings |
| **Dollar Scale Accuracy** | ✅ **Pre-multiplied to exact USD** ($1,000s scaled) | ❌ Often understated by 1,000x | Raw Call Report codes |
| **Asset Tier Segmentation** | ✅ `COMMUNITY`, `REGIONAL`, `SUPER_REGIONAL`, `MEGA` | ❌ None | Manual filters |
| **Corporate Domain & DNS Validation** | ✅ Normalized domain + live DNS verification | ❌ Missing or broken URLs | Raw domain text |
| **Performance Benchmarks** | ✅ Return on Assets (`ROA`), Return on Equity (`ROE`) | ❌ Rarely provided | Complex financial formulas |
| **Branch Network Counts** | ✅ Verified domestic branch count (`OFFDOM`) | ⚠️ Incomplete | Full branch breakdown |
| **B2B Lead Scoring & Segments** | ✅ `0–100` score + automated segment tags | ❌ None | ❌ None |
| **Proxy Costs & CAPTCHA Failures** | **`$0.00` (0% failure rate)** | High residential proxy costs | Dedicated private network |

***

### Transparent Pay-Per-Event Pricing (`$1.50` per 1,000 Banks)

You are charged **only for institutions actually returned** (`$0.0015` per bank record via Apify Pay-Per-Event), with no monthly subscription or minimum commitment:

| Workflow | Records Extracted | Total Cost |
| :--- | :--- | :--- |
| **Quick Test Run** (Default FL institutions) | `20` banks | **`$0.03` (3 cents)** |
| **Statewide Banking Market Pull** (e.g. all active TX or CA banks) | `~400` banks | **`$0.60` (60 cents)** |
| **High-Value Regional Commercial Target List** | `1,000` banks | **`$1.50`** |
| **Complete Nationwide US Banking Universe** (All ~4,200 active banks) | `~4,200` banks | **`$6.30`** |

***

### High-Intent B2B Playbooks (Copy-Paste JSON Inputs)

#### 1. Fintech & Core Banking SaaS: Regional & Community Banks ($100M – $10B Assets)

Target commercial decision-makers at mid-sized community and regional banks that are actively modernizing their lending, deposit, and digital banking technology stacks:

```json
{
  "state": "ALL",
  "activeOnly": true,
  "financialTier": "REGIONAL_BANK",
  "profitableOnly": true,
  "verifyDomainDns": true,
  "sortBy": "ASSET",
  "sortOrder": "DESC",
  "maxItems": 250
}
```

#### 2. Enterprise Cyber, Cloud & Compliance Vendors: Mega & Super-Regional Banks ($10B+ Assets)

Filter for the largest banking institutions with extensive branch networks (`50+ branches`) and verified corporate web domains:

```json
{
  "state": "ALL",
  "activeOnly": true,
  "financialTier": "SUPER_REGIONAL_BANK",
  "minBranches": 50,
  "verifyDomainDns": true,
  "sortBy": "ASSET",
  "sortOrder": "DESC",
  "maxItems": 100
}
```

#### 3. Bank M\&A Advisory & Private Equity: High-ROE Regional Outperformers

Identify profitable institutions generating superior returns on equity (`ROE > 10%`) and healthy deposit bases for acquisition or partnership intelligence:

```json
{
  "state": "TX",
  "activeOnly": true,
  "minDepositsThousands": 500000,
  "profitableOnly": true,
  "sortBy": "ROE",
  "sortOrder": "DESC",
  "maxItems": 100
}
```

#### 4. Single-State Financial Directory & Local Branch Mapping (e.g. Florida)

Extract all active banks operating in a specific state, sorted by total asset volume:

```json
{
  "state": "FL",
  "activeOnly": true,
  "sortBy": "ASSET",
  "sortOrder": "DESC",
  "maxItems": 50
}
```

***

### Sample Output Record

```json
{
  "fdic_cert": "33555",
  "institution_name": "SouthState Bank, National Association",
  "hq_city": "Winter Haven",
  "hq_state": "FL",
  "total_assets_usd": 68794317000,
  "total_deposits_usd": 56375284000,
  "net_income_usd": 481109000,
  "roa_percent": 1.42,
  "roe_percent": 9.97,
  "branch_count": 374,
  "website_domain": "southstatebank.com",
  "financial_tier": "SUPER_REGIONAL_BANK",
  "extracted_at": "2026-11-04T00:22:33Z",
  "bank_name": "SouthState Bank, National Association",
  "headquarters_city": "Winter Haven",
  "headquarters_state": "FL",
  "headquarters_address": "1101 1st St S",
  "headquarters_zip": "33880",
  "return_on_assets_pct": 1.42,
  "return_on_equity_pct": 9.97,
  "domestic_branches_count": 374,
  "asset_tier": "SUPER_REGIONAL_BANK",
  "bank_class": "N",
  "bank_class_description": "Commercial bank, national (OCC) charter and Fed member",
  "charter_number": "22311",
  "established_date": "1992-02-21",
  "insurance_date": "1992-02-21",
  "date_updated": "01/08/2025",
  "financial_report_date": "06/30/2026",
  "lei_code": "8I3UVGYULPJQIP7FQV10",
  "is_active": true,
  "website_url": "https://southstatebank.com",
  "domain_resolvable": true,
  "lead_score": 100,
  "lead_segments": [
    "SUPER_REGIONAL_BANK",
    "VERIFIED_DOMAIN",
    "PROFITABLE",
    "HIGH_ROA_PERFORMER",
    "LARGE_BRANCH_NETWORK",
    "BILLION_PLUS_ASSETS"
  ],
  "fdic_bankfind_url": "https://banks.data.fdic.gov/bankfind-suite/bankfind?cert=33555"
}
```

***

### Automation & API Integrations (Clay, n8n, Make, Python, MCP)

#### Call via Synchronous REST API (Clay.com / n8n / Make HTTP Module)

Run the Actor and stream enriched bank records directly into your workflow tables with a single HTTP POST:

```bash
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~fdic-bank-institution-financials/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "state": "FL",
    "activeOnly": true,
    "financialTier": "REGIONAL_BANK",
    "limit": 50
  }'
```

#### Call via Python (`apify-client`)

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("YOUR_USERNAME/fdic-bank-institution-financials").call(
    run_input={
        "state": "ALL",
        "activeOnly": True,
        "financialTier": "SUPER_REGIONAL_BANK",
        "sortBy": "ASSET",
        "limit": 100,
    }
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(f"Extracted {len(items)} FDIC bank records")
```

#### AI Agents & Model Context Protocol (MCP) (`mcp.apify.com`)

Compatible with Apify's MCP server, Claude Desktop, and autonomous agents:

- Lookup bank asset size, deposits, and ROA/ROE by institution name or FDIC certificate number.
- Filter regional and community banks for targeted commercial outreach.
- Audit banking charter status and regulatory oversight agency (OCC, Fed, FDIC).

***

### Frequently Asked Questions (FAQ)

**1. Where does this data come from, and is it official?**\
All records are retrieved directly from the official **Federal Deposit Insurance Corporation (FDIC) BankFind Suite API** (`banks.data.fdic.gov`). It represents the authoritative public federal registry of FDIC-insured institutions.

**2. Why are dollar values different from raw Call Reports?**\
FDIC financial filings report balance sheet items in **thousands of dollars ($1,000s)**. Standard scrapers often mistakenly output these raw numbers, underreporting bank sizes by 1,000x! This Actor automatically multiplies reported figures by 1,000 so you get accurate, full USD currency figures (`total_assets_usd`, `total_deposits_usd`, `net_income_usd`).

**3. What do the bank class codes mean?**

- `N`: Commercial bank, national charter (supervised by OCC) and Federal Reserve member.
- `SM`: Commercial bank, state charter and Federal Reserve member.
- `NM`: Commercial bank, state charter and FDIC supervised (non-Fed member).
- `SB`: Savings bank, state charter.
- `SA`: Savings association, federal or state charter.

**4. How often is the FDIC BankFind data updated?**\
The FDIC updates institution profiles continuously as charters, mergers, and location updates occur, and refreshes financial metrics quarterly following quarterly Call Report cycles (typically within 45–60 days of quarter end).

# Actor input Schema

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

2-letter US state code of bank headquarters (e.g. 'FL', 'NY', 'TX', 'CA'). Leave blank or set to 'ALL' to search nationwide.

## `activeOnly` (type: `boolean`):

Only return currently active, FDIC-insured institutions (excludes closed or merged institutions).

## `bankName` (type: `string`):

Filter by institution name or keyword (e.g. 'JPMorgan', 'SouthState', 'First National').

## `minAssetsThousands` (type: `integer`):

Minimum assets reported in thousands of USD (e.g. 100000 = $100M USD, 1000000 = $1B USD). Set to 0 for no minimum.

## `maxAssetsThousands` (type: `integer`):

Maximum assets reported in thousands of USD. Set to 0 for no upper limit.

## `minDepositsThousands` (type: `integer`):

Minimum total deposits in thousands of USD. Set to 0 for no minimum.

## `minBranches` (type: `integer`):

Filter banks with at least this number of domestic branch locations.

## `financialTier` (type: `string`):

Filter banks by asset scale bracket: COMMUNITY_BANK (<$1B), REGIONAL_BANK ($1B-$10B), SUPER_REGIONAL_BANK ($10B-$100B), or MONEY_CENTER_MEGA_BANK (>$100B).

## `profitableOnly` (type: `boolean`):

Only return banks reporting positive net income (NETINC > $0).

## `sortBy` (type: `string`):

Attribute to sort institutions by.

## `sortOrder` (type: `string`):

Sort order: DESC (highest first) or ASC (lowest first).

## `verifyDomainDns` (type: `boolean`):

Perform live DNS hostname resolution on bank web domains to verify domain responsiveness.

## `includeRawData` (type: `boolean`):

Attach the original unmodified FDIC response dictionary under `raw_data`.

## `limit` (type: `integer`):

Maximum number of bank records to extract in this run.

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

Maximum number of bank records to extract in this run.

## Actor input object example

```json
{
  "state": "FL",
  "activeOnly": true,
  "bankName": "",
  "minAssetsThousands": 0,
  "maxAssetsThousands": 0,
  "minDepositsThousands": 0,
  "minBranches": 0,
  "financialTier": "ALL",
  "profitableOnly": false,
  "sortBy": "ASSET",
  "sortOrder": "DESC",
  "verifyDomainDns": true,
  "includeRawData": false,
  "limit": 20,
  "maxItems": 20
}
```

# Actor output Schema

## `results` (type: `string`):

Structured JSON records produced by FDIC Bank Institution Financials & Branch Intelligence Scraper in the default dataset.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("apex-b2b-data/fdic-bank-institution-financials").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("apex-b2b-data/fdic-bank-institution-financials").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 '{}' |
apify call apex-b2b-data/fdic-bank-institution-financials --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,apex-b2b-data/fdic-bank-institution-financials"
        }
    }
}
```

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/ukk1gbSp8tWxhJP7q/builds/jfbDcoffLDzgO7jTE/openapi.json
