LiquiLens
App · 8 actions
Screen Indian banks and lenders for failure risk from their public filings and RBI records. Get the current risk board with health scores and chances of failing, an institution's full risk history, a bank's latest filing figures (bad loans, capital, deposits), monitoring warnings and missing disclosures for a whole watchlist, and search the RBI's register of 9,000+ non-bank lenders. No account or API key required.
Actions
| Action | What it does |
|---|---|
| Check the watchlist | Check many banks and lenders at once: for each, whether LiquiLens has raised a warning, whether it needs urgent review, and how many disclosures are missing. |
| Get a bank's filing review | Get the figures from a bank's latest reviewed filing: bad loans, capital adequacy, deposits, depositor concentration, provision coverage, and how they changed on the last quarter and year. |
| Get an institution's monitoring review | Get LiquiLens's monitoring review of one bank or lender: the warnings raised (for example bad loans rising past an alert level), every figure on file with its change on a year earlier and its source, and the disclosures that are missing so you know what the review cannot see. |
| Get an institution's risk profile | Get one bank or lender's failure-risk history from LiquiLens: health score, grade and chance of failing for every filing period on record, where it stands against the RBI's early-intervention thresholds, how stable its funding is, and whether its accounts show a red flag. |
| Get the failure risk board | Get LiquiLens's current failure-risk board for Indian banks and lenders: each institution with a recent enough filing, its health score, grade, risk tier (green, yellow, orange or red) and estimated chance of failing within 12, 24 and 36 months. |
| Get the historical track record | See how well LiquiLens's screen has flagged past bank failures in India, the United States and Europe: how many institutions each study covers and how far ahead failures were flagged. |
| List covered banks | List the banks whose filings LiquiLens has reviewed (commercial, small finance and urban co-operative banks), with how current each one's latest filing is. |
| Search RBI-registered lenders | Search the Reserve Bank of India's register of non-bank lenders (over 9,000 NBFCs) by name or company number, by lender type, or by size layer. |
Check the watchlist
Check many banks and lenders at once: for each, whether LiquiLens has raised a warning, whether it needs urgent review, and how many disclosures are missing. Choose the institutions to check, or leave the list empty to check every one LiquiLens tracks.
Inputs
- Institutions
institutionslist - The banks and lenders to check, up to 100. Leave empty to check all of them.
- As of date
as_ofdate - See the picture as it stood on this day, using only filings published by then. Leave blank for today. Future dates are not allowed.
Outputs
as_oftext- The date the answer describes, YYYY-MM-DD.
countnumber- How many institutions were checked.
institutionslist- One row per institution checked.
not_trackedlist- Institution ids you chose that LiquiLens does not track.
tracked_totalnumber- How many institutions LiquiLens tracks in all.
urgent_countnumber- How many need urgent review.
with_warnings_countnumber- How many have at least one warning.
Example output
{
"as_of": "2026-10-16",
"count": 1,
"institutions": [
{
"current_figure_count": 9,
"institution_id": "svc-ucb",
"institution_type": "Urban co-operative bank",
"latest_period_end": "2026-03-31",
"missing_evidence_count": 16,
"name": "SVC Co-operative Bank",
"needs_urgent_review": true,
"overdue_figure_count": 0,
"review_status": "Needs review",
"warning_count": 2,
"warnings": [
"Asset quality deteriorated",
"Net non-performing loan ratio increased"
]
}
],
"not_tracked": [],
"tracked_total": 59,
"urgent_count": 1,
"with_warnings_count": 1
}Get a bank's filing review
Get the figures from a bank's latest reviewed filing: bad loans, capital adequacy, deposits, depositor concentration, provision coverage, and how they changed on the last quarter and year. Where the bank discloses it, also shows how bad loans moved: new ones, recoveries, upgrades and write-offs. Every figure links back to the filing it came from.
Inputs
- Bank
banktextRequired - The bank to review. The list holds every bank LiquiLens covers.
- As of date
as_ofdate - See the picture as it stood on this day, using only filings published by then. Leave blank for today. Future dates are not allowed.
- Include past periods
include_historytrue/false - Also return the figures from earlier filings, so you can see the trend. Off by default.Default:
false.
Outputs
as_oftext- The date the answer describes, YYYY-MM-DD.
bad_loan_movementobject- How bad loans moved over the year. Null when the bank does not disclose it.
bank_typetext- Commercial bank, Small finance bank or Urban co-operative bank.
caveatslist- Things to keep in mind when reading the figures.
change_from_last_quarterobject- Change since the previous quarter. Null when not comparable.
change_from_last_yearobject- Change since a year earlier. Null when not comparable.
failure_datetext- When it failed. Null if it has not.
failure_eventtext- What happened when it failed. Null if it has not.
figuresobject- The figures read from the filing. A figure the filing does not disclose is null.
filing_age_daysnumber- How many days old the filing is.
filing_statustext- 'current', 'out_of_date', 'historical' or 'unavailable' (no filing by the As of date).
has_failedtrue/false- True when the bank failed.
institution_idtext- LiquiLens's id for the institution, e.g. 'cosmos-ucb'. Use it in the other LiquiLens steps.
latest_business_updateobject- A newer, unaudited business update from the bank. Null when there is none.
nametext- The bank's name.
not_disclosedlist- The figures this filing does not disclose.
past_period_countnumber- How many earlier filings are returned.
past_periodslist- Earlier filings, when Include past periods is on. Empty otherwise.
periodtext- The filing period, e.g. 'Q1FY27'.
period_endtext- Last day of the filing period, YYYY-MM-DD.
published_ontext- When the bank published it. Null if unknown.
regulatory_notetext- A note on the RBI threshold check.
regulatory_statustext- Where the institution stands against the RBI's early-intervention thresholds, e.g. 'No RBI threshold breached' or 'RBI risk threshold 1 breached'.
source_urlslist- Links to the filings reviewed.
status_reasontext- Why no filing is available. Usually null.
Example output
{
"as_of": "2026-10-16",
"bad_loan_movement": {
"closing_crore": 555.84,
"new_bad_loans_crore": 207.11,
"opening_crore": 701.3,
"other_reductions_crore": 0.0,
"period_end": "2026-03-31",
"period_start": "2025-04-01",
"recovered_in_cash_crore": 92.88,
"upgraded_crore": 98.56,
"written_off_crore": 161.13
},
"bank_type": "Urban co-operative bank",
"caveats": [
"A falling NPA percentage does not identify recoveries; loan growth, write-offs and sales can also change it."
],
"change_from_last_quarter": null,
"change_from_last_year": {
"capital_adequacy_pct": 0.06,
"from_period_end": "2025-03-31",
"gross_bad_loans_pct": -1.35,
"net_bad_loans_pct": -0.76,
"to_period_end": "2026-03-31"
},
"failure_date": null,
"failure_event": null,
"figures": {
"capital_adequacy_pct": 15.21,
"core_equity_capital_pct": null,
"current_and_savings_deposits_pct": 25.57,
"deposits_crore": 26121.64,
"gross_bad_loans_pct": 3.11,
"gross_loan_portfolio_crore": null,
"liquidity_coverage_pct": null,
"loans_crore": 17879.05,
"net_bad_loans_pct": 0.91,
"provision_coverage_excluding_write_offs_pct": null,
"provision_coverage_including_write_offs_pct": null,
"provision_coverage_reported_pct": 71.45,
"tier1_capital_pct": null,
"top_20_bad_loans_pct": 58.94,
"top_20_depositors_pct": 4.67
},
"filing_age_days": 199,
"filing_status": "current",
"has_failed": false,
"institution_id": "cosmos-ucb",
"latest_business_update": null,
"name": "Cosmos Co-operative Bank",
"not_disclosed": [
"Core equity capital ratio (%)",
"Tier 1 capital ratio (%)",
"Liquidity coverage ratio (%)"
],
"past_period_count": 0,
"past_periods": [],
"period": "FY26",
"period_end": "2026-03-31",
"published_on": null,
"regulatory_note": "A disclosed threshold breach is not an RBI decision to invoke PCA.",
"regulatory_status": "Not confirmed which RBI rules apply",
"source_urls": [
"https://www.cosmos.bank.in/auth/writereaddata/files/2506261014357950_Cosmos%20Annual%20Report%202025-26%20_Final%20file__cleaned.pdf"
],
"status_reason": null
}Get an institution's monitoring review
Get LiquiLens's monitoring review of one bank or lender: the warnings raised (for example bad loans rising past an alert level), every figure on file with its change on a year earlier and its source, and the disclosures that are missing so you know what the review cannot see.
Inputs
- Institution
institutiontextRequired - The bank or lender to review. The list holds every institution LiquiLens tracks.
- As of date
as_ofdate - See the picture as it stood on this day, using only filings published by then. Leave blank for today. Future dates are not allowed.
- Include past periods
include_historytrue/false - Also return the figures from earlier filings, so you can see the trend. Off by default.Default:
false.
Outputs
areaslist- Each area reviewed and how well it is covered.
as_oftext- The date the answer describes, YYYY-MM-DD.
figure_countnumber- How many figures are on file.
figureslist- Every figure on file for the latest period.
institution_idtext- LiquiLens's id for the institution, e.g. 'cosmos-ucb'. Use it in the other LiquiLens steps.
institution_typetext- What kind of institution it is: Commercial bank, Small finance bank, Urban co-operative bank, Non-bank lender, Microfinance lender or Housing finance company.
latest_period_endtext- Last day of its latest filing period.
missing_evidencelist- Disclosures the review needs but does not have.
missing_evidence_countnumber- How many disclosures are missing.
nametext- The institution's name.
needs_urgent_reviewtrue/false- True when LiquiLens marks it for urgent review.
past_figure_countnumber- How many earlier figures are returned.
past_figureslist- Figures from earlier filings, when Include past periods is on. Empty otherwise.
review_statustext- Review status: 'Needs review' (a warning was raised), 'Missing evidence' (key disclosures are not on file) or 'Historical record'.
warning_countnumber- How many warnings were raised.
warningslist- The warnings raised. Empty when none.
Example output
{
"areas": [
{
"area": "Loan quality",
"status": "Partial"
}
],
"as_of": "2026-10-16",
"figure_count": 9,
"figures": [
{
"change": 1764.37,
"figure_id": "advances",
"name": "Loans (\u20b9 crore)",
"period_end": "2026-03-31",
"previous_period_end": "2025-03-31",
"previous_value": 16972.61,
"source_url": "https://www.svc.bank.in/sites/default/files/document/AR_2025-26.pdf",
"status": "current",
"unit": "\u20b9 crore",
"value": 18736.98
}
],
"institution_id": "svc-ucb",
"institution_type": "Urban co-operative bank",
"latest_period_end": "2026-03-31",
"missing_evidence": [
{
"area": "Loan quality",
"item": "Write offs",
"reason": "Insufficient visibility: no current reviewed evidence for write offs"
}
],
"missing_evidence_count": 16,
"name": "SVC Co-operative Bank",
"needs_urgent_review": true,
"past_figure_count": 0,
"past_figures": [],
"review_status": "Needs review",
"warning_count": 2,
"warnings": [
{
"alert_threshold": 0.5,
"change": 0.73,
"compared_with_period_end": "2025-03-31",
"figure": "Gross bad loans (% of loans)",
"period_end": "2026-03-31",
"title": "Asset quality deteriorated"
}
]
}Get an institution's risk profile
Get one bank or lender's failure-risk history from LiquiLens: health score, grade and chance of failing for every filing period on record, where it stands against the RBI's early-intervention thresholds, how stable its funding is, and whether its accounts show a red flag. Failed institutions are included, with the date and nature of the failure.
Inputs
- Institution
institutiontextRequired - The bank or lender to look up. The list holds every institution with a risk profile, failed ones included.
Outputs
accounting_red_flagtrue/false- True when the reported figures follow a pattern seen before accounting fraud.
analyst_notetext- LiquiLens's note on the institution. Often null.
failure_chance_12_months_pctnumber- Estimated chance of failing within 12 months, as a percentage (0.26 means 0.26%).
failure_chance_24_months_pctnumber- Estimated chance of failing within 24 months, as a percentage.
failure_datetext- When it failed, YYYY-MM-DD. Null if it has not.
failure_eventtext- What happened when it failed. Null if it has not.
figures_verified_ontext- When the figures were last checked against the filings. Null if not recorded.
funding_stabilitytext- How stable its funding looks: Stable, Watch, Fragile or Not scored.
funding_warningslist- Funding warnings raised. Empty when none.
gradetext- Letter grade for the health score, from AAA (best) down.
has_failedtrue/false- True when the institution failed.
health_scorenumber- Health score from 0 to 100; higher is healthier.
historylist- Every filing period scored, oldest first.
history_countnumber- How many periods are in the history.
institution_idtext- LiquiLens's id for the institution, e.g. 'cosmos-ucb'. Use it in the other LiquiLens steps.
institution_typetext- What kind of institution it is: Commercial bank, Small finance bank, Urban co-operative bank, Non-bank lender, Microfinance lender or Housing finance company.
latest_periodtext- The latest filing period scored, e.g. 'FY2026'.
latest_period_endtext- Last day of that period, YYYY-MM-DD.
nametext- The institution's name.
regulatory_checkslist- Each RBI threshold measure in the latest period.
regulatory_statustext- Where the institution stands against the RBI's early-intervention thresholds, e.g. 'No RBI threshold breached' or 'RBI risk threshold 1 breached'.
standingtext- How it entered LiquiLens's records: Currently monitored, Healthy (comparison group), Survived a period of stress, or Failed.
Example output
{
"accounting_red_flag": false,
"analyst_note": null,
"failure_chance_12_months_pct": 0.22,
"failure_chance_24_months_pct": 0.45,
"failure_date": null,
"failure_event": null,
"figures_verified_on": null,
"funding_stability": "Stable",
"funding_warnings": [],
"grade": "AA",
"has_failed": false,
"health_score": 81.8,
"history": [
{
"based_on": "GNPA 3.34%",
"failure_chance_12_months_pct": 0.23,
"failure_chance_24_months_pct": 0.46,
"grade": "AA",
"health_score": 81.2,
"period": "FY2015",
"period_end": "2015-03-31"
}
],
"history_count": 7,
"institution_id": "svc-ucb",
"institution_type": "Urban co-operative bank",
"latest_period": "FY2021",
"latest_period_end": "2021-03-31",
"name": "SVC Co-operative Bank",
"regulatory_checks": [
{
"margin": 4.19,
"measure": "Net bad loans",
"trigger_level": 6.0,
"value": 1.81
}
],
"regulatory_status": "No RBI threshold breached",
"standing": "Healthy (comparison group)"
}Get the failure risk board
Get LiquiLens's current failure-risk board for Indian banks and lenders: each institution with a recent enough filing, its health score, grade, risk tier (green, yellow, orange or red) and estimated chance of failing within 12, 24 and 36 months. Institutions whose filings are too old to score are listed separately with the reason.
Inputs
None.
Outputs
as_oftext- The date the answer describes, YYYY-MM-DD.
countnumber- How many institutions are scored.
green_countnumber- How many are in the green tier.
institutionslist- The institutions scored right now.
orange_countnumber- How many are in the orange tier.
out_of_datelist- Institutions left off the board because their latest filing is too old.
out_of_date_countnumber- How many institutions are out of date.
red_countnumber- How many are in the red tier.
yellow_countnumber- How many are in the yellow tier.
Example output
{
"as_of": "2026-10-16",
"count": 3,
"green_count": 2,
"institutions": [
{
"change_in_12_month_chance_pct": 0.08,
"compared_with_period_end": "2025-03-31",
"failure_chance_12_months_pct": 0.26,
"failure_chance_24_months_pct": 0.52,
"failure_chance_36_months_pct": 0.79,
"filing_age_days": 199,
"funding_stability": "Stable",
"grade": "A",
"health_score": 77.8,
"institution_id": "belstar-microfinance",
"institution_type": "Microfinance lender",
"name": "Belstar Microfinance Limited",
"period": "FY2026",
"period_end": "2026-03-31",
"regulatory_status": "No RBI threshold breached",
"risk_tier": "yellow",
"warning_signs": []
}
],
"orange_count": 0,
"out_of_date": [
{
"institution_id": "asirvad-micro-finance",
"latest_period_end": "2026-03-31",
"name": "Asirvad Micro Finance Limited",
"reason": "latest model-corpus filing FY26Q4 is 199 days old; quarterly limit is 183 days"
}
],
"out_of_date_count": 35,
"red_count": 0,
"yellow_count": 1
}Get the historical track record
See how well LiquiLens's screen has flagged past bank failures in India, the United States and Europe: how many institutions each study covers and how far ahead failures were flagged.
Inputs
None.
Outputs
countnumber- How many markets are listed.
marketslist- One entry per market studied.
Example output
{
"count": 3,
"markets": [
{
"assumed_filing_delay_days": 60,
"institutions_studied": 48,
"lead_times_may_be_optimistic": true,
"market": "India",
"summary": "48 institutions across two decades; 88.9% of non-fraud failures flagged, median lead 21.5 months"
}
]
}List covered banks
List the banks whose filings LiquiLens has reviewed (commercial, small finance and urban co-operative banks), with how current each one's latest filing is. Narrow it to one kind of bank, or look back to an earlier date.
Inputs
- Bank type
bank_typetext - Which banks to list. All banks by default.One of:
all(All banks),bank(Commercial banks),sfb(Small finance banks),ucb(Urban co-operative banks). Default:all. - As of date
as_ofdate - See the picture as it stood on this day, using only filings published by then. Leave blank for today. Future dates are not allowed.
Outputs
as_oftext- The date the answer describes, YYYY-MM-DD.
bankslist- The banks covered.
countnumber- How many banks are listed.
current_countnumber- How many have a current filing.
historical_countnumber- How many are historical records.
out_of_date_countnumber- How many have an out-of-date filing.
unavailable_countnumber- How many had nothing filed by that date.
Example output
{
"as_of": "2026-10-16",
"banks": [
{
"bank_type": "Urban co-operative bank",
"filing_age_days": 199,
"filing_status": "current",
"institution_id": "cosmos-ucb",
"name": "Cosmos Co-operative Bank",
"period_end": "2026-03-31"
}
],
"count": 10,
"current_count": 3,
"historical_count": 7,
"out_of_date_count": 0,
"unavailable_count": 0
}Search RBI-registered lenders
Search the Reserve Bank of India's register of non-bank lenders (over 9,000 NBFCs) by name or company number, by lender type, or by size layer. Returns each lender's registered name, city, type, layer, company number and whether it may take public deposits.
Inputs
- Name or company number
nametext - Part of the lender's name or its corporate identity number (CIN). Give this, a lender type or a layer.
- Lender type
lender_typetext - Only lenders of this RBI class.One of:
ICC(Investment and credit company),HFC(Housing finance company),MFI(Microfinance institution),Type-I(Type I (no public funds, no customers)),CIC(Core investment company),P2P(Peer-to-peer lending platform),AA(Account aggregator),Factor(Factoring company),IFC(Infrastructure finance company),IDF(Infrastructure debt fund),NOFHC(Non-operative financial holding company),MGC(Mortgage guarantee company). - Layer
layertext - Only lenders in this RBI size layer. The largest, most closely supervised lenders are in the Upper layer.One of:
Base(Base layer (smaller lenders)),Middle(Middle layer),Upper(Upper layer (largest lenders)). - Limit
limitnumber - The most lenders to return, from 1 to 200. 50 by default.From 1 to 200. Default:
50.
Outputs
countnumber- How many lenders are returned.
resultslist- The matching lenders.
total_matchesnumber- How many lenders match in all.
Example output
{
"count": 1,
"results": [
{
"city": "Mumbai",
"company_id": "L65910MH1987PLC042961",
"layer": "Upper",
"lender_type": "Investment and credit company",
"lender_type_code": "ICC",
"name": "Bajaj Finance Ltd.",
"takes_public_deposits": true
}
],
"total_matches": 1
}