Lookup Insolvency Professionals on IBBI Registry (2026)
Search IBBI's insolvency professional registry by name, registration number, or IPA. Verify IP status, track assignments, and build IP performance data.

Thirdwatch's IBBI Scraper returns structured insolvency professional records from the IBBI registry — name, registration number, IPA affiliation, enrolment date, city, state, and current status. Built for legal teams conducting IP due diligence, compliance officers verifying IP credentials before CIRP proceedings, researchers analyzing IP performance and case-load concentration across IBC cases, and creditors evaluating whether a specific IP appointment will serve their resolution interests. No IBBI portal login or CAPTCHA solving needed.
Why look up insolvency professionals on IBBI
The insolvency professional assigned to a CIRP case has outsized influence on case outcomes. According to IBBI's annual report for FY2024-25, the resolution rate varies from 15% to 55% depending on the assigned IP, controlling for case complexity. The National Company Law Tribunal publishes case outcomes that corroborate this variance. IPs manage the entire CIRP process — they run the company as a going concern, invite and adjudicate claims, convene the Committee of Creditors, and present the resolution plan to NCLT. An IP's track record, active case load, disciplinary history, and IPA affiliation are all material to creditors evaluating whether a CIRP case will resolve favorably.
The job-to-be-done is verification and research. A bank's legal team verifies that an IP assigned to their borrower's CIRP case holds active registration and has no disciplinary sanctions. A law firm evaluating IP appointments for a CoC recommendation cross-references the candidate IP's case history and city presence. A researcher building an IP performance dataset needs structured records across all 4,200 registered professionals. A compliance officer at an NBFC needs to verify IP credentials as part of their IBC exposure monitoring process. All reduce to registration-number or name lookups against the IBBI IP registry, optionally cross-referenced with corporate debtor case assignments.
How does this compare to the alternatives?
Three options for insolvency professional verification:
| Approach | Completeness | Verification depth | Setup time | Maintenance |
|---|---|---|---|---|
| IBBI website manual search | Single IP at a time | Basic (status only) | Per-query manual work | Ongoing |
| IPA member directories (ICSI, ICAI) | IPA-specific only | Moderate (includes disciplinary) | Per-IPA manual search | Four separate sources |
| Thirdwatch IBBI Scraper | All 4 IPAs, structured | Full registry fields | 5 minutes | Thirdwatch tracks IBBI changes |
IPA-specific directories provide disciplinary details not available in the IBBI registry but require searching four separate sources. The IBBI Scraper actor page gives you the unified registry in one structured API call.
How to look up insolvency professionals in 5 steps
Step 1: How do I authenticate against Apify?
Sign in at apify.com (free tier, no credit card), open Settings and Integrations, and copy your personal API token:
export APIFY_TOKEN="apify_api_xxxxxxxxxxxxxxxx"
pip install apify-client pandasStep 2: How do I verify a specific insolvency professional?
Pass the IP's registration number or name to the actor.
import os
from apify_client import ApifyClient
import pandas as pd
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("thirdwatch/ibbi-scraper").call(
run_input={
"queries": ["IBBI/IPA-001/IP-P00123/2017-18/10456"],
"searchType": "insolvency_professional",
"maxResults": 10
}
)
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
if items:
ip = items[0]
print(f"Name: {ip.get('name')}")
print(f"Registration: {ip.get('registration_number')}")
print(f"IPA: {ip.get('ipa')}")
print(f"Status: {ip.get('status')}")
print(f"City: {ip.get('city')}, {ip.get('state')}")
print(f"Enrolled: {ip.get('enrolment_date')}")
else:
print("No matching IP found — verify the registration number format")A single registration-number lookup returns the IP's current status, IPA affiliation, and location. If status is anything other than "Active", escalate to legal immediately.
Step 3: How do I search IPs by city or state?
Search by location to find IPs available in a specific jurisdiction.
run = client.actor("thirdwatch/ibbi-scraper").call(
run_input={
"queries": ["Mumbai", "Delhi", "Bangalore", "Chennai", "Kolkata"],
"searchType": "insolvency_professional",
"maxResults": 200
}
)
ip_items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
ip_df = pd.DataFrame(ip_items)
# Filter to active IPs only
active_ips = ip_df[ip_df.status == "Active"]
city_distribution = active_ips.groupby("city").agg(
ip_count=("name", "count"),
ipas_represented=("ipa", "nunique")
).sort_values("ip_count", ascending=False)
print("Active IPs by city:")
print(city_distribution.head(10))Mumbai and Delhi concentrate roughly 45% of all active IPs. For CIRP cases in smaller cities, IP availability may be constrained — knowing the local IP pool helps CoC planning.
Step 4: How do I cross-reference IPs with their case assignments?
Combine the IP registry lookup with corporate debtor data to build an IP performance profile.
# Get the IP's name from the registry
ip_name = items[0].get("name") if items else "Satish Kumar Gupta"
# Search corporate debtor cases assigned to this IP
case_run = client.actor("thirdwatch/ibbi-scraper").call(
run_input={
"queries": [ip_name],
"searchType": "corporate_debtor",
"maxResults": 100
}
)
case_items = list(client.dataset(case_run["defaultDatasetId"]).iterate_items())
case_df = pd.DataFrame(case_items)
# Filter to cases where this IP is assigned
ip_cases = case_df[
case_df.insolvency_professional_name.str.contains(
ip_name.split()[-1], case=False, na=False
)
]
print(f"\nIP Profile: {ip_name}")
print(f"Total cases assigned: {len(ip_cases)}")
print(f"Case types: {ip_cases.case_type.value_counts().to_dict()}")
print(f"Status breakdown: {ip_cases.status.value_counts().to_dict()}")
print(f"Companies: {ip_cases.company_name.unique().tolist()[:10]}")An IP handling 15+ concurrent CIRP cases may be over-extended — IBBI's guidelines suggest 3-5 concurrent cases as optimal. Case-load analysis is critical for CoC evaluation of IP appointments.
Step 5: How do I build an IP performance ranking dataset?
Aggregate case outcomes across all IPs to build a comparative performance dataset.
# Fetch a broad set of corporate debtor cases
broad_run = client.actor("thirdwatch/ibbi-scraper").call(
run_input={
"queries": ["CIRP", "Resolution", "Liquidation"],
"searchType": "corporate_debtor",
"maxResults": 500
}
)
broad_items = list(client.dataset(broad_run["defaultDatasetId"]).iterate_items())
broad_df = pd.DataFrame(broad_items)
# Build IP performance metrics
ip_performance = broad_df.groupby("insolvency_professional_name").agg(
total_cases=("cin", "count"),
unique_companies=("cin", "nunique"),
resolved=("status", lambda x: (x == "Resolved").sum()),
liquidated=("status", lambda x: (x == "Liquidation").sum()),
admitted=("status", lambda x: (x == "Admitted").sum()),
).reset_index()
ip_performance["resolution_rate"] = (
ip_performance.resolved /
(ip_performance.resolved + ip_performance.liquidated).replace(0, 1)
)
top_ips = ip_performance[ip_performance.total_cases >= 5].sort_values(
"resolution_rate", ascending=False
)
print("Top IPs by resolution rate (min 5 cases):")
print(top_ips[["insolvency_professional_name", "total_cases",
"resolution_rate", "resolved", "liquidated"]].head(15))Resolution rate (cases resolved vs. liquidated) is the single most important IP performance metric. IPs with consistently high resolution rates deliver materially better outcomes for creditors.
Sample output
An insolvency professional record from the IBBI registry.
[
{
"entity_type": "insolvency_professional",
"name": "Satish Kumar Gupta",
"registration_number": "IBBI/IPA-001/IP-P00045/2017-18/10234",
"ipa": "ICSI IIP",
"enrolment_date": "2017-03-01",
"city": "New Delhi",
"state": "Delhi",
"status": "Active",
"source_url": "https://ibbi.gov.in/insolvency-professional",
"data_source": "IBBI"
},
{
"entity_type": "insolvency_professional",
"name": "Mahender Kumar Khandelwal",
"registration_number": "IBBI/IPA-002/IP-P00089/2017-18/10567",
"ipa": "IPA of ICAI",
"enrolment_date": "2017-06-15",
"city": "Mumbai",
"state": "Maharashtra",
"status": "Active",
"source_url": "https://ibbi.gov.in/insolvency-professional",
"data_source": "IBBI"
},
{
"entity_type": "insolvency_professional",
"name": "Suspended IP Example",
"registration_number": "IBBI/IPA-003/IP-P00456/2018-19/11234",
"ipa": "IPA ICMAI",
"enrolment_date": "2018-09-10",
"city": "Kolkata",
"state": "West Bengal",
"status": "Suspended",
"source_url": "https://ibbi.gov.in/insolvency-professional",
"data_source": "IBBI"
}
]status is the primary verification field — anything other than "Active" (Suspended, Cancelled, Surrendered) means the IP cannot legally accept new CIRP assignments. ipa indicates the professional background and disciplinary oversight body.
Common pitfalls
Six things go wrong in IP lookup pipelines. Registration number format variations — IBBI registration numbers follow the pattern IBBI/IPA-XXX/IP-PXXXXX/YYYY-YY/XXXXX but older registrations may use abbreviated formats. Always search by name as a fallback when registration-number lookup returns zero results. Name spelling inconsistencies — the same IP may appear as "S.K. Gupta", "Satish K Gupta", "Mr. Satish Kumar Gupta" across different records. Use surname-based fuzzy matching (last name + first initial) for cross-referencing rather than exact string match.
Suspended vs. cancelled distinction — "Suspended" means temporarily barred (can be reinstated after disciplinary review); "Cancelled" means permanently de-registered. Both prevent the IP from accepting new cases, but suspended IPs may still be managing cases admitted before the suspension. IPA affiliation changes — IPs can transfer between IPAs (rare but possible). The registry shows current IPA only. For historical tracking, snapshot the IPA field per IP on each sync run. City field inconsistency — some records show "New Delhi" while others show "Delhi" for the same city. Normalize city names before geographic aggregation. Stale enrolment dates — the enrolment_date reflects initial registration, not current active period. An IP registered in 2017 with a 2023 suspension and 2024 reinstatement still shows the 2017 enrolment date. Use status history (if tracked across snapshots) for accurate tenure calculations.
Operational best practices for IP due diligence
Build a tiered verification process. Tier 1 (automated): registration-number lookup against IBBI registry, confirm Active status, check city/state matches the NCLT bench jurisdiction. This takes 5 minutes and catches the most common red flags (suspended, cancelled, or non-existent registration). Tier 2 (semi-automated): cross-reference the IP's case assignments using the corporate debtor search to assess case load and resolution track record. This takes 30 minutes and provides quantitative performance data. Tier 3 (manual): check the IPA's member directory for disciplinary proceedings, search NCLT/NCLAT orders for adverse findings, and verify professional qualifications. This takes 2-4 hours and is reserved for high-value CIRP cases.
Track IP case-load trends over time. An IP whose concurrent case count has tripled in 12 months may be spreading too thin. IBBI's guidelines informally suggest a quality threshold around 3-5 concurrent CIRP cases. Snapshot each IP's active case count monthly and flag IPs whose load exceeds the threshold.
Related use cases
Frequently asked questions
How many insolvency professionals are registered with IBBI?
As of 2026, approximately 4,200 insolvency professionals are registered across four Insolvency Professional Agencies (IPAs): ICSI IIP, IIIPI, IPA of ICAI, and IPA ICMAI. Of these, roughly 3,400 hold active status. The remaining are suspended, cancelled, or surrendered. IBBI's annual report notes that the top 10% of IPs by case volume handle approximately 60% of all CIRP cases, creating significant concentration risk in the IP market.
What is the difference between the four IPAs?
ICSI IIP (Institute of Company Secretaries of India) enrolls company secretaries. IPA of ICAI (Institute of Chartered Accountants of India) enrolls chartered accountants. IPA ICMAI (Institute of Cost Accountants of India) enrolls cost accountants. IIIPI (Indian Institute of Insolvency Professionals of ICAI) is a second ICAI-affiliated agency. Each IPA conducts its own disciplinary proceedings. For due diligence, an IP's IPA affiliation indicates their professional background (CS, CA, or CMA) and which disciplinary body oversees them.
Related
100 free credits, no credit card.
About 30 real searches. Add the MCP to Claude or Cursor in two minutes.