Court Cases Search API
INSTANT / REALTIME COURT LITIGATION SEARCH AGAINST INDIVIDUALS AND BUSINESSES REGISTERED IN INDIAN COURTS.
Description
Gain access to digitally published court records from the Hon’ble Supreme Court, High Courts, Sessions and Magistrate Courts, District Civil Courts, and Tribunals across India. Conduct instant searches across these records and discover litigation against individuals and businesses with ease.
Request URL For Individual Cases Search
Type | URL | Min Version | Max Version |
---|---|---|---|
POST | https://api.attestr.com/api/{version}/public/riskx/person/ecourt | v2 |
Request URL For Business Cases Search
Type | URL | Min Version | Max Version |
---|---|---|---|
POST | https://api.attestr.com/api/{version}/public/riskx/business/ecourt | v2 |
Request Body Parameters
For Individual Cases Search
Type | Name | Description | Optional (default) | Min Version | Max Version |
---|---|---|---|---|---|
String | tag | Unique reference Id for this request to be provided by customer. Max 50 characters. | Required | v2 | |
String | name | Name of the candidate to be searched. Max 256 characters. | Required | v2 | |
String | fatherName | Candidate's father's name. Max 256 characters. | Required | v2 | |
String | birthDate | Candidate's date of birth in DD-MM-YYYY format | Required | v2 | |
String | address | Complete residential address with district, state, zip code, landmark etc. District, zip code etc are necessary for generating higher match score. Max 4192 characters. | Required | v2 | |
String | mode | Always pass value as "Realtime" | Required | v2 | |
Number | threshold | Specify a minimum threshold value between 10 to 100. Matching cases are assigned a score between 1 to 100 as decided by the ML model. Cases with a score less than the specified threshold value are excluded in the final response. | Required | v2 | |
Number | skip | Used for pagination. Number of records to be skipped while querying the search results. This field is used in combination with the limit field (see definition below). Eg. If the limit is specified as 100 and third page is desired, skip should be passed as 200. This is an optional field, default value is 0. | Optional | v2 | |
Number | limit | Used for pagination. No of records to be included in a single page. Used in combination with the skip field. Each combination of skip and limit is considered as one search request. | Optional | v2 | |
String | subject | Allowed values are - Petitioner - Matching cases where provided name and address matches the petitioner party/parties only Respondent - Matching cases where provided name and address matches the respondent party/parties only Both - Both petitioner and respondents are matched and returned in the final response. Default is Both. | Optional | v2 |
For Business Cases Search
Type | Name | Description | Optional (default) | Min Version | Max Version |
---|---|---|---|---|---|
String | tag | Unique reference Id for this request to be provided by customer. Max 50 characters. | Required | v2 | |
String | businessName | Registered legal entity name | Required | v2 | |
String | address | Complete registered address of the company including district, state and zip code. Max 4192 characters. | Required | v2 | |
String | reg | Company registration number such as CIN, LLPIN etc. | Optional | v2 | |
String | mode | Always pass value as "Realtime" | Required | v2 | |
Number | threshold | Specify a minimum threshold value between 10 to 100. Matching cases are assigned a score between 1 to 100 as decided by the ML model. Cases with a score less than the specified threshold value are excluded in the final response. | Required | v2 | |
Number | skip | Used for pagination. Number of records to be skipped while querying the search results. This field is used in combination with the limit field (see definition below). Eg. If the limit is specified as 100 and third page is desired, skip should be passed as 200. This is an optional field, default value is 0. | Optional | v2 | |
Number | limit | Used for pagination. No of records to be included in a single page. Used in combination with the skip field. Each combination of skip and limit is considered as one search request. | Optional | v2 | |
String | subject | Allowed values are - Petitioner - Matching cases where provided name and address matches the petitioner party/parties only Respondent - Matching cases where provided name and address matches the respondent party/parties only Both - Both petitioner and respondents are matched and returned in the final response. Default is Both. | Optional | v2 |
Request Header Parameters
Type | Name | Value / Description | Optional | Min Version | Max Version |
---|---|---|---|---|---|
String | Content-Type | application/json | Required | v2 | |
String | Authorization | Basic {authToken} | Required | v2 |
If you do not have the authentication token, please refer to Register App to generate one.
Sample Request
{
"tag": "123456"
"name": "Gitanjali Raheja",
"fatherName": "Shyam Kishore Raheja",
"birthDate": "26-12-1985",
"address": "8-2-293/K/57/101 Kamlapuri Colony Phase 3, Hyderabad, Telangana 500073",
"mode": "Realtime",
"threshold": 90,
"webhook": false
}
Response
Http Status 200
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
_id | Unique request Id assigned to each search | String | v2 | |
number | Unique human readable request number to be used for any reference later | String | v2 | |
valid | Indicates if the search was successful. | Boolean | v2 | |
message | Message if no matching records are found, else null. | String | v2 | |
recordsTotal | Total number of matching records found. | Number | v2 | |
recordsFiltered | Number of records returned in the response based on the threshold specified. | Number | v2 | |
records | Array of Case Records (See definition below) for the matching cases found | Array<CaseRecord> | v2 |
CaseRecord Object
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
matchedPartyType | Petitioner or Respondent | String | v2 | |
matchedPartyIndex | Index position of the petitioner/respondent list that matched the provided input (e.g., name, address). Useful when multiple parties exist in the case. | Number | v2 | |
nameMatchType | Values such as ExactMatch, PartialMatch or null if there is no match. | String | v2 | |
fatherNameMatchType | Values such as ExactMatch, PartialMatch or null if there is no match. | String | v2 | |
addressMatchType | Indicates whether DistrictName matches, state name matches, Exact or partial match etc. | String | v2 | |
confidence | Score assigned by the ML logic. Value between 1 to 100. | Number | v2 | |
riskSummary | This field is not populated for Case Search product. AI generated risk summary of the case. | String | v2 | |
caseSummary | This field is not populated for Case Search product. AI generated case summary of the case. | String | v2 | |
caseType | Case type | String | v2 | |
caseTypeName | Case type description eg CC - CALENDAR CASE etc. | String | v2 | |
filingNumber | File number assigned to the case eg 362/2018 | String | v2 | |
filingDate | Case filing date | String | v2 | |
filingYear | Filing year if available | String | v2 | |
registrationNumber | Case registration number eg 362/2018 | String | v2 | |
registrationDate | Date of registration of the case | String | v2 | |
cnrNumber | Unique case identification number | String | v2 | |
state | Court state where case is registered | String | v2 | |
district | Court district where case is registered | String | v2 | |
courtName | Name of the court eg Junior Civil Judge Court | String | v2 | |
courtNumberAndJudge | Court number and judge info if available. Eg. 2-Additional Junior Civil Judge | String | v2 | |
firstHearingDate | Date of first hearing of the case | String | v2 | |
nextHearingDate | Next hearing date if case is in pending state. For disposed cases this could be empty. | String | v2 | |
caseStage | Current stage of the case. Eg. BAIL HEARING etc. | String | v2 | |
decisionDate | Date of decision if the case stands disposed. | String | v2 | |
natureOfDisposal | Type of disposal, contested, uncontested etc if the case is disposed. | String | v2 | |
caseStatus | Case status - Pending, Disposed etc. | String | v2 | |
coram | Generally applies to Hon'able High courts, indicates the number of judges on the bench Eg, 1760 HONOURABLE MR. JUSTICE KALYAN RAI SURANA | String | v2 | |
judicial | Judicial section information generally available for higher courts only e.g Criminal Section | String | v2 | |
causeListName | Name of the cause list if available | String | v2 | |
bench | Applicable for higher courts. Name of the bench that heard the case. eg Single Bench | String | v2 | |
shortOrder | Short order if put up for hearing on another date | String | v2 | |
petitioners | List of petitioners as mentioned in the case. Each petitioner has the following fields. petitionerName - Name of the petitioner petitionerAge - Age or date of birth of the petitioner. petitionerFather - Petitioner father's name. petitionerAddress - Address of the petitioner if available. | Array | v2 | |
petitionersText | All the petitioners's information combined in one long text format. | String | v2 | |
respondents | List of respondents as mentioned in the case. Each respondent in the list has the following fields. respondentName - Name of the respondent respondentAge - Age or date of birth of the respondent. Premium feature available on request. respondentFather - Respondent father's name. Premium feature available on request. respondentAddress - Address of the respondent if available. Premium feature available on request. respondentCounsel - Counsel or the advocate name for the respondent | Array | v2 | |
respondentsText | All the respondent's information combined in one long text format | String | v2 | |
acts | List of Acts and corresponding sections as applicable to this case. Each entry in the list has the following structure. act - Name of the act as applied to the case sections - Applied sections from the corresponding act. | Array | v2 | |
interlocutoryApplicationDetails | For case search product, this is returned as null. This field data is only populated for Case Report product. List of any interlocutory petitions/applications (IA) filed. An IA is generally filed in existing legal proceedings to request interim relief. Each item in the list has the following structure. number IA file number party Party name and counsel that filed IA filingDate Date of filing of the IA application nextDate Next date as applicable status Status of the application - approved, rejected, in hearing etc. Null if the details are not available | Array | v2 | |
caseHistory | For case search product, this is returned as an empty array. This field data is only populated for Case Report product. History of case hearings. This is a list, each item in the list has the following structure. reg - Registration number if available causeListType - Cause list name generally applicable for higher courts only judge - Judge / bench that heard the case. purpose - Purpose of hearing nextHearingDate - Date of next hearing as assigned businessDate - Date of hearing businessDescription - A brief description of what happened during this hearing adjournmentReason - Reason if the hearing was adjourned. | Array | v2 | |
orders | List of order and judgement documents if available. Each order in the list has the following structure - number - Order number orderDate - Date on which the order was issued judge - Judge / bench that issued the order attachment - Link to order document Pdf attachment orderSummary - Summary of the order with a detailed explanation. Summary is not populated for CaseSearch product. | Array | v2 | |
objections | This field is not populated for Case Search Product. Returned as null. List of any objections raised by either of the parties during the trial. Each objection has the following structure. number - Objection number objection - Objection title / description scrutinyDate - Date of scrutiny as assigned for the object complianceDate - Compliance date if any receiptDate - Date of receipt of the scrutiny | Array | v2 | |
category | Category of the case generally applies to the higher courts. Eg. 10266 - Bail Application Under section 439 Cr. P. C ( 308 ) | String | v2 | |
subCategory | Sub category if applicable | String | v2 | |
subSubCategory | Further division under the sub category if applicable | String | v2 | |
fir | Details of FIR if any mapped to this case. The FIR object has the following structure. state - State where the police station is located district - District where the police station is located policeStation - Name of the police station number - FIR number year - Date or year in which FIR is filed | Object | v2 | |
lowerCourt | This field is not populated for Case Search Product. Returned as null. Lower court information if applicable. It has the following structure - courtNumberAndName - Name of the lower court caseNumberAndYear - Case number as year as registered in the lower court state - State where lower court is located district - District where lower court is located | Object | v2 | |
documents | This field is not populated for Case Search Product. Returned as null. List of documents as filed by the counsels in the case. Each document object has the following structure. docNumber - Document number as assigned at the time of filing docName - Name of the document filed advocate - Counsel name who filed the document receivingDate - Date of receiving as registered in the court records filedBy - Party name | Array | v2 | |
transfers | This field is not populated for Case Search Product. Returned as null. List of transfers to other courts if any. Each transfer object has the following structure. reg - Registration no transferred - Date of transfer from - Source court name to - Destination court name | Array | v2 |
Sample Output
{
"_id": "AR01IU2vCHFkOo7TFH",
"number": "3944-185977-5603",
"message": null,
"valid": true,
"recordsTotal": 10000,
"recordsFiltered": 7,
"records": [ ]
}
Error Response
Parameter | Type | Description |
---|---|---|
code | Number | Unique error codes for different errors. Always available. |
message | String | Error message describing the error. Always Available. |
details | String | Detail error message. Available only for certain types of errors. |
HTTP Status | Error Code | Error Message |
---|---|---|
400 | 4001 | Malformed data or missing required parameter values |
400 | 4005 | Operation could not be performed due to low credits balance |
401 | 4016 | Invalid client authorization |
403 | 4031 | Unauthorized access |
403 | 4035 | Requested service is not provisioned for your account |
403 | 4039 | Client's IP address is not whitelisted |
403 | 4035 | Requested service is not provisioned for your account |
429 | 4291 | Maximum account rate limit exceeded |
429 | 4292 | Maximum API rate limit exceeded |
429 | 4293 | Maximum account daily limit exceeded |
429 | 4294 | Maximum API daily limit exceeded |
500 | 5001 | Request could not be processed |