Bank Health Check: FDIC Bank Data, Ratios & Enforcement
Pricing
from $3.40 / 1,000 bank profiles
Bank Health Check: FDIC Bank Data, Ratios & Enforcement
Bank health check for US banks from official FDIC BankFind data: status, failures and mergers, capital ratios, NPL, ROA, uninsured deposits, 8-quarter trend, Fed and OCC enforcement actions, LEI and a rule-based health signal.
Pricing
from $3.40 / 1,000 bank profiles
Rating
0.0
(0)
Developer
Reliable Tools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Not investment, credit or legal advice; rule-based screen, not a supervisory rating. Not affiliated with or endorsed by FDIC, Fed or OCC.
This bank health check looks up US banks in the official FDIC BankFind data and returns one counterparty profile per bank: legal name, FDIC certificate, RSSD ID and LEI, active or inactive status, failure and merger history, total assets, deposits and equity, capital ratios, noncurrent loans, return on assets, the estimated uninsured deposit share, an 8-quarter trend, open Federal Reserve and OCC enforcement actions, and a transparent health signal (sound, watch or weak) with every reason spelled out. Give banks by name and state, FDIC cert number, RSSD ID, LEI or website, one or thousands at a time.
This is information from official public sources, not investment, credit or legal advice. Every row carries a
disclaimer field saying so.
What does Bank Health Check do?
- Finds the bank. By FDIC certificate number, Federal Reserve RSSD ID (a holding company RSSD returns its bank
subsidiaries), LEI, website, or name with state. For names that are not an exact match, an AI match score decides
whether an FDIC institution is the bank you mean. Unclear names, and names shared by several active or closed
banks that your state or city does not separate, come back as
ambiguouswith the candidates and are not charged. For this step the bank name, city, state and website from your input and the FDIC record are sent to an external AI service for this one fixed comparison only. Turn off AI match score for bank names to keep it off. - Tells you if it still exists. Active or inactive, the date it closed, and for failed banks the failure date, the acquiring bank, the resolution type and the FDIC's estimated loss to the deposit insurance fund. For merged banks, the institution it merged into.
- Reads the latest call report figures published by the FDIC: total assets, deposits, equity, tier 1 leverage, tier 1 and total risk-based capital, CET1, noncurrent loans, net charge-offs, loan loss reserve, ROA, ROE, net interest margin, efficiency ratio, loans to deposits, estimated uninsured deposits, brokered deposits and unrealized losses on held-to-maturity securities.
- Shows the trend over the last 8 quarters with year on year changes.
- Checks enforcement actions published by the Federal Reserve Board and the OCC against the bank and its holding company: cease and desist orders, written and formal agreements, prompt corrective action directives and civil money penalties, open or terminated.
- Adds the LEI record from GLEIF: registration status, next renewal date and the ultimate parent.
- Gives a health signal from fixed, published rules (listed below). Every row says which rule fired, with the value and the threshold. No black box.
Who uses it?
- Treasury teams placing deposits above the insured limit and checking counterparty banks every quarter.
- Fintechs and BaaS programs choosing or monitoring a sponsor bank: open consent orders, brokered and uninsured deposit concentration, capital and growth.
- Stablecoin, tokenized fund and RWA issuers documenting the quality of the banks that hold reserves.
- B2B credit, procurement and KYB teams verifying that a customer's or supplier's bank is real, insured and active.
- Analysts and journalists pulling failure history and ratios for many banks at once.
What data you get
| Field | What it is |
|---|---|
status | matched, ambiguous, not_found, invalid_input or unavailable |
fdicCert, rssdId, lei | FDIC certificate number, Federal Reserve RSSD ID, Legal Entity Identifier |
name, city, state, website | As registered with the FDIC |
institutionStatus, inactiveSince | active or inactive, and the date it became inactive |
charterClass, primaryRegulator, holdingCompany | Charter type, supervisor (OCC, FDIC, FED) and holding company |
latestFinancials | Latest quarter: assets, deposits, equity, net income, capital ratios, asset quality, earnings and funding ratios (USD and percent) |
trend | Up to 8 quarters of key figures, plus year on year and full-period changes |
failure | Failure date, acquirer, resolution, assets and deposits at failure, estimated loss to the fund |
successor | The event that ended the institution and the institution it went to |
history | Mergers, acquisitions, name, charter and regulator changes |
enforcementActions | Fed and OCC actions: type, dates, open or terminated, penalty amount, link |
enforcementSummary | Open and total actions, sources checked and sources not checked, and the note that the OCC lists are not guaranteed to be comprehensive |
leiRecord | GLEIF legal name, entity and registration status, renewal date, ultimate parent |
healthSignal | sound, watch, weak, not_rated or inactive, the estimated capital category and every reason |
nameMatch | For banks given by name: method (rules or AI match score), the score and the evidence |
candidates | For ambiguous names: the possible banks with cert number, name, city, state, active or inactive, established and inactive-since dates and assets, so you can rerun with the cert |
summary | One sentence for a quick review |
disclaimer | Not investment, credit or legal advice; rule-based screen, not a supervisory rating |
bankFindUrl | The bank's official FDIC BankFind page |
Amounts are in US dollars (the FDIC publishes thousands; the Actor converts them). Ratios are percentages.
How the health signal works
The signal is a screen, not a rating. Supervisory CAMELS ratings are confidential and are never published. The Actor applies these rules to the latest quarter and the year on year change:
| Rule | Watch | Weak |
|---|---|---|
| Estimated capital category (prompt corrective action thresholds, or the community bank leverage ratio) | adequately capitalized | undercapitalized or worse |
| Noncurrent loans to loans | 3% or more | 5% or more |
| Return on assets, year to date | below 0% | below -1% |
| Estimated uninsured share of domestic deposits | 75% or more | 60% or more together with held-to-maturity losses of 40% of equity or more |
| Unrealized held-to-maturity losses to equity | 50% or more | see above |
| Brokered deposits to deposits | 25% or more | |
| Noncurrent loans, year on year | up 1.5 points or more | |
| Tier 1 leverage ratio, year on year | down 1.5 points or more | |
| Total deposits, year on year | down 25% or more | |
| Total assets, year on year | up 50% or more | |
| Open formal enforcement action against the bank | cease and desist order, written or formal agreement, consent order | prompt corrective action or capital directive |
sound means no rule fired. An open action against the holding company only is listed as information. A bank whose
latest report is older than the latest published quarter is not_rated. Inactive banks get inactive, plus the
signal their last report would have produced (signalOnLastReport). With an as-of quarter, a bank that was still open
at that date is rated as it was then (statusAtAsOfQuarter: active), and enforcement actions count as they stood at
that date. Run Silicon Valley Bank with the as-of quarter 2022-12-31 to see the rules flag it as weak.
The capital category is an estimate from the reported ratios, not the official designation, which only the supervisor makes.
How to run a bank health check
- Open the Actor and put your banks into Banks to check, for example
{"name": "Frost Bank", "state": "TX"}or{"cert": "628"}. - Or link a CSV file with columns such as name, state, cert, rssd, lei, website.
- Optional: set As of quarter to see the banks as they were at a past quarter end.
- Click Start. Download the results as JSON, CSV or Excel, or read them through the Apify API.
Example output (shortened)
{"reference": "B-1","status": "matched","matchedBy": "name","fdicCert": 5510,"rssdId": "682563","lei": "G5AHTAP80NWA3Q8RDC78","name": "Frost Bank","city": "San Antonio","state": "TX","institutionStatus": "active","primaryRegulator": "FED","latestFinancials": {"quarter": "2026-06-30","totalAssetsUsd": 53950075000,"tier1LeverageRatioPct": 9.08,"totalRiskBasedRatioPct": 15.42,"noncurrentLoansPct": 0.55,"roaPct": 1.31,"uninsuredDepositSharePct": 52.16},"healthSignal": {"signal": "sound","capitalCategoryEstimate": {"category": "well_capitalized"},"reasons": [{"rule": "all_clear", "level": "info", "text": "No rule fired: capital, asset quality, earnings, funding and enforcement checks passed."}]},"enforcementSummary": {"open": 0, "total": 0, "sourcesChecked": ["Federal Reserve", "OCC"]},"bankFindUrl": "https://banks.data.fdic.gov/bankfind-suite/bankfind/details/5510"}
These are the figures for the 2026-06-30 report; run the Actor for current values.
Use it from the API, Python, n8n, Make or an AI agent
Start the Actor through the Apify API, the Apify Python or JavaScript client, n8n, Make, Zapier or the Apify MCP
server for AI agents. Send {"banks": [...]} as input and read the default dataset. The SUMMARY record in the
key-value store lists the counts, the health rules, the sources and the data dates of the run.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("reliable_tools/bank-health-check").call(run_input={"banks": [{"cert": "628"}, {"name": "Lead Bank", "state": "MO"}]})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["name"], row["healthSignal"]["signal"])
How much does it cost?
Pay per result, no subscription:
| Event | Price |
|---|---|
| Bank profile (identifiers, status, history, failure, latest figures, enforcement, LEI) | $0.004 per bank |
| Trend and health signal (8 quarters, changes, signal with reasons) | $0.006 per bank |
| Actor start | $0.00005 per run |
A full check is $0.01 per bank, or $10 per 1,000 banks. Turn off 8-quarter trend and health signal to pay only $0.004 per bank. Not found, ambiguous, invalid and unavailable rows are free.
Data sources and licences
| Source | What it gives | Licence |
|---|---|---|
| FDIC BankFind Suite API (api.fdic.gov) | Institutions, quarterly financials, structure history, failures | US government work, public domain (17 U.S.C. §105) |
| Federal Reserve Board enforcement actions file | Fed actions against banks and holding companies | US government work, public domain |
| OCC enforcement actions search | OCC actions against national banks and federal savings associations | US government work, public domain. The OCC says its lists are not guaranteed to be comprehensive |
| GLEIF LEI API | LEI records and parent relationships | CC0 1.0 |
Only records about institutions are used. Actions against individual people are skipped.
FAQ
Where does the data come from?
Data from the FDIC's public BankFind API; not affiliated with or endorsed by FDIC, Fed or OCC. The BankFind Suite API publishes the quarterly call report data of all FDIC-insured institutions. The Actor adds the calculations (uninsured share, held-to-maturity losses to equity, trends) and the health rules, and says so in each field.
How current is the data?
The FDIC publishes call report data about two months after each quarter end. The run summary shows the latest quarter available. Enforcement lists are refreshed at least once a day.
How long does a run take?
The FDIC API limits how fast anyone can query it, so the Actor paces its requests. In our tests 35 banks took about one to two minutes and 150 banks about four to eight minutes. A free FDIC API key in FDIC API key can help with large lists.
Can I look up a bank by routing number?
No. There is no open official source that maps ABA routing numbers to banks for reuse: the Federal Reserve's routing directory comes with terms that limit redistribution, and the FFIEC registry blocks automated access. Use the bank name and state, the FDIC cert, the RSSD ID or the LEI instead.
Does it check FDIC enforcement orders?
No. The FDIC publishes its orders in a search application without an open data file. The Actor checks the Federal Reserve and the OCC and lists the FDIC search as not checked in every row. State regulator actions are not covered either.
Is a "sound" signal a guarantee that a bank is safe?
No. The signal is a transparent screen of published figures. It does not know confidential supervisory ratings, off-balance-sheet risks or events after the report date. Use it to decide where to look closer.
What does the as-of quarter change?
The financial figures, the trend, the health signal and the open or terminated state of enforcement actions are taken as of the quarter you choose. Names, holding company and LEI status are today's.
Does it work for banks outside the US?
No. It covers US FDIC-insured banks and savings institutions only.
Why is my bank "ambiguous"?
Many banks share names such as First National Bank, and a closed bank often carries the same name as an active one
(for example Signature Bank: one active bank in Ohio and nine closed ones, including the bank in New York that failed in
2023). A name is only matched when one institution is clearly the best fit. If any other institution, active or closed,
carries the same name and your state or city does not rule it out, the row is ambiguous and lists every such bank in
candidates with its cert number, state, active or closed status and dates. Add the state and, if needed, the city, or
rerun with the FDIC cert number. Ambiguous rows are free.
Is it legal to use this data?
The FDIC, Federal Reserve and OCC data are US government works in the public domain (17 U.S.C. §105), and GLEIF data is CC0. The Actor uses official public APIs and files, follows their access rules and sends an honest user agent. It is not affiliated with or endorsed by FDIC, Fed, OCC or GLEIF.
About Reliable Tools
This Actor is made by Reliable Tools. We build tools that return clean data from official sources plus an AI label with a confidence score where it helps, so you can filter and act on the results straight away. Our focus is compliance, company verification and trade data.
If a field is missing or a bank doesn't match the way you expect, open an issue on the Issues tab. We read every one and usually reply within a day. You can find our other Actors on our profile page.