How eCourts actually publishes case data, and what that means for your practice
A practical look at CNR numbers, what the eCourts portal does and does not expose, and why 'just check the website' is worse advice than it sounds.
8 min read
Almost every litigation practice in India has settled into the same morning routine. Someone opens the eCourts portal, types in a case number or a party name, squints at a table, and copies what they find into a diary, a spreadsheet, or a WhatsApp group. It works, in the sense that the information eventually reaches the person who needs it. It also quietly costs a practice several hours a week and introduces an error at every hop.
Understanding how eCourts is actually structured makes it clearer why that routine is so brittle, and what a better arrangement looks like.
The CNR is the only stable handle on a case
A Case Number Record (CNR) is a sixteen-character identifier assigned to a case when it is registered on the eCourts system. It encodes the state, the district, the establishment, and a sequence number, and it does not change. The case number you argue under does change: cases get renumbered on transfer, a matter registered as one type may be converted to another, and the same number is reused across years in different establishments.
This matters because it decides what you should be storing. A practice that files matters by case number will eventually lose track of one after a transfer. A practice that stores the CNR alongside the case number can always find the matter again, whichever bench it ends up before.
If you record only one identifier per matter, record the CNR. Everything else about a case can change; that cannot.
What the portal will tell you
Query a CNR and eCourts returns a reasonably rich picture of the case: the parties and their counsel, the case type and filing details, the current stage, the next hearing date, the history of previous hearings with the business transacted on each, and a list of orders with links to the PDFs where the establishment has uploaded them.
That is genuinely a lot. For most district court matters it is enough to reconstruct the whole procedural history of a case without ever opening a physical file.
What it will not tell you
The gaps are as important as the coverage, and they are where practices get caught out:
- There is no notification. The portal is a place you go and look. It will not tell you that a date moved, that an order was uploaded, or that your matter has been listed tomorrow. Anything you do not check, you do not know.
- Uploads lag the hearing. An order pronounced in the afternoon may not appear as a PDF for a day or more, and in some establishments not at all. The hearing history usually updates before the document does.
- Coverage is uneven across establishments. District courts are comprehensively covered. High Courts run their own services with their own conventions, and tribunals — NCLT, NCDRC, DRT, ITAT — sit outside eCourts entirely, each with a separate portal and no CNR at all.
- The HTML is written for a browser, not for a program. Tables are frequently malformed, closing tags are missing, and the same field appears under different labels in different establishments.
Cause lists are a separate system
The single most common misconception we encounter is that case status and cause lists are the same feed. They are not. A case record tells you the next hearing date that was fixed when the matter was last taken up. The cause list tells you what a particular court is actually taking up on a particular day, and it is published separately, usually the evening before.
The two disagree more often than you would like. Matters get listed that were not expected, supplementary lists are issued late, and a date recorded weeks ago may have been overtaken. Checking case status alone means finding out about a listing when someone calls you from court.
What to do about it
The structural fix is to stop treating eCourts as a website you visit and start treating it as a data source that pushes into your own system. Concretely, that means three things:
- 01Store the CNR for every matter, and use it as the key your records hang off.
- 02Poll case status on a schedule rather than on demand, and compare each result against the previous one, so what reaches you is the change rather than the whole record.
- 03Poll cause lists separately, overnight, for every court where you have an active matter — and reconcile them against your own diary before the morning.
This is exactly what Lexshastra does in the background: cases are imported by CNR, re-synced on a schedule, diffed against the previous snapshot so you see only what changed, and cross-checked against the cause lists for the courts you appear in. The point is not that the data is new — it is all public. The point is that nobody in your chamber has to go and look for it.