FDIC Bank Financials Scraper - Call Report Data by State
Pricing
from $2.10 / 1,000 bank records
FDIC Bank Financials Scraper - Call Report Data by State
Scrape FDIC-insured banks by quarterly Call Report financials (assets, deposits, net income, ROA, Tier 1 leverage, noncurrent loans, CRE concentration, Texas ratio), branches, and failed banks.
Pricing
from $2.10 / 1,000 bank records
Rating
0.0
(0)
Developer
Groundplane Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Security
Limited permissionsShare
Scrape FDIC-insured commercial banks and savings institutions by their latest quarterly Call Report financials (FINANCIALS), brick-and-mortar branch locations (BRANCHES), or historical FDIC bank failures (FAILURES) directly from the official FDIC BankFind Suite API (https://api.fdic.gov/banks/).
Disclaimers:
- Not Investment or Credit Advice: The data and financial ratios returned by this Actor are provided strictly for informational, research, and analytical purposes and do not constitute investment, financial, legal, or credit advice.
- Non-Affiliation: This Actor is an independent tool and is not affiliated with or endorsed by the Federal Deposit Insurance Corporation (FDIC).
What it does
- Automatic Latest Call Report Quarter Discovery: When
reportDateis left blank inFINANCIALSmode, the Actor queries/banks/financials?limit=1&sort_by=REPDTE&sort_order=DESCon startup to automatically resolve the newest published Call Report quarter (e.g.20260630). - Whole-Dollar Normalization: FDIC Call Report monetary fields (
ASSET,DEP,NETINC,LNRECONS,LNREMULT,LNRENRES,COST) are published by the FDIC in thousands of dollars; this Actor multiplies all monetary figures by 1,000 so every USD output field (totalAssetsUsd,totalDepositsUsd,netIncomeUsd,creLoansUsd,estimatedLossUsd) is reported in whole US dollars. - Call Report Credit & CRE Ratios:
creLoansUsd: Sum of Construction & Land Development (LNRECONS), Multifamily 5+ Residential (LNREMULT), and Nonfarm Nonresidential (LNRENRES) real estate loans ×1,000. The Nonfarm Nonresidential component (LNRENRES) includes owner-occupied properties.creToEquityPlusAllowancePct:(LNRECONS + LNREMULT + LNRENRES) / (EQ + LNATRES) * 100. This ratio is CRE loans as a percentage of total equity capital (EQ) plus the Allowance for Loan and Lease Losses (LNATRES). It uses a total equity plus allowance basis, not total risk-based capital, and the CRE total includes owner-occupied nonfarm nonresidential loans, so it is not the interagency non-owner-occupied CRE concentration measure and should not be compared directly to the 300% supervisory concentration threshold. Leftnullif underlying fields are unreported.texasRatioPct:(NAASSET + P9ASSET + ORE) / ((EQ - INTAN) + LNATRES) * 100(Nonaccrual AssetsNAASSET+ Loans 90+ Days Past DueP9ASSET+ Other Real Estate OwnedOREdivided by Tangible EquityEQ - INTANplus Loan Loss AllowanceLNATRES). Leftnullif underlying fields are unreported.
- Three Operational Modes:
FINANCIALS: Balance sheet, income statement, credit quality, CRE concentration, Texas ratio, branch count, and website by state and asset threshold.BRANCHES: Brick-and-mortar branch locations (locationsendpoint) with street address, coordinates, and established date.FAILURES: Historical FDIC bank failures (failuresendpoint) with failure date, acquiring institution, estimated Deposit Insurance Fund (DIF) loss,resolutionType(RESTYPE), andinsuranceFund(SAVR). By default onlyFAILUREevents are returned; setincludeAssistanceTransactionstotrueto also returnASSISTANCE(open-bank assistance) transactions. Legitimate pre-1943 failures were published without a certificate number, socertisnullfor those rows.
Who it's for
- Commercial Real Estate (CRE) & Debt Brokers: Identify regional and community banks by asset size, CRE loan portfolio size (
creLoansUsd), and CRE concentration on a total equity plus allowance basis (creToEquityPlusAllowancePct). - Institutional Treasury & Risk Teams: Monitor counterparty bank health (
tier1LeveragePct,noncurrentLoansPct,texasRatioPct,roaPct) across quarterly Call Reports. - M&A, Fintech & Banking Analysts: Screen active banks, branch footprints, and historical FDIC resolutions by state.
Input
All parameters have working defaults/prefills that return results in under 2 minutes.
| Field | Type | Default / Prefill | Description |
|---|---|---|---|
mode | string | "FINANCIALS" | FINANCIALS (Call Report financials & ratios), BRANCHES (branch locations), or FAILURES (FDIC failed banks list). |
states | array<string> | ["AZ"] | Two-letter US state or territory postal codes (e.g. ["AZ"], ["AZ", "NV", "UT"]). Leave empty for all states. |
reportDate | string | "" (latest quarter) | Call Report quarter-end date in YYYYMMDD format (e.g. "20260630", "20260331"). Leave blank to automatically use the latest published quarter. |
minTotalAssetsUsd | integer | 0 | Minimum bank total assets in whole USD (FINANCIALS mode only). |
maxItems | integer | 200 | Maximum number of records to return. |
includeAssistanceTransactions | boolean | false | FAILURES mode only. When false (default), only failures are returned, matching the Failed Banks List. When true, assistance transactions are also returned and can be identified by resolutionType: "ASSISTANCE". |
Example input JSON
{"mode": "FINANCIALS","states": ["AZ"],"reportDate": "","minTotalAssetsUsd": 0,"maxItems": 200,"includeAssistanceTransactions": false}
Example run options (with default $50 max charge protection)
When invoking via the Apify API or CLI, set a default maximum charge of $50 ("maxTotalChargeUsd": 50):
{"maxTotalChargeUsd": 50}
The Actor checks calculate_max_event_charge_count_within_limit("apify-default-dataset-item") before every dataset push and stops cleanly when your spending limit is reached.
Output
Results are saved to the default dataset.
- Deduplication keys:
cert + reportDate(FINANCIALS),uninumber(BRANCHES),ID(FAILURES, withFINas a fallback). Deduping failures onIDkeeps separate resolution events that share one certificate number. - Sorting:
reportDatedesc thentotalAssetsUsddesc (FINANCIALS);establisheddesc (BRANCHES);failDatedesc (FAILURES).
Output fields
| Field | Mode(s) | Type | Description |
|---|---|---|---|
cert | All | integer | string | null | FDIC Certificate Number. null for legitimate pre-1943 FAILURES records published without a certificate number. |
bankName | All | string | null | Institution legal name. |
city | All | string | null | Headquarters or branch city. |
state | All | string | null | Two-letter state code. |
reportDate | FINANCIALS | string | null | Call Report date in YYYY-MM-DD format. |
totalAssetsUsd | FINANCIALS | number | null | Total assets in whole USD (ASSET * 1,000). |
totalDepositsUsd | FINANCIALS | number | null | Total deposits in whole USD (DEP * 1,000). |
netIncomeUsd | FINANCIALS | number | null | Year-to-date net income in whole USD (NETINC * 1,000). |
roaPct | FINANCIALS | number | null | Return on Assets (ROA) percentage. |
tier1LeveragePct | FINANCIALS | number | null | Tier 1 Leverage Capital ratio (RBC1AAJ) percentage. |
noncurrentLoansPct | FINANCIALS | number | null | Noncurrent loans to total loans (NCLNLSR) percentage. |
creLoansUsd | FINANCIALS | number | null | Total CRE loans in whole USD ((LNRECONS + LNREMULT + LNRENRES) * 1,000). null if any component is unreported; a missing component is never treated as zero. |
creToEquityPlusAllowancePct | FINANCIALS | number | null | CRE loans as % of total equity capital plus allowance for loan and lease losses ((LNRECONS + LNREMULT + LNRENRES) / (EQ + LNATRES) * 100). Includes owner-occupied nonfarm nonresidential loans; not the interagency non-owner-occupied CRE concentration measure. |
texasRatioPct | FINANCIALS | number | null | Texas Ratio % ((NAASSET + P9ASSET + ORE) / ((EQ - INTAN) + LNATRES) * 100). |
branchCount | FINANCIALS | integer | null | Total domestic + foreign offices (OFFDOM + OFFFOR). |
website | FINANCIALS | string | null | Institution primary website URL. Enrichment from the FDIC institutions endpoint: if that call fails, rows still ship with website as null and the run ends PARTIAL with the reason website enrichment unavailable. |
branchName | BRANCHES | string | null | Branch office name (OFFNAME). |
address | BRANCHES | string | null | Branch street address (ADDRESS). |
zip | BRANCHES | string | null | Branch ZIP code (ZIP). |
established | BRANCHES | string | null | Branch established date (YYYY-MM-DD). |
latitude | BRANCHES | number | null | Branch WGS84 latitude. |
longitude | BRANCHES | number | null | Branch WGS84 longitude. |
uninumber | BRANCHES | string | null | FDIC unique branch identifier (UNINUM). |
failDate | FAILURES | string | null | Bank failure date (YYYY-MM-DD). |
acquirer | FAILURES | string | null | Acquiring institution name (BIDNAME). The FDIC sentinel value 0 (no acquirer) is returned as null. |
estimatedLossUsd | FAILURES | number | null | Estimated DIF loss in whole USD (COST * 1,000). |
resolutionType | FAILURES | string | null | Resolution type (RESTYPE), for example FAILURE or ASSISTANCE. |
insuranceFund | FAILURES | string | null | Insurance fund (SAVR), for example DIF, FDIC, or FSLIC. |
Sample output row (synthetic example)
{"cert": 99999,"bankName": "EXAMPLE SOUTHWEST COMMERCIAL BANK","city": "PHOENIX","state": "AZ","reportDate": "2026-06-30","totalAssetsUsd": 2450000000.0,"totalDepositsUsd": 2080000000.0,"netIncomeUsd": 18400000.0,"roaPct": 1.12,"tier1LeveragePct": 10.45,"noncurrentLoansPct": 0.74,"creLoansUsd": 612000000.0,"creToEquityPlusAllowancePct": 218.57,"texasRatioPct": 5.82,"branchCount": 11,"website": "https://www.examplebank.com"}
How pricing works
Pay per result: $3.00 per 1,000 results ($0.003 per row). You only pay for rows returned.
Data source and terms
- Official Source: Federal Deposit Insurance Corporation (FDIC), BankFind Suite API (
https://api.fdic.gov/banks/docs/) - Update Cadence: Call Report financial data (
financials) is updated quarterly following FFIEC Call Report processing (~60 days after quarter-end); branch (locations) and failed bank (failures) endpoints are updated weekly/as events occur. - Terms of Use: FDIC BankFind Suite data is U.S. Government public domain data published under FDIC Open Data / Privacy & Website Policies.
Limits and FAQ
- How are
creToEquityPlusAllowancePctandtexasRatioPctcalculated? Both ratios are computed from official FDIC Call Report fields requested from/banks/financials(LNRECONS,LNREMULT,LNRENRES,EQ,INTAN,LNATRES,NAASSET,P9ASSET,ORE).creToEquityPlusAllowancePctdivides the CRE total (which includes owner-occupied nonfarm nonresidential loans inLNRENRES) by total equity plus the allowance for loan and lease losses (EQ + LNATRES); it is not calculated on total risk-based capital and does not exclude owner-occupied CRE, so it is not the interagency CRE concentration measure. If any required component is missing for an institution, the ratio is returned asnullrather than approximated. - What happens if my filters match nothing?
The run succeeds with a
Complete: 0 rows matched your filtersstatus message that names the filters used and suggests which ones to widen (add states, clearreportDate, or lowerminTotalAssetsUsd). Zero matches from a healthy source is a valid result, not an error. - What does a
PARTIAL:status mean? Some rows could not be delivered, and the status message says why: for example a source page failed after retries, rows failed validation and were skipped, or your max charge limit was reached. If the cause is on the source side, the message also asks you to open an issue so we can fix it.
Troubleshooting
- Stale data: Call Report financials are quarterly. If the newest quarter looks old, the FDIC has not published a newer one yet; the Actor always resolves the latest published
REPDTEwhenreportDateis blank. - Zero matches: widen the filters named in the
Complete: 0 rowsstatus message. - Caps: a
PARTIAL:status naming the max charge limit ormaxItemsmeans your own limits stopped the run; raise them to get more rows. - PARTIAL runs: report them on this actor's Issues tab (no email), with the full status message from your run.
Found a problem or need a field? Open an issue on the Issues tab; we respond quickly.
Canary input
A tiny input that returns at least 1 row in under 30 seconds when the source is healthy:
{"mode": "FINANCIALS","states": ["AZ"],"reportDate": "","minTotalAssetsUsd": 0,"maxItems": 5}
Changelog
v0.1.3 (2026-11-01)
- Grok Red Team fix round: FAILURES mode is now keyed and validated on
ID(withFINas fallback), requiringbankNameandfailDateand allowingcertto benull, so legitimate pre-1943 failures no longer fail states like NJ or force a false PARTIAL on all-states runs; failures are deduped onIDinstead ofCERT, keeping second resolution events for the same certificate. FAILURES rows now carryresolutionTypeandinsuranceFund, and the newincludeAssistanceTransactionsinput (defaultfalse) keeps assistance transactions out of the default Failed Banks List output. The CRE field is renamed tocreToEquityPlusAllowancePctand documented as a total equity plus allowance ratio that includes owner-occupied nonfarm nonresidential loans. A failed website enrichment call now ends the runPARTIALwith the reasonwebsite enrichment unavailable. Retries are 6 tries with jittered backoff from 2 to 32 seconds (capped at 120 seconds, honoring Retry-After). TheBIDNAMEsentinel0is returned as anullacquirer. Title and description now use Scraper / Scrape wording, the FINANCIALS maxItems status says largest first, and pricing states the per-1,000 figure.
v0.1.2 (2026-10-31)
- Red Team fix round: BRANCHES rows are now validated per row (a branch row missing its cert or bank name is skipped and counted, like the other modes, instead of being pushed with a null cert); the skipped-rows PARTIAL reason names the missing field per mode; BRANCHES and FAILURES requests now name their field set explicitly instead of relying on the FDIC default set; retries honor Retry-After (seconds or HTTP-date) with jitter. The
websitefield is an enrichment from the FDIC institutions endpoint: if that lookup is unavailable,websiteis null (this behavior was superseded in v0.1.3, where the run ends PARTIAL with the reasonwebsite enrichment unavailable).
v0.1.1 (2026-10-31)
- Status contract fixed: runs now end
Complete:orPARTIAL:with honest scanned, matched, and skipped counts; zero matches is a successfulComplete: 0 rowsrun instead of a failure; a charge-limit stop is aPARTIAL:with no Issues call-to-action, and the verbatim Issues call-to-action is appended only when a PARTIAL reason is caused by the source. - Added a core-column sentinel (a missing or renamed FDIC field fails the run loudly, naming the field), per-row validation with a 20% skip limit, and strict derived values:
creLoansUsd,creToEquityPlusAllowancePct,texasRatioPct, andbranchCountare nownullwhen any component field is unreported, instead of treating the missing component as zero. - BRANCHES mode now asks the API to sort by established date descending, so large states return the newest branches first; a source page that fails after the first page now yields a
PARTIAL:run with the rows already collected instead of losing them. - Categories set to BUSINESS only; default run options now include the $50 max charge;
reportDateis validated as a real calendar date.
v0.1 (2026-10-31)
- Initial release supporting FDIC BankFind Suite
FINANCIALS,BRANCHES, andFAILURESmodes with automatic latestREPDTEresolution and Call Report CRE and Texas ratio calculations.