
Title
Create new category
Edit page index title
Edit category
Edit link
Unified Court Cases Details API
SINGLE UNIFIED API TO FETCH CASE DETAILS AND UPDATES FROM ALL COURTS AND TRIBUNALS IN INDIA
Introduction
The Unified Courts Case Details API enables you to fetch case updates and details from All Indian courts including District courts, High courts, Supreme Court, National Company Law Tribunal (NCLT), National Company Law Appellate Tribunal (NCLAT), GST Tribunal, Debt Recovery Tribunal (DRT), Debt Recovery Appellate Tribunals, Consumer Courts (eJagriti) and more.
Our API provides a seamless and automated way to retrieve real-time case information, including:
- Case registration number, filing number, filing date and case type
- Parties and counsel involved - Petitioner and respondent details
- Case stage, case history and hearing dates
- Court name, judge, and bench details
- Status of the case
- List of orders and judgements passed
- Other details like FIR Information, IA details, Objections, lower court, Transfers, Documents etc.
This product is ideal for legal tech platforms, compliance and KYC systems, banks, NBFCs, insurers, law firms, and data aggregators who need to track litigation history or verify ongoing cases at scale. With this API, businesses can eliminate manual searches, save time, and ensure accurate, up-to-date legal insight - all in a matter of seconds.
API Details
Request
| Type | URL | Current Version |
|---|---|---|
| POST | https://api.attestr.com/api/{version}/public/ecourtx/case-details/basic | 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.
Request Body Parameters
| Type | Name | Description | Optional (default) | Min Version | Max Version |
|---|---|---|---|---|---|
| String | courtType | Supported court types are - DC - District Courts HC - High Courts SC - Supreme Court CC - eJagriti Consumer Court NCLT - National Company Law Tribunal NCLAT - National Company Law Appellate Tribunal GSTAT - GST Appellate Tribunal DRT - Debt Recovery Tribunal DRAT - Debt Recovery Appellate Tribunal | Required | v2 | |
| String | cnr | 16 digit alphanumeric CNR | Optional | v2 | |
| String | establishmentCode | Bench code. Values vary depending on courtType provided. For allowed values, refer to Unified Case Types And Court Establishments API | Optional | v2 | |
| String | caseType | Case type code. Value vary depending on courtType provided. For allowed values, refer to Unified Case Types And Court Establishments API | Optional | v2 | |
| String | registrationNumber | Case registration number. Accepted format is caseNumber/caseYear. Eg 121/2024 | Optional | v2 | |
| String | diaryNumber | Diary number as applicable for few court types. Accepted format is diaryNumber/diaryYear. Eg 10/2026 | Optional | v2 | |
| String | filingNumber | Use this field to search by filing number. Applicable depending on the courtType selected. Eg. 1023400763 | Optional | v2 |
Sample Request Payload
---- For District Courts - Search Case By CNR{ "courtType": "DC", "cnr": "RJJS010001272025"}-- For High Court - Search Case By CNR{ "courtType": "HC", "cnr": "SKHC010001342025"}-- For High Court - Search Case By Case Number{ "courtType": "HC", "establishmentCode": "TRHC01", // High Court of Tripura "caseType": "Arb.A.", // Arb.A. - Appeals under Indian Arbitration Act. "registrationNumber": "1/2025"}-- For Supreme Court - Search By CNR{ "courtType": "SC", "cnr": "SCIN010089602025"}-- For Supreme Court - Search By Case Number{ "courtType": "SC", "caseType": "Crl.A.", // Criminal Appeal "registrationNumber": "1/2025"}-- For Supreme Court - Search By Diary Number{ "courtType": "SC", "diaryNumber": "14/2025"}-- For Consumer Court - eJagriti - Search By Registration Number{ "courtType": "CC", "registrationNumber": "<registrationNumber>" // See below for registrationNumberFormat}For National Commision - NC/CaseType/CaseNumber/Year Eg. NC/EA/1/2024For State Commission - SC/StateLGDCode/CaseType/CaseNumber/Year Eg. SC/28/EA/1/2024For District Commission - DC/DistrictLGDCode/CaseType/CaseNumber/Year Eg DC/632/CC/1/2024-- For National Company Law Tribunal - Search By Filing Number{ "courtType": "NCLT", "establishmentCode": "ND", // New Delhi Bench "filingNumber": "23469028908"}-- For National Company Law Tribunal - Search By Case Number{ "courtType": "NCLT", "establishmentCode": "ND", // New Delhi Bench "caseType": "CP", // Company Petition(Company Act) "registrationNumber": "1/2024"}-- For National Company Law Appellate Tribunal - Search By Filing Number{ "courtType": "NCLAT", "establishmentCode": "CH", // Chennai Bench "filingNumber": "23469028908"}-- For National Company Law Appellate Tribunal - Search By Case Number{ "courtType": "NCLAT", "establishmentCode": "CH", // Chennai Bench "caseType": "Company Appeal(AT)", // Company Appeal(AT) "registrationNumber": "1/2024"}-- For GST Appellate Tribunal - Search By Filing Number{ "courtType": "GSTAT", "establishmentCode": "PB", // Delhi (PB) Bench "filingNumber": "23469028908"}-- For GST Appellate Tribunal - Search By Case Number{ "courtType": "GSTAT", "establishmentCode": "PB", // Delhi (PB) Bench "caseType": "Rect.M", //Rectification of Mistake "registrationNumber": "1/2024"}-- For Debt Recovery Tribunal - Search By Diary Number{ "courtType": "DRT", "establishmentCode": "DA1", // DEBTS RECOVERY TRIBUNAL AHMEDABAD(DRT 1) "diaryNumber": "1/2024"}-- For Debt Recovery Tribunal - Search By Case Number{ "courtType": "DRT", "establishmentCode": "DA1", // DEBTS RECOVERY TRIBUNAL AHMEDABAD(DRT 1) "caseType": "APPEAL", //APPEAL "registrationNumber": "1/2024"}-- For Debt Recovery Appellate Tribunal - Search By Diary Number{ "courtType": "DRAT", "establishmentCode": "DCE", // DEBT RECOVERY APPELLATE TRIBUNAL - CHENNAI "diaryNumber": "1/2024"}-- For Debt Recovery Appellate Tribunal - Search By Case Number{ "courtType": "DRAT", "establishmentCode": "DCE", // DEBT RECOVERY APPELLATE TRIBUNAL - CHENNAI "caseType": "REGULAR APPEAL", //REGULAR APPEAL "registrationNumber": "1/2024"}Response
HTTP status code 200
CaseRecord Object
| Key | Description | Type | Min Version | Max Version |
|---|---|---|---|---|
| caseType | Case type as registered | 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 | |
| courtEstablishment | Court complex / establishment name where the case is being contested | 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 | |
| previousHearingDate | Date of last hearing | 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 petitionerCounsel- Name of the advocate / counsel 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 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 | 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. caseNumber - case number if available particulars - particulars of the case if available Null if the details are not available | Array | v2 | |
| caseHistory | 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 judgements 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 - In basic mode, as it is a real-time API, order documents are not provided and set as null. Refer to Courts Download Order And Judgement Document API for order documents pdf links. details - Order details if available orderType - orderType such as interim, final if available | Array | v2 | |
| objections | 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 | |
| earlierCourts | 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 | 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 | |
| linkedCases | Case linked to the provided case. Each linked case object has the following structure. filingNumber - Linked case filing number caseNumber - Linked case number status - Linked case status caseTitle - Title of the case if available petitioner - Petitioner party name if available respondent - Respondent party name if available statusDescription - description of the status if available | Array | v2 | |
| transfers | 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 Response
Sample response for valid CNR number
{ "caseType": "BA - BAIL APPLICATION", "filingNumber": "761/2017", "filingDate": "16-05-2017", "filingYear": "2017", "registrationNumber": "126/2017", "registrationDate": "16-05-2017", "cnrNumber": "PBBTA10007652017", "state": "Punjab", "district": "Bathinda", "courtName": "Criminal Courts, Talwandi Sabo", "courtNumberAndJudge": "1-Sub Divisional Judicial Magistrate", "courtEstablishment": "Chief Judicial Magistrate, Taluka Court, Talwandi Sabo", "firstHearingDate": "16-May-2017", "nextHearingDate": null, "caseStage": null, "decisionDate": "20-May-2017", "natureOfDisposal": "Contested - ALLOWED", "caseStatus": "Case Disposed", "coram": null, "judicial": null, "causeListName": null, "bench": null, "shortOrder": null, "petitioners": [ { "petitionerName": "STATE OF PUNJAB", "petitionerCounsel": "Advocate - APP" } ], "petitionersText": "1) STATE OF PUNJAB\n Advocate - APP", "respondents": [ { "respondentName": "AMRITPAL SINGH @ AMRIT", "respondentCounsel": "Advocate - Parveen Kumar Ranga" } ], "respondentsText": "1) AMRITPAL SINGH @ AMRIT\n Advocate - Parveen Kumar Ranga", "acts": [ { "act": "Code of Criminal Procedure, 1973", "sections": "61, 1, 14EXCISEACT" } ], "interlocutoryApplicationDetails": null, "caseHistory": [ { "reg": "126/2017", "causeListType": null, "judge": "Sub Divisional Judicial Magistrate", "purpose": "Consideration", "nextHearingDate": "20-05-2017", "businessDate": "16-05-2017" }, { "reg": "126/2017", "causeListType": null, "judge": "Sub Divisional Judicial Magistrate", "purpose": "Disposed", "nextHearingDate": null, "businessDate": "20-05-2017" } ], "orders": [ { "number": "1", "orderDate": "16-05-2017", "judge": null, "attachment": null }, { "number": "2", "orderDate": "20-05-2017", "judge": null, "attachment": null } ], "objections": null, "category": null, "subCategory": null, "subSubCategory": null, "fir": { "state": null, "district": null, "policeStation": "Talwandi Sabo", "number": "94", "year": "2017" }, "earlierCourts": null, "documents": null, "linkedCases": null, "transfers": []}Sample response for invalid CNR number / data does not exist
{ "valid": false, "message": "Data not found"}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. |
Error Codes
| 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 |
Sample Error Response
{ "code": 4001, "message": "Malformed data or missing required parameter values"}Copyright © Attestr