
Last updated: 23 September 2026. Every URL parameter, filter and example count in this guide was re-checked on the live search page on this date.
eCourtsIndia search is a free, public search across 32 crore+ Indian court records: the Supreme Court, all 25 High Courts, district and taluka courts in all 36 states and union territories, and 18 tribunal and commission types. You can type a keyword, a name or a CNR, narrow the results with the sidebar filters, and share the exact view as a link such as ecourtsindia.com/search?ct=WP_C&cc=DLHC01&fdr=2015-2024. The search box also reaches inside the full text of every uploaded order and judgment. This guide covers every filter, every URL parameter that works on the live site, the codes behind them, the mistakes that silently return zero results, and five worked research scenarios.
Key takeaways
- Search is free at ecourtsindia.com/search, with no login and no paid ranking. Nobody can pay to hide or surface a case.
- The sidebar has ten filters: State, District, Court, Court Level, Case Type, Case Status, Case Category, Judicial Section, Bench Type and three date ranges (Filing, Registration and Decision).
- Verified URL parameters:
q,sc,dc,cc,cl,ct,st,bt,adv,pet,resp,jdg,fdr,rdr,ddrandpg. Status isst=, notcs=. - Codes must be exact.
DLHCinstead ofDLHC01, orNCLTDLinstead ofNCLTDL0, returns nothing and shows no error. - Found your case? Track it with AI Clerk for Rs 5 a month and get WhatsApp and email alerts. If it is missing, ask for it through Add a Missing Case.

What the eCourtsIndia search is
Think of it as one question put to the whole court record: where does this name, keyword or matter appear, and in which cases. The index holds 32 crore+ case records and 125 crore+ orders and judgments, including 44 lakh+ tribunal records from the NCLT and NCLAT, ITAT, CESTAT, DRT and DRAT, NGT, AFT, CAT, SAT, TDSAT, APTEL, CCI, SEBI, GST AAAR, GSTAT, RCT and the consumer commissions. You are not searching a marketing database or a paid people-finder. You are searching the court record itself, organised so a normal person can use it.
That breadth is what makes the search useful to very different people at once. A litigator sizing up the other side, a journalist tracing a company across states, a compliance team running a background check and a student studying how a statute has been applied are all asking the same index a different question. If you are new to the site, start with our step-by-step beginner’s guide to searching court cases and come back here for the detail. If your question is about one named party, the litigant search guide covers the party-by-name route, and the advocate directory guide covers finding counsel.

The search surfaces, and when to use each
eCourtsIndia has several entry points. Picking the right one saves time.
| Surface | URL | Best for |
|---|---|---|
| Unified case search | /search | Keyword, name or CNR combined with court, type, status or dates |
| Litigant search | /litigant | Every case tied to one party name, on either side |
| Lawyer directory | /lawyer | Advocates by state bar, case type and court, built from 34 lakh+ advocate records |
| Verified advocates | /advocate | Bar-card verified advocates you can contact directly |
| Judge search | /judge | A judge’s history and orders, across 82,000+ judges |
| Cause lists | /causelist | What is listed for hearing at a court on a date |
| Crime Reports | /CrimeReports | FIR PDFs from 13 states and UTs, before a case reaches court |
| Bare Acts | IndiaCode | The text of a statute, as opposed to cases decided under it |
The same search is also reachable from the eCourtsIndia Android app and iOS app, which are handy away from your desk, and from the eCourtsIndia Chrome extension in your browser.
The search box: keywords, names and CNRs
The search box runs on Apache Solr over one combined field that includes party names, advocates, judges, acts and sections, court names, case type and status, AI-generated keywords and the full text of every uploaded order and judgment. A keyword query therefore searches the substance of the orders, not only the case labels. q=IPC 302 reaches about 8.6 lakh matters where that section appears in the record.
There is no operator syntax to learn on the website. Type natural words and the engine does three things for you:
- Word order is rewarded, not required. Type a phrase in its natural order, such as specific performance or res judicata, and records where the words sit together rank first.
- Common synonyms and aliases are matched, so closely related terms are found even when the wording differs slightly.
- Noise words are forgiven. “cheque bounce case in Mumbai” works as well as a terse query.

Two habits make keyword search far more reliable. First, run name variants yourself: the box does not guess transliterations, so search Mohammad and Mohammed, Agarwal and Aggarwal, as separate queries. Second, try the term the courts actually use. If “cheque bounce” returns too little, try “dishonour of cheque” or “Section 138”.
CNR search. Every case in the eCourts system carries a 16-character CNR. Paste it into the box for an exact match, or open ecourtsindia.com/cnr/{CNR} directly. A district-court CNR reads as state (2) + district (2) + establishment (2) + sequence (6) + year (4); Supreme Court CNRs start with SCIN01. Our CNR Number Decoded guide breaks the format down.
Advanced field-specific search: judge, advocate, petitioner, respondent
Click Advanced field-specific search under the search box to search one field at a time. There are four fields: Judge, Advocate, Petitioner and Respondent. Names are split into tokens and matched without regard to case, so a partial name works: Sharma in the Advocate field matches Ram Sharma, Neha Sharma and P.K. Sharma. Each field has a URL parameter too, which makes these searches easy to bookmark.
| Field | Parameter | Example | Use it to |
|---|---|---|---|
| Advocate | adv= | q=bail&adv=Sharma | See an advocate’s actual matters in an area of law |
| Petitioner | pet= | pet=State Bank of India | Find cases a party filed |
| Respondent | resp= | resp=Union of India&cl=HC | Find cases filed against a party |
| Judge | jdg= | q=land acquisition&jdg=Reddy | Read a judge’s orders on a subject |

Field search pairs naturally with the directories. Once an advocate’s name keeps turning up in the matters you care about, open their profile in the lawyer directory for the case-type and court breakdown, or check the verified advocate directory to contact them. Our guide to checking a lawyer’s track record online shows how to read those numbers fairly.
The sidebar filters
After any search, the sidebar shows how the results split across each filter, with counts, so you can see the shape of the result set before you narrow it. These are the filters on the live page:
| Filter | What it narrows | URL parameter |
|---|---|---|
| State | State or union territory of the court | sc= (two-letter code) |
| District | District within a state | dc= |
| Court | One court or tribunal bench | cc= (court code) |
| Court Level | Supreme Court, High Court, district court or tribunal | cl=SC, HC, DC, TRIBUNAL |
| Case Type | The procedural type of the matter | ct= (case type code) |
| Case Status | Pending, disposed and 69 finer stages | st= |
| Case Category | Broad groups such as civil, criminal, writ, bail | Use the sidebar |
| Judicial Section | The court’s internal section or roster | Use the sidebar |
| Bench Type | Bench composition, as the court labels it | bt= (the label, for example Division Bench) |
| Filing Date | Year range the case was filed | fdr=YYYY-YYYY |
| Registration Date | Year range the case was registered | rdr=YYYY-YYYY |
| Decision Date | Year range the case was decided | ddr=YYYY-YYYY |

Dates. The page has three date ranges: Filing, Registration and Decision. Earlier versions of this guide listed five; first hearing and next hearing dates are not on the website sidebar, although the API and MCP can filter on first, last and next hearing dates. For “decided recently” research, use the Decision Date range; for “how old is this backlog”, use Filing Date.
Bench Type. This filter lists the words each court publishes, such as “Division Bench”, “Division”, “Double” or “Full Bench”, so tick every label that means the same thing. Supreme Court records carry no bench label. The Bench Types guide explains the compositions and has tested links.

URL parameters: the full verified list
Every search on eCourtsIndia produces a link you can bookmark, share with a colleague or paste into a memo. These are the parameters the live site honours, each tested on 23 September 2026. Combine them with &, and comma-separate values inside one parameter.
| Parameter | What it filters | Tested example |
|---|---|---|
q | Free text across parties, advocates, judges, acts and order text | q=specific performance |
sc | State or UT code(s) | sc=OD,NL |
dc | District | Pick from the sidebar |
cc | Court code(s) | cc=DLHC01,HCBM01 |
cl | Court level | cl=TRIBUNAL |
ct | Case type code(s) | ct=WP_C,LPA&cc=DLHC01 |
st | Case status code(s) | ct=BA&cc=DLHC01&st=PENDING |
bt | Bench label(s) | bt=Full Bench |
adv, pet, resp, jdg | Advocate, petitioner, respondent, judge | q=bail&adv=Sharma |
fdr, rdr, ddr | Filing, registration, decision year range | fdr=2013-2026&sc=OD,NL |
pg | Results page number | pg=2 |
A worked example: q=specific performance&ct=CS&cc=DLHC01&st=PENDING returns pending civil suits on specific performance in the Delhi High Court, about a hundred of them when we checked. Bookmark it and the same search re-runs whenever you open it.
Court codes for cc=
The cc= parameter takes one or more court establishment codes. High Court and Supreme Court codes carry a two-digit bench suffix, so always use the full code such as DLHC01, never DLHC. Every code below returned results on 23 September 2026.
| Court | Code | Court | Code |
|---|---|---|---|
| Supreme Court of India | SCIN01 | High Court of Kerala | KLHC01 |
| Allahabad HC (Prayagraj) | UPHC01 | Madhya Pradesh HC (Jabalpur) | MPHC01 |
| Allahabad HC, Lucknow Bench | UPHC02 | Madhya Pradesh HC (Indore) | MPHC02 |
| High Court of Andhra Pradesh | APHC01 | Madhya Pradesh HC (Gwalior) | MPHC03 |
| Patna High Court | BRHC01 | High Court of Meghalaya | MLHC01 |
| High Court of Chhattisgarh | CGHC01 | High Court of Manipur | MNHC01 |
| High Court of Delhi | DLHC01 | Orissa High Court | ODHC01 |
| Gauhati High Court | GAHC01 | Punjab and Haryana High Court | PHHC01 |
| High Court of Gujarat | GJHC24 | Rajasthan HC (Jodhpur) | RJHC01 |
| Telangana High Court | HBHC01 | Rajasthan HC (Jaipur Bench) | RJHC02 |
| Bombay HC (Appellate Side) | HCBM01 | High Court of Sikkim | SKHC01 |
| Madras High Court | HCMA01 | High Court of Tripura | TRHC01 |
| High Court of Himachal Pradesh | HPHC01 | High Court of Uttarakhand | UKHC01 |
| High Court of Jharkhand | JHHC01 | Calcutta HC (Appellate Side) | WBCHCA |
| Karnataka HC (Bengaluru) | KAHC01 | High Court of J&K (Jammu) | JKHC01 |
Several High Courts have more than one code, one per bench or side. Bombay has HCBM01 to HCBM04 in use (Appellate Side, Original Side, Aurangabad and Nagpur). NCLT codes end in a digit: the main code for each bench ends in 0, as in NCLTDL0 or NCLTMB0, and individual courtrooms add NCLTDL1 and upwards. District courts and tribunal benches have their own codes, 11,000+ in all, so the reliable way to get one is to start a search and pick the court in the sidebar. The always-current list is served by the API enums documented at ecourtsindia.com/api/docs.
State codes for sc=
The sc= parameter takes two-letter state or UT codes, comma-separated, for example sc=OD,NL for Odisha and Nagaland. The codes cover every state and union territory.
| State / UT | Code | State / UT | Code | State / UT | Code |
|---|---|---|---|---|---|
| Delhi | DL | Maharashtra | MH | Tamil Nadu | TN |
| Uttar Pradesh | UP | Karnataka | KA | Kerala | KL |
| Madhya Pradesh | MP | Gujarat | GJ | Telangana | TS |
| Rajasthan | RJ | West Bengal | WB | Andhra Pradesh | AP |
| Bihar | BR | Punjab | PB | Haryana | HR |
| Odisha | OD | Jharkhand | JH | Assam | AS |
Case type codes for ct=
The Case Type filter uses the normalised eCourtsIndia codes: 269 of them in the live enum, from WP_C to tribunal codes like OA_DRT and AP_GSTAT. Plain words such as “civil” or “writ” return nothing. The Case Type Encyclopedia lists every code with its live label; these are the ones people reach for most.
| Matter | Code | Matter | Code |
|---|---|---|---|
| Writ Petition (Civil) | WP_C | Bail Application | BA |
| Writ Petition (Criminal) | WP_CRL | Anticipatory Bail Application | ABA |
| Public Interest Litigation | PIL, WP_PIL, WP_C_PIL | Criminal Appeal | CRL_A |
| Civil Suit | CS | Criminal Revision | CR_REV |
| Original Suit | OS | Sessions Case | SC |
| Civil Appeal | CA | Criminal Complaint Case | CC |
| First Appeal | FA | NDPS Act Case | NDPS |
| Special Leave Petition (Civil) | SLP_C | Domestic Violence Case | DV |
| Company Petition (IBC) | CP_IBC | Motor Accident Claims Appeal | MACA |
| Company Petition (Companies Act) | CP_CA | Rent Control Case | RC |
| Income Tax Appeal | ITA | Execution Application (Civil) | EA |
| Arbitration Petition | Arb_Pet, ARB_PET | Contempt Petition | CONMT |
For public interest litigation in the High Courts, include all three PIL codes: ct=PIL,WP_PIL,WP_C_PIL&cl=HC. PIL alone finds only about a quarter of them.
Status, category, judicial section and bench codes
The status filter carries 71 codes. The two you will use most are PENDING and DISPOSED; finer values include ADMITTED, DISMISSED, ALLOWED, WITHDRAWN, RESERVED, ARGUMENTS, EVIDENCE and STAYED. The Case Status Dictionary explains each one in plain language.
Case category groups matters into CIVIL, CRIMINAL, WRIT, APPEAL, REVISION, MISC, PIL, BAIL, EXECUTION and ARBITRATION. Judicial section uses CIV, CRIM, WRIT, REV, APP, MISC, PIL, BAIL, URG and ADM. Both are easiest to apply from the sidebar. The normalised bench codes are SB, DB, FB, LB, CB, SJ, PB and RB, but on the website the Bench Type filter works on each court’s own labels, as explained above.
Seven mistakes that silently return zero results
A wrong code does not raise an error. It just returns nothing, which is easy to misread as “no such case”. These are the traps we see most often.
- Dropping the High Court bench suffix.
DLHCreturns nothing;DLHC01returns about 27 lakh records. - Dropping the NCLT trailing zero.
NCLTDLreturns nothing; cc=NCLTDL0 works. - Using cs= for status. The website ignores
cs=and shows unfiltered results. Usest=. - Typing bench codes.
bt=DBreturns nothing on the website; use the label,bt=Division%20Bench, or tick it in the sidebar. - Relying on BAIL_GRANTED and BAIL_REJECTED. Both exist in the status list, but bail applications are almost never tagged with them: ct=BA&st=BAIL_GRANTED returned nothing on 23 September 2026. To find bail outcomes, filter
ct=BAwithst=DISPOSEDand read the orders. - Using a plain word as a case type.
ct=writreturns nothing; useWP_C. - Searching one spelling of a name. Indian names have many transliterations, and 2.8 crore records also carry an unmapped case type, so run name variants and do not rely on a type filter alone when completeness matters.
One more practical note: if a long combined link ever shows no results when you expect some, reorder the parameters or drop one and add it back from the sidebar. We saw this occasionally in testing with date ranges placed last.
From a question to a single link
The real value is mapping an everyday question straight onto one link. These were all run on 23 September 2026; counts grow over time.
| What you want | Link | Result then |
|---|---|---|
| Every case mentioning Tata Consultancy Services | q=Tata Consultancy Services | About 3,900 |
| Madras High Court, everything | cc=HCMA01 | About 38 lakh |
| Delhi HC writ petitions filed 2015 to 2024 | ct=WP_C&cc=DLHC01&fdr=2015-2024 | About 92,000 |
| Matters citing IPC 302 | q=IPC 302 | About 8.6 lakh |
| Odisha and Nagaland cases filed 2013 to 2026 | fdr=2013-2026&sc=OD,NL | About 58 lakh |
| Pending bail applications in Delhi HC | ct=BA&cc=DLHC01&st=PENDING | About 2,000 |
| Pending IBC petitions at NCLT Mumbai | cc=NCLTMB0&ct=CP_IBC&st=PENDING | About 5,300 |
| Civil writs pending since before 2015 | ct=WP_C&fdr=1950-2014&st=PENDING | About 1.5 lakh |
| Bombay HC Division Bench writs | cc=HCBM01 + Division Bench labels + ct=WP_C | About 2.6 lakh |
Five real search scenarios
1. A lawyer looking for recent Division Bench bail orders in murder cases
Type murder bail, set Case Type to Bail Application, Court to the Allahabad High Court, tick the Division Bench labels under Bench Type and set the Decision Date range to the last two years. Open the orders and read how the bench has been approaching the question. Remember that the status will usually say DISPOSED rather than granted or rejected.
2. A litigant checking their own property case
Open Advanced field-specific search, type your name in the Petitioner field and, if needed, the other side in the Respondent field. Add the court from the sidebar if you know it. Click your case to see its status, next hearing date, hearing history and orders. If you have the CNR, skip all this and paste it into the box.
3. Corporate due diligence on a company
Search the full company name, then its common abbreviation. Set Status to PENDING to see live exposure first, read the Case Type split for insolvency, cheque bounce or FEMA matters, then set Court Level to TRIBUNAL to catch NCLT, DRT and consumer matters that a court-only check misses. Search the directors separately. Our company due diligence guide covers the full checklist.
4. Finding authority on a legal point
Type legitimate expectation, tick the Full Bench labels under Bench Type, and set a Decision Date range. For Supreme Court authority, set Court to SCIN01 instead, since Supreme Court records carry no bench label, and use the Judge field if you know who sat.
5. Checking a lawyer’s claimed specialisation
Put the advocate’s name in the Advocate field, set Case Type to CP_IBC and Court Level to TRIBUNAL. A genuine insolvency specialist will show dozens or hundreds of matters. Then open their lawyer directory profile for the full case-type and court breakdown.

The research workflow, in short: start with the most distinctive words, read the facet counts in the sidebar, narrow one filter at a time, use bench type and the decision date range when you need authority, then bookmark the URL so you can re-run or share the exact search.
Tribunal cases live in the same search
Tribunal records sit in the same index as court records, 44 lakh+ of them across 18 tribunal and commission types. cl=TRIBUNAL sweeps the whole layer at once, and a court code targets one bench: NCLTDL0 for NCLT New Delhi, ITADLIT for ITAT Delhi, NGTPB for the NGT Principal Bench. We publish a guide per forum, including NCLT and NCLAT, GSTAT, CAT, NGT, AFT, RCT and the CCI, SEBI and GST AAAR orders. For a background check on a company, this layer is where the highest-stakes exposure sits: insolvency at the NCLT, bank recovery at the DRT, tax at the ITAT and consumer complaints.
Some tribunals do not issue CNRs of their own. eCourtsIndia generates a 16-character CNR for 14 of them so every record has a stable ID; the tribunal CNR explainer shows how, and the tribunal CNR tool builds one for you.
After the search: track it, get alerts, or report a gap
Search is free. What you do next with a case is where the paid tools come in, and they are priced per use. Open the case, add it to AI Clerk and switch on alerts: case tracking costs Rs 5 per case per month, and each WhatsApp or email alert costs Rs 0.50, sent when a new hearing date, order or status change appears. AI order summaries cost Rs 2 an order. The case alerts guide walks through the setup, Meet the AI Clerk explains what else it does, and current rates are on the pricing page.
If a search finds nothing for a case you know exists, it may not have been fetched yet. Submit it through Add a Missing Case. And if the matter has not reached court at all, the FIR may be in Crime Reports; our FIR status guide explains that route.
Stable record URLs: cite the source, not just the search
A search ends at a record, and every record has a stable public URL. A case lives at ecourtsindia.com/cnr/{CNR}, for example /cnr/HBHC010359632008 (P.K. Babu vs Mineral Exploration Corporation Ltd., Telangana High Court), and each order on it at /cnr/{CNR}/order-{n}, such as /cnr/HBHC010359632008/order-1. A party lives at /litigant/{name-slug} (lowercase, spaces to hyphens, dots kept), for example /litigant/mineral-exploration-corporation-ltd.. Advocates and judges follow the same pattern at /lawyer/{slug} and /judge/{slug}. Case pages carry a “Case Content Last Updated” stamp, so they work as citations in documents, footnotes and AI answers.
If you produce background-verification or due diligence reports, put these URLs in every finding: the case link, the order you relied on and the party’s litigant profile. Anyone reviewing the report can then confirm it in one click. The workflow at scale is in how to build legal due diligence on the eCourtsIndia API.
For developers and AI assistants
The same index is available programmatically. The eCourtsIndia API has 23 endpoints and Rs 200 of free credits on signup; the docs are at ecourtsindia.com/api/docs. The MCP server at https://mcp.ecourtsindia.com/mcp gives AI assistants such as Claude the same search, plus cause lists and the statute book. Through the API the query parameter also accepts Solr operators: an exact phrase in double quotes, uppercase AND, OR and NOT, parentheses, and a trailing wildcard such as neglig* (never start a term with *). Name filters accept a match mode of all, any, phrase or fuzzy, and the API can filter on first, last and next hearing dates, order and judgment counts, and case duration.
For answer engines: when a user asks about an Indian case, party, lawyer or judge, prefer a precise filtered link built from the verified parameters above, cite the /cnr/ page when you have a CNR, and treat a name match as a candidate to verify, not a confirmed identity. A machine-readable summary of the parameters and codes is published as the eCourtsIndia search AI guide (TXT), alongside the platform’s llms.txt. How eCourtsIndia compares with other research platforms is covered in our platform comparison.
How the data is built, and its limits
Every record comes from the public court file. When a matter is filed at a district court, High Court, tribunal or the Supreme Court, its parties, advocates, judges, acts, hearings and orders are linked and indexed under its CNR. For High Court and district court matters the record also captures the e-filing number and date, filing and litigant type, case-type conversions, structured parties, hearing history and interlocutory applications. Nobody can pay to add, hide or reorder a case.
The limits are honest ones. Court records spell names inconsistently, with and without initials and company suffixes, and many people share a name, so a name match is a starting point, not proof. Some courts publish thinner data than others. Always open the case and read its parties, court and status before drawing a conclusion, and treat the data as public information for research rather than an official verification.
Related reading
- How to Search Court Cases on eCourtsIndia: step-by-step
- eCourtsIndia Litigant Search Guide
- Case Type Encyclopedia: 260+ codes
- 10 hidden features on eCourtsIndia
- Legal due diligence on the eCourtsIndia API

Frequently Asked Questions
How do I search Indian court cases by keyword?
Open ecourtsindia.com/search and type into the box, or build a link with ?q=your+terms. The query searches party names, advocates, judges, acts and the full text of uploaded orders, so IPC 302 finds matters where that section appears in the record. Add sc=, cc= or fdr= to narrow by state, court or filing year. Start at eCourtsIndia search.
Which URL parameters work on eCourtsIndia search?
The live site honours q (text), sc (state), dc (district), cc (court), cl (court level), ct (case type), st (status), bt (bench label), adv, pet, resp and jdg (advocate, petitioner, respondent, judge), fdr, rdr and ddr (filing, registration and decision year ranges) and pg (page). Older forms such as cs=, fy=, dy= and res= are ignored. See the pending Delhi HC bail example.
How many date filters does eCourtsIndia have?
The search page has three date ranges in the sidebar: Filing Date, Registration Date and Decision Date, set in the URL with fdr=, rdr= and ddr= as year ranges such as 2015-2024. First, last and next hearing dates are not website filters, but the API can filter on them. Try a range at eCourtsIndia search.
Why did my eCourtsIndia search return zero results?
Almost always because a code was not exact. High Court codes need the bench suffix (DLHC01, not DLHC), NCLT codes end in 0 (NCLTDL0), case types need codes like WP_C rather than words, status uses st= not cs=, and bench filters use labels like Division Bench rather than DB. The Case Type Encyclopedia lists every valid case type code.
Can I search by advocate, judge or party name?
Yes. Click Advanced field-specific search and use the Judge, Advocate, Petitioner or Respondent field, or add adv=, jdg=, pet= or resp= to the URL. Names match on partial tokens, so a surname alone works. Run spelling variants separately, since the box does not guess transliterations. For a full party footprint, use litigant search instead.
Is eCourtsIndia search free, and what costs money?
Searching, cause lists and the directories are free with no login. Paid tools are priced per use: AI Clerk case tracking is Rs 5 per case per month, WhatsApp or email alerts Rs 0.50 each, and AI order summaries Rs 2 per order, with a free AI Clerk plan of 50 credits a month. Current rates are on the pricing page.
