FDIC Bank Data Scraper avatar

FDIC Bank Data Scraper

Pricing

Pay per event

Go to Apify Store
FDIC Bank Data Scraper

FDIC Bank Data Scraper

Query the FDIC BankFind Suite API by state, active status, asset size, or name and get one flat row per FDIC-insured institution — name, city, state, active status, and total assets — plus optional recent financials, ready for JSON, CSV, or Excel export.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

FDIC Bank Data Scraper — Devil Scrapes

FDIC Bank Data Scraper

$0.20 per run + $0.002 per row — about $2.20 per 1,000 results. Pay only for results that land, no credit card required to try.

The FDIC's own BankFind Suite API is public and keyless, but it answers in a nested JSON envelope with undocumented paging and no full-text search — every buyer ends up writing the same offset-loop, field-mapping, and client-side filtering code from scratch. We already wrote it. Point this Actor at a state, an asset-size floor, or a name fragment, and get back one flat row per FDIC-insured institution, plus optional recent financials, ready for a spreadsheet, a CRM import, or a compliance list.

🏦 What this scrapes

The FDIC's public BankFind Suite API (api.fdic.gov/banks) — the same data that powers the FDIC's own BankFind web tool. Every matched institution carries its FDIC certificate number, name, city, state, active status, and total assets. When requested, a sibling row per institution adds the most recent quarterly financials on file.

🔥 Features

  • Filter by state, active status, minimum assets, or a name fragment — combine any subset in a single run.
  • Optional financials rows — enable include_financials and get one extra row per institution with its most recent reported total assets, not just the headline institution record.
  • Flat, typed output — a fixed row schema (cert, name, city, state, active, total_assets_thousands, and more), not the FDIC's raw {"meta": ..., "data": [{"data": {...}}]} envelope re-wrapped.
  • 🛡️ We rotate browser fingerprints (curl-cffi impersonation across Chrome and Firefox profiles) on every request.
  • 🔁 We retry with exponential backoff on 408/429/5xx and honour Retry-After, up to 5 attempts per page — a busy FDIC endpoint never costs you a failed run.
  • 🧱 We never crash on a bad record. A financials lookup that fails for one institution is skipped with a logged warning; the institution row itself still lands in the dataset.
  • 🧊 A zero-match search still succeeds. A narrow filter combination that matches nothing finishes with a clear status message, not a failed run and a wasted charge.

💡 Use cases

  • Fintech vendors building a bank-directory feature that needs the canonical, up-to-date list of FDIC-insured institutions.
  • Bank-vendor sales teams prospecting by state and asset-size tier to build a target account list.
  • M&A and equity-research analysts screening the FDIC-insured universe by asset size and status.
  • Compliance teams needing the authoritative active/inactive institution list for a state or the whole country.

⚙️ How to use it

  1. Optionally set state (2-letter USPS code) to narrow the search — or leave it blank for the whole country.
  2. Optionally set active_only, min_assets_thousands, or name_contains to narrow further.
  3. Set max_results to cap how many rows you're billed for.
  4. Enable include_financials if you also want a recent-financials row per institution.
  5. Run the Actor — the dataset fills with one row per matching institution (plus financials rows, if enabled).
  6. Export as JSON, CSV, or Excel straight from the Console, or pull it via the API.

No API key. No account. Just a set of filters.

📥 Input

FieldTypeRequiredDefaultDescription
statestringnoTX2-letter USPS state code. Leave blank for no state filter.
active_onlybooleannotrueOnly currently-active institutions when enabled.
min_assets_thousandsintegernoDrop institutions below this total-assets floor, in $ thousands.
name_containsstringnoCase-insensitive substring match against the institution name.
max_resultsintegerno100Hard cap on rows returned (1–5000).
include_financialsbooleannofalseAlso emit a recent-financials row per matched institution.

Example input:

{
"state": "TX",
"active_only": true,
"max_results": 25,
"include_financials": false
}

📤 Output

One row per matched institution (row_type: "institution"), plus one optional row per institution when include_financials is enabled (row_type: "financials"):

{
"row_type": "institution",
"cert": 10327,
"name": "Citizens State Bank of Luling",
"city": "Luling",
"state": "TX",
"active": true,
"total_assets_thousands": 73820,
"report_date": null,
"financials_total_assets_thousands": null,
"scraped_at": "2026-09-04T12:00:00.000Z"
}
{
"row_type": "financials",
"cert": 3510,
"name": null,
"city": null,
"state": null,
"active": null,
"total_assets_thousands": null,
"report_date": "19840630",
"financials_total_assets_thousands": 108020000,
"scraped_at": "2026-09-04T12:00:00.000Z"
}

Fields that don't apply to a given row_type come back as null — never a missing key, never a crashed row.

💰 Pricing

This Actor bills Pay-Per-Event, so the invoice matches what you actually received:

EventPrice
Actor start$0.20 per run
Result emitted$0.002 per row written to the dataset (institution or financials)

That works out to roughly $2.20 per 1,000 results. A run that finds nothing costs you the start fee and nothing else — no data, no per-row charge.

🚧 Limitations

  • Name search is a client-side substring match, not full-text search — the FDIC API's own filters grammar is field:value equality, not a search engine.
  • Asset-size filtering (min_assets_thousands) is applied client-side after the API call, not as a server-side range query.
  • Financials are limited to the single most-recent report per institution — historical time-series across multiple report dates isn't exposed in v1.
  • Branch-level location data isn't included — this Actor covers institutions and their financials only.

❓ FAQ

Do I need an FDIC API key? No — the BankFind Suite API is public and keyless. You don't need an account either.

What happens if my search matches nothing? The run finishes successfully with zero rows and a status message describing exactly what was searched — you're never charged a per-row fee for zero rows, and the run never fails just because a narrow filter combination matched nothing.

Can I get financials for every historical quarter? Not in v1 — each institution's financials row reflects only the most recent report date on file. A historical time-series mode is a possible future addition.

Why did my run fail instead of just returning nothing? A run fails loud only when the FDIC API itself is unreachable or returns something we can't parse after retries — that's a real error, not an empty result, and we never disguise the difference.

Can I search the whole country instead of one state? Yes — leave state blank to remove the state filter entirely.

🙌 Your feedback

Found an issue or have a feature request for the FDIC Bank Data Scraper? Reach out via https://apify.com/DevilScrapes — we read every message and ship fixes fast.