eCourts Case Scraper avatar

eCourts Case Scraper

Under maintenance

Pricing

from $4.99 / 1,000 results

Go to Apify Store
eCourts Case Scraper

eCourts Case Scraper

Under maintenance

A robust, high-performance utility designed for developer automation, data integration, and AI training. Features built-in captcha bypass, headful/headless browser execution, and proxy support to scrape eCourts data seamlessly, reliably, and at scale.

Pricing

from $4.99 / 1,000 results

Rating

5.0

(2)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

3

Bookmarked

58

Total users

3

Monthly active users

7 days ago

Last modified

Share

What does eCourts CNR Case Scraper do?

eCourts CNR Case Scraper looks up public Indian court-case records on the official eCourts Services website by 16-character CNR. It is an eCourts API alternative that follows the official browser form, solves the form CAPTCHA through a separately configured service, and returns structured case details or an explicit failure record.

The Actor never reports an unavailable or unparseable upstream response as a successful empty result. If no unique CNR produces case data, the OUTPUT summary is written and the Actor run fails.

Why use eCourts CNR Case Scraper?

  • Extract case details, current status, parties, advocates, acts, FIR data, hearing history, and orders.
  • Recover from transient HTTP 405, 429, 5xx, proxy-tunnel, navigation, response-timeout, invalid-session, and rejected-CAPTCHA failures.
  • Use one browser at a time, with a fresh browser context and sticky proxy session for every retry.
  • Rotate residential proxy countries sequentially. The default order is GB, US, then IN.
  • Deduplicate repeated CNR values before scraping so a retry can never replay an earlier dataset row.
  • Schedule runs, export datasets, monitor execution, and call the Actor through the Apify API.

What data can eCourts CNR Case Scraper extract?

FieldTypeDescription
cnr / case_nostringNormalized CNR. case_no is retained for compatibility.
success, found, dataAvailablebooleanTruthful result and availability flags.
courtNamestringCourt heading on the returned case page.
basicDetails, caseStatusobjectParsed case-registration and status fields.
petitionerAdvocate, respondentAdvocatearrayDeduplicated public party and advocate entries.
acts, firDetails, caseHistoryarray/objectPublic acts, FIR details, and hearing history.
interimOrders, finalOrdersarrayDeduplicated order metadata.
sessionAttempts, sessionDiagnosticsnumber/arraySanitized retry evidence for this CNR.
boundary, error, diagnosticsstring/objectExplicit no-record, access, upstream, CAPTCHA, input, or processing failure.

How to scrape eCourts cases by CNR

  1. Configure CAPTCHA_API_KEY as an Apify Actor secret or protected environment variable. Do not put the key in Actor input.
  2. Open the Input tab and add one or more CNR values in the form AAAA000000000000.
  3. Keep residential Apify Proxy enabled unless you have an appropriate custom proxy.
  4. Run the Actor and inspect the dataset. There is exactly one final row per unique normalized CNR.
  5. Open the OUTPUT key-value-store record for requested, unique, duplicate, success, failure, and session-attempt totals.

How much does it cost to scrape eCourts?

Cost consists of Apify browser compute, proxy traffic, and usage charged by the separately configured CAPTCHA solver. A successful first session is inexpensive; a difficult route can use up to maxSessionAttempts fresh sessions. Lower that limit when latency or budget is more important than recovery depth.

Input

See the Input tab for the complete schema.

  • caseNos is required. Every item must contain four letters followed by twelve digits.
  • maxCaptchaRetries defaults to 3 and is capped at 5 per browser session.
  • maxSessionAttempts defaults to 30 and is capped at 30 per unique CNR.
  • proxyCountryFallbacks defaults to GB, US, IN and cycles in that order.
  • proxyConfiguration supports Apify Proxy and custom proxy URLs. Country injection is not applied to custom proxy URLs.

The solver also supports protected environment variables CAPTCHA_API_URL, CAPTCHA_MODEL_ID, and CAPTCHA_API_TIMEOUT_MS. CAPTCHA_API_KEY is mandatory and has no hardcoded fallback. Keys and CAPTCHA predictions are not written to logs or outputs.

Output

You can download the dataset in JSON, HTML, CSV, or Excel. Duplicate requests do not create duplicate rows; they are counted by duplicateRequests in OUTPUT.

Successful row:

{
"cnr": "KARC010037582023",
"case_no": "KARC010037582023",
"success": true,
"found": true,
"dataAvailable": true,
"boundary": null,
"courtName": "District and Sessions Court",
"basicDetails": { "cnrNumber": "KARC010037582023" },
"caseStatus": { "caseStatus": "Pending" },
"sessionAttempts": 2,
"proxyCountry": "US"
}

Failure row:

{
"cnr": "KARC010037582023",
"success": false,
"found": false,
"dataAvailable": false,
"boundary": "upstream",
"error": "eCourts CNR search is temporarily unavailable (HTTP 405)",
"sessionAttempts": 30
}

Tips and advanced options

  • Keep CNR batches modest: the retry budget applies independently to each unique CNR.
  • Treat no_record as an authoritative unsuccessful lookup, not an empty successful dataset.
  • Inspect sessionDiagnostics to distinguish gateway, timeout, tunnel, CAPTCHA, solver, and terminal access failures.
  • Use only one Actor run per proxy allocation when the upstream is unstable.

FAQ, disclaimers, and support

Why is my run marked failed even though it has output?

The Actor always writes final dataset rows and OUTPUT first. When every unique CNR fails, it then marks the run failed so monitoring and integrations do not mistake an empty/unavailable upstream result for success.

Does the Actor expose my CAPTCHA solver key?

No. The key is read only from a secret or protected environment variable. Logs and diagnostics redact application tokens and API-key patterns, and predictions are not logged.

Our Actors are ethical and do not extract private user data such as email addresses, gender, or location. They extract only information exposed by the requested public eCourts workflow. Results can still contain personal data protected by the GDPR and other laws. Do not scrape personal data without a legitimate reason; consult your lawyers if unsure.

Use the API tab for programmatic access. For support, open the Issues tab and include sanitized diagnostics, never credentials or CAPTCHA values.