eCourts Advocate Case Scraper avatar

eCourts Advocate Case Scraper

Pricing

from $4.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 $4.99 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

0

Monthly active users

9 days ago

Last modified

Share

What does eCourts Advocate Case Scraper do?

This Actor searches publicly available advocate case rows through the official eCourts Services browser form. It supports advocate name, bar registration code, and dated case-list searches, plus live discovery of states, districts, court complexes, and establishments.

Searches can target one concrete location or a complete location cascade. When location fields are omitted, the Actor expands every matching live state, district, complex, and establishment, searches them sequentially, and removes duplicate cases across locations before writing the dataset.

Why use this eCourts scraper?

  • Search the official public form instead of relying on a stale location-code list.
  • Resolve unsuffixed court-complex codes to their exact live values.
  • Treat full @N complexes as concrete locations and expand @Y complexes through every establishment when estCode is omitted.
  • Aggregate every intended location rather than stopping after the first complex with results.
  • Deduplicate primarily by CNR, with public view-history and displayed-case fallbacks.
  • Rotate failed attempts through fresh sequential browser sessions and configured proxy countries while keeping concurrency at one.
  • Schedule runs, monitor them, call the Actor through the Apify API, and export datasets through Apify integrations.

Dataset rows are deferred until the entire search cascade succeeds. A retryable failure halfway through a cascade therefore cannot leave partial or duplicate rows before the Actor starts a clean session.

What data can the Actor extract?

FieldTypeDescription
caseTypeNumberYearstringCase type, number, and year displayed by eCourts.
petitioner / respondentstringPublic party text from the result row.
advocatestringPublic advocate text.
cnrNumberstringPublic CNR when exposed by the row or view action.
searchStateCode / searchDistrictCodestringConcrete location that produced the row.
searchComplexCode / searchEstCodestringExact complex and optional establishment searched.
state_name, district_name, complex_name, est_namestringLive location-discovery fields.

How to scrape eCourts advocate cases

  1. Configure CAPTCHA_API_KEY as an Apify Actor environment secret. The key is not accepted in Actor JSON input and is never written to logs, datasets, or OUTPUT.
  2. Optionally run get_states, get_districts, get_complexes, and get_establishments to inspect current public codes.
  3. Choose search and select name, barcode, or caselist.
  4. Supply the corresponding advocate fields. Location fields are optional in search mode; narrower filters reduce runtime and solver usage.
  5. Run the Actor. Case rows appear only after the complete intended cascade succeeds.
  6. Inspect the dataset for rows and the OUTPUT key-value-store record for cascade, CAPTCHA, proxy-session, and upstream diagnostics.

A verified location example is Delhi (stateCode: "26"), South East (districtCode: "11"), Saket Court Complex (complexCode: "1260012@1,2,3,4@Y"). Because Saket is an @Y complex, omit estCode to search all live Saket establishments or supply one establishment for a concrete search.

How much does it cost to scrape eCourts?

The run consumes Apify browser compute and any configured proxy traffic. Search mode also calls the configured external CAPTCHA solver once or more per concrete location; that service may charge separately. Broad cascades cost more because they intentionally search every matching location. Use state, district, complex, and establishment filters when a narrower search is sufficient.

Input

See the input tab for all configuration options. A concrete advocate-name search looks like:

{
"mode": "search",
"searchType": "name",
"advocateName": "Kumar",
"stateCode": "26",
"districtCode": "11",
"complexCode": "1260012@1,2,3,4@Y",
"estCode": "1",
"caseStatus": "Both",
"maxCaptchaRetries": 3,
"maxSessionAttempts": 30,
"cascadeReserveAttempts": 60,
"cascadeRetryCycles": 5,
"cascadeRetryDelayMs": 30000,
"proxyCountryFallbacks": ["GB", "US", "IN"]
}

maxCaptchaRetries is bounded from 1 to 5 per concrete location. maxSessionAttempts is the 1-to-30 base budget in each cycle; cascadeReserveAttempts adds up to 120 fresh sessions per cycle. Search mode permits up to five cascadeRetryCycles with a bounded cascadeRetryDelayMs cooldown. Completed locations and deduplicated cases remain in memory across every fresh session and cycle. Custom proxyUrls are used as configured; Apify country fallbacks apply only to Apify Proxy routes.

Solver configuration is environment-only: CAPTCHA_API_KEY is the required Apify secret, while optional CAPTCHA_API_URL, CAPTCHA_MODEL_ID, and CAPTCHA_API_TIMEOUT_MS environment variables override the endpoint, model, and timeout. No solver configuration or credential is accepted from run input.

Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. A case row includes its concrete search location:

{
"caseTypeNumberYear": "Civil Suit / 123 / 2025",
"petitioner": "Example Petitioner",
"respondent": "Example Respondent",
"cnrNumber": "DLSE010000000001",
"searchStateCode": "26",
"searchDistrictCode": "11",
"searchComplexCode": "1260012@1,2,3,4@Y",
"searchEstCode": "1"
}

OUTPUT reports success, found, dataAvailable, unique case totals, location totals, duplicates removed, CAPTCHA attempts, session attempts, and redacted diagnostics. A verified no-record response is a successful run with found: false, dataAvailable: true, and zero cases. An unreadable, rejected, or incomplete cascade is a failed Actor run with success: false and dataAvailable: false; it is never presented as a successful empty dataset.

Tips and advanced options

  • Provide the narrowest known location to reduce runtime and solver calls.
  • Omit estCode for an @Y or unsuffixed complex only when every establishment is intended.
  • Keep the default sequential behavior. Parallel protected-form submissions are intentionally not used.
  • Review sessionDiagnostics for the country and reason associated with each failed fresh session.

FAQ, disclaimer, and support

Why are there no case rows?

Check OUTPUT. success: true with found: false means eCourts explicitly returned no records. A failed run means the upstream response or full cascade was unavailable; no partial case rows are committed for a retryable failed attempt.

Where do I put the CAPTCHA solver key?

Set CAPTCHA_API_KEY as an Actor environment variable backed by an Apify secret. Do not put it in Actor input. The Actor does not contain a built-in credential.

Does proxy rotation run searches in parallel?

No. Only one browser context and page are active at a time. A retryable failure closes the current browser before the next sticky session/country route begins.

Our Actors are ethical and do not extract private user data such as email addresses, gender, or private location. They extract public court information, which can still contain personal data protected by the GDPR and other laws. Do not scrape personal data without a legitimate reason; consult legal counsel if unsure.

For programmatic use, open the API tab. For problems caused by public-site changes, use the Issues tab and include redacted OUTPUT diagnostics.