How this works, and where it can be wrong
Understanding the method matters more than the numbers, because the numbers are conclusions rather than facts.
The problem
When you book a train from an intermediate station, you are not drawing on the same pool of seats as someone boarding at the origin. Indian Railways divides reserved accommodation into quotas attached to points along the route — General at the origin, Remote Location and Pooled quotas covering stretches further along. This is why a train can show a hundred seats free from its origin and a wait-list from a station two hours down the line.
Railways does not publish how those quotas are divided, or how large each one is.
The method
- Ask the public enquiry. The same seat-availability enquiry any passenger can use, for one train, class and boarding station at a time. Each enquiry needs a person to answer the site's verification question — this system never answers it automatically.
- Record exactly what comes back. Responses are stored verbatim and never edited. Repeat queries add history rather than replacing it.
- Compare boarding points. Passengers within one quota pool draw on the same seats, so their availability moves together and their wait-list carries the same prefix — GNWL, RLWL, PQWL. Where that prefix changes between two neighbouring stations, a pool boundary sits between them.
- Estimate size from the fullest observation. The most seats ever seen free at once puts a floor under the allocation.
- Score the evidence. Every conclusion is weighed on how many observations back it, across how many journey dates and collection days, and how consistent they were.
Where this can be wrong
- Estimated allocations are floors, not figures. "At least 24 berths" means 24 were once observed free. The real quota may be considerably larger and simply never seen empty. It is never larger than stated in the other direction — but do not read it as the allocation.
- Presumed stations were never checked. A station marked PRESUMED sits between two stations known to share a pool, so it probably shares it too. Probably is not certainly.
- Low confidence means low confidence. A group resting on one boarding point tells you how that station behaves, not how far its pool extends. Those are capped and labelled.
- Quotas change. Allocations are revised with timetable changes and seasonal demand. An observation is true of the moment it was taken; nothing here is guaranteed current.
- Availability alone proves nothing about pools. A station showing free seats looks identical whichever quota it draws on, so such stations are left ungrouped rather than guessed.
- Coverage is thin. Collection is human-paced by design. Most trains have no data at all.
How this service behaves
- It does not contact Indian Railways when you use it. You are reading data already collected; your visit causes no load on their systems.
- Collection is rate-limited, runs about an hour a day, and stops when the site signals a problem.
- Verification questions are always answered by a person. Nothing here bypasses, solves or evades them.
- No passenger data is collected. No names, no PNRs, no phone numbers — only train, station, class, date and the availability string returned.
Data access
The same data is available as JSON:
GET /api/coverage
GET /api/trains/{train_no}
GET /api/trains/{train_no}/route
GET /api/trains/{train_no}/classes
GET /api/trains/{train_no}/quota-map
GET /api/trains/{train_no}/availability-history
GET /api/stations/{station_code}/quota-behaviour
Every response carries a provenance field and the same disclaimer shown at the foot of this page.