ecourts is a information retrieval tool for Indian High Courts.
Project description
ecourts-scraper
This is a Python package to help scrape information from the ECourts Service. This is primarily meant for journalists, and data researchers who need bulk access to the ECourts website to get orders, judgements, or lists of cases that match their criteria.
The final goal is to cover all services under the ecourts.gov.in
domain, but it currently
supports a few services covered at https://hcservices.ecourts.gov.in/ecourtindiaHC/.
It covers all the High Courts and their various benches.
Type of Query | Supported | Inputs |
---|---|---|
Search for cases by Case Number | 🚧WIP | Case Type, Case Number, Year |
Search for cases by FIR Number | 🚧WIP | Police Station, FIR Number†, Year†, Case Status (Pending/Disposed/Both)† |
Search for cases by Party Name | 🔜Planned | Petitioner/Respondent Name, Year†, Case Status (Pending/Disposed/Both)† |
Search for cases by Advocate Name | 🚫No | |
Search for cases by Filing Number | 🚧WIP | Filing Number, Year |
Search for cases by Act | 🚫No | NA |
Search for cases by Case Type | 🚧WIP | Case Type, Year†, Pending/Disposed |
Search for Case Orders/Judgement by Case Number | 🚧WIP | Case Type, Case Number, Year |
Search for Case Orders/Judgement by Filling Number | 🚧WIP | Filing Number, Year |
Search for Case Orders/Judgement by Judge Wise | 🚫No | |
Search for Case Orders/Judgement by Party Name | 🔜Planned | Petitioner/Respondent Name, Year |
Search for Case Orders/Judgement by Order Date | ✅Yes | Date |
Get Cause List | ✅Yes | Date |
† - Optional
Case Types
Each of the individual courts use their own numbering system for various case-types. So the same type of case might have different ID depending on the court. This can even vary between various benches of the same High Court. For example, HCB (Habeas Corpus Petition) is numbered the following different ways across various courts (not exhaustive):
Court | ID |
---|---|
Madras High Court - Principal Bench | 22 |
Madras High Court - Madurai Bench | 164 |
High Court of Jammu and Kashmir - Jammu Wing | 17 |
High Court of Jammu and Kashmir - Srinagar Wing | 171 |
As such, before doing any kind of work that relies on case type (such as fetching case details, or orders by case type) - you must get the relevant case type idenfiers. You can run:
ecourts get-case-type --state-code SC [--court-code CC]
to
get the case type identifiers for a particular court. If the
state-code/court-code
identifiers are not provided, the case types will
be fetched for all known courts. A list of all known courts is available
at courts.csv published as part of the source code.
Types
The primary two classes that most users will deal with are Court, and ECourt. A court is one of the high court benches covered at https://hcservices.ecourts.gov.in/ecourtindiaHC/, and an ECourt is the primary class that deals with the website.
Other entities involved are more legal in nature:
- Case
- CaseType
- FIR
- Hearing
- Objection
- Order - An order or judgement in a case.
- Party - Either a petitioner or a responded to a case.
- Court
- ECourt APIs are also documented.
Documentation
- Canonical link for the project is https://captnemo.in/ecourts/.
- General guidance is available via
ecourts --help
orecourts cmd --help
. - Python documentation is available at captnemo.in/ecourts/src.
- Coverage reports are published at Coveralls.
Guiding Principles
- Make it easy to fetch case information.
- Store information in accessible formats, for easy retrieval and querying.
- Use standard identifiers, such as ISO-3166 for state codes.
- Be nice to the ecourts website. Retry failed requests, but do not hammer the site. In case of 5xx errors, wait for a while before retrying.
LICENSE
Licensed under GPL3-or-later
. If you run this code, you are responsible
for the legal implications of the same. The scraper is intentionally
single-threaded, and does not offer any parallelism. This is to avoid
overloading the ecourts website servers, which are already
quite slow. Please note sections 15-16 of the LICENSE, which are summarized here:
There is no warranty for the program, to the extent permitted by
applicable law. In no event unless required by applicable law or agreed to in
writing will any copyright holder, or any other party who modifies and/or
conveys the program as permitted above, be liable to you for damages,
including any general, special, incidental or consequential damages arising
out of the use or inability to use the program.
As part of GPL3 obligations:
You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to this code must also be made available under the GPL along with build & install instructions.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ecourts-0.0.4.tar.gz
.
File metadata
- Download URL: ecourts-0.0.4.tar.gz
- Upload date:
- Size: 195.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bae5bfb999def9f2ae4a5564ff477ad081be5ff4e88a60539f7a1e67a222d2ca |
|
MD5 | be03db0d85fe69596de98ffbbab0b3d3 |
|
BLAKE2b-256 | 790d6922fd9bbab180824083535b72cad5073483d42c6ee5534417232e0e5e9e |
File details
Details for the file ecourts-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: ecourts-0.0.4-py3-none-any.whl
- Upload date:
- Size: 35.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43bb16d0c3912f3a3b4280d2a1eab4ec5d31e7689fcc6449720168729846180d |
|
MD5 | eabf95f4eea5649749fbb50736edfbf2 |
|
BLAKE2b-256 | 669b5ae5df3c260e752c51d92d5c4e076d108b978ef6258c932ceb96da919688 |