eCourts Advocate Case Scraper avatar

eCourts Advocate Case Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
eCourts Advocate Case Scraper

eCourts Advocate Case Scraper

Search court cases by advocate name or bar code on Indian eCourts services. Supports fetching states, districts, complexes, and establishments.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

2

Monthly active users

13 days ago

Last modified

Share

What does eCourts Advocate Case Scraper do?

This Actor looks up state, district, court-complex, and establishment codes shown in the eCourts Services public location selectors. Its advocate-search mode submits the official search form using the configured W3Crawler CAPTCHA API and returns verified case rows.

Use the location modes to discover current codes before selecting a narrower location in another tool or in the eCourts website. Values in the examples below are illustrative and should be replaced with codes from a recent location lookup.

Why use this Actor?

  • Collect public location names and their matching codes from eCourts selectors.
  • Move from a state lookup to district, court-complex, and establishment lookups.
  • State lookups read the public HTML directly; narrower lookups use the website's interactive selectors.
  • Use the dataset through the Apify Console or API, or schedule runs with the Apify platform.

How to run it

  1. Open the Actor in Apify Console and select Input.
  2. Choose a mode. Start with get_states; use a code from its results for a narrower lookup.
  3. Fill in the fields required for that mode, then click Start.
  4. Open Results to inspect the location rows. Open Output summary to check the run status and saved-record count.

Input options

The Actor accepts 14 fields. Only mode is required by the input schema. The other requirements below depend on the selected mode or search type. Text fields have no maximum length validation unless a format is listed.

FieldTypeRequired?DefaultWhat it does
modeSelectionYesget_states in the Input formChoose get_states, get_districts, get_complexes, get_establishments, or search. A mode must be supplied in direct JSON input.
searchTypeSelectionOptionalname in search modeSearch form type: name, barcode, or caselist. The selected form is submitted after CAPTCHA conversion.
advocateNameTextConditionalNoneRequired for search with searchType: "name". No length limit is enforced.
barStateTextConditionalNoneRequired for barcode and caselist searches. Enter the bar-council state code.
barCodeTextConditionalNoneRequired for barcode and caselist searches. Enter the bar registration code.
barYearTextConditionalNoneRequired for barcode and caselist searches. The Actor does not enforce a year range.
searchDateTextConditionalNoneRequired for caselist. Must match DD-MM-YYYY; the Actor checks the format, not whether the date exists.
stateCodeTextConditionalNoneRequired for get_districts, get_complexes, and get_establishments. Optional as a search location filter. Use a current state_code from get_states.
districtCodeTextConditionalNoneRequired for get_complexes and get_establishments. Optional as a search location filter. Use a current district_code from get_districts.
complexCodeTextConditionalNoneRequired for get_establishments. Optional as a search location filter. Use complex_code or complex_code_full from get_complexes.
estCodeTextOptionalNoneOptional search location filter. Use an est_code from get_establishments. Location lookup modes do not use it.
proxyConfigurationObjectOptionalDirect browser connectionApify Proxy or custom proxy for browser modes. get_states reads direct public HTTP.
maxCaptchaRetriesIntegerOptional3CAPTCHA attempts per location, from 1 to 5. Developer option.
caseStatusSelectionOptionalBoth in search modeAccepted values are Both, Pending, and Disposed. The selected filter is submitted to eCourts.

Mode requirements

ModeAdditional required fields
get_statesNone
get_districtsstateCode
get_complexesstateCode, districtCode
get_establishmentsstateCode, districtCode, complexCode
search with nameadvocateName
search with barcodebarState, barCode, barYear
search with caselistbarState, barCode, barYear, searchDate

Search location filters are optional. When a location filter is omitted, the search workflow may expand to more live locations. Search mode returns the case rows provided by eCourts and deduplicates overlapping results across locations. There is no result-limit, sorting, or deduplication input.

Input examples

Start with the state list:

{
"mode": "get_states"
}

Get districts for a state. Replace 26 with a current code from the state results:

{
"mode": "get_districts",
"stateCode": "26"
}

Get complexes for a district. Replace both codes with current values from earlier lookups:

{
"mode": "get_complexes",
"stateCode": "26",
"districtCode": "11"
}

Get establishments for a complex. complexCode may be the base or full code returned by get_complexes:

{
"mode": "get_establishments",
"stateCode": "26",
"districtCode": "11",
"complexCode": "1260012@1,2,3,4@Y"
}

Configure an advocate-name search:

{
"mode": "search",
"searchType": "name",
"advocateName": "Example Advocate",
"caseStatus": "Both"
}

Configure a bar-code search:

{
"mode": "search",
"searchType": "barcode",
"barState": "EX",
"barCode": "12345",
"barYear": "2020",
"caseStatus": "Pending"
}

Configure a case-list search:

{
"mode": "search",
"searchType": "caselist",
"barState": "EX",
"barCode": "12345",
"barYear": "2020",
"searchDate": "15-01-2025",
"caseStatus": "Disposed"
}

Search examples show accepted input formats. Select a narrow court location for a short run; omitting filters can expand the search across many courts.

Output

Location modes return one dataset row per public selector option. A run returns rows for the selected mode; the combined array below illustrates each row shape and is not a single-run result. Values are illustrative, not verified current eCourts results.

[
{
"state_code": "26",
"state_name": "Example State"
},
{
"state_code": "26",
"district_code": "11",
"district_name": "Example District"
},
{
"state_code": "26",
"district_code": "11",
"complex_code": "1260012",
"complex_code_full": "1260012@1,2,3,4@Y",
"complex_name": "Example Court Complex"
},
{
"state_code": "26",
"district_code": "11",
"complex_code": "1260012@1,2,3,4@Y",
"est_code": "1",
"est_name": "Example Court Establishment"
}
]
FieldTypeRequired?Meaning
state_codeStringOptional, mode-dependentCode of the state.
state_nameStringOptional, mode-dependentState name from the public selector.
district_codeStringOptional, mode-dependentCode of the district.
district_nameStringOptional, mode-dependentDistrict name from the public selector.
complex_codeStringOptional, mode-dependentCourt-complex code. In establishment rows it may contain the full code.
complex_code_fullStringOptional, mode-dependentFull court-complex selector value, including its suffix segments.
complex_nameStringOptional, mode-dependentCourt-complex name from the public selector.
est_codeStringOptional, mode-dependentEstablishment code.
est_nameStringOptional, mode-dependentEstablishment name from the public selector.

The dataset schema marks fields optional because each mode returns a different row shape. Within a mode, rows include the codes and names needed to identify that location type. Search mode emits case records, while location modes emit only location records. Case detail pages are not fetched. Optional values that are not available are left out.

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Run status and output summary

The Output summary link opens the OUTPUT_SUMMARY record in the run's default Key-value store. It always contains exactly these fields:

FieldTypeRequired?Meaning
statusStringYesSUCCEEDED when one or more valid case or location rows were saved; otherwise FAILED.
itemsStoredNonnegative integerYesNumber of valid case or location rows whose dataset writes completed.
isPartialBooleanYestrue when a failure stopped collection after at least one row was saved.

Example completed run:

{
"status": "SUCCEEDED",
"itemsStored": 4,
"isPartial": false
}

A run with saved rows followed by a collection or storage failure remains successful with isPartial: true. A run that saves no valid case or location rows, including an access-challenge or empty result, fails. Failure details appear in the run log.

Tips, access, and cost

  • Run get_states first, then use codes from the latest results for narrower lookups.
  • Search CAPTCHA images are converted through W3Crawler, with at most maxCaptchaRetries attempts per location. Login prompts, access denials, and unavailable sources still stop collection.
  • Search results are summary case rows. Detailed case histories, orders, and PDFs are not fetched.
  • State lookup uses HTTP requests; other modes use browser compute. Cost depends on run time and your Apify plan. Check the run's Usage details for actual charges; no Actor-specific price is stated here.
  • For help, include the run ID and selected mode in the Actor's Issues tab. Use the API tab for programmatic runs.

The Actor reads public location selectors and is not affiliated with eCourts. Follow the source's access rules and use public information responsibly. State lookup was checked against the public HTML in a local run. This does not verify narrower location modes or advocate case extraction. Case identities, parties and advocate text are saved when supplied by the accepted search response; dates, orders and detailed histories are not extracted.

W3Crawler CAPTCHA configuration

Search uses https://api.w3crawler.com/api/captcha/solve with model bc3f0628-29ba-4555-9c27-ff26b4fdc179 (ECourts India Captcha). The dedicated key owned by admin@w3crawler.com is provided through the encrypted CAPTCHA_API_KEY Actor environment variable. It is not an input field and is never stored in source, logs, or dataset output. PNG, JPEG and WebP uploads retain their actual image format.

The key has no expiry or lifetime usage quota; the account has unlimited wallet credits. General CAPTCHA service request throttling still applies. Credentials or billing failures stop the search; explicit invalid predictions can obtain a fresh image within the configured attempt limit. Keep the key private and do not include it in scheduled-task input.

Advocate case output

Search rows contain the source fields that are available: srNo, caseTypeNumberYear, petitioner, respondent, advocate, caseType, caseNumber, caseYear, cnrNumber, and alternate-layout parties. viewHistoryParams contains case/court identifiers (caseNo, cino, selCourtCode, stateCode, distCode, complexCode). _location contains state, district, complex and establishment codes and names. Missing optional values are omitted. These identifiers do not mean that case history was retrieved.

Dataset charge limit

Apify may stop storing new dataset rows when the run's maximum total charge is reached. The Actor counts only stored rows, stops further dataset writes, and reports isPartial: true when that happens. A source result count is not a saved-record count. Check OUTPUT_SUMMARY and the dataset for the final stored count.