Why does one High Court appear under several court values?
Because the source portals spell it several ways and we index what they published rather than rewriting it. Rajasthan alone arrives as High Court of Rajasthan, High Court Of Rajasthan and Rajasthan High Court. Across the 25 institutions there are 47 distinct court strings. The court filter matches verbatim, so pass an array holding every variant for the institution you want. Filtering on a single pretty spelling is the most common way to lose rows without noticing.
Can I filter down to a specific bench such as Nagpur or Madurai?
On the keyword route, no. POST /search/cases accepts query, court, year, caseType, caseNumber, judgeName, fromDate, toDate, page, limit, sortBy and searchAfter, and bench sits one level below court in the index. Put the bench name in the query text there. On POST /search/cases/semantic the nested filters object does reach that level, so filters.courtName with a value such as Bench at Nagpur or Madurai Bench of Madras High Court will scope a vector search to a seat.
How do I search writ jurisdiction matters across every High Court at once?
Send caseType as the word Writ. The service expands a primary type into the underlying court specific codes, and Writ currently resolves to 73 distinct codes across the catalogue, from CWP in Punjab and Haryana to WP in Bombay and WP(C) in Kerala and Sikkim. Leave court unset and the expansion runs across every High Court together. The same trick works for Appeal, which expands to 182 codes and sweeps up Letters Patent Appeals alongside first appeals and second appeals.
Is there a parameter for Article 226 versus Article 227?
No. Supervisory jurisdiction under Article 227 and writ jurisdiction under Article 226 are frequently invoked in the same petition, and the case type codes do not separate them. Search the article numbers as phrases in the query string. For documents that carry analysis, the analysis object exposes constitutionalProvisions, which is where the distinction is usually recorded once a judgment has been read.
What happens to judgments delivered in a regional language?
They are stored and retrievable, but the two search routes treat them very differently. Keyword search matches the characters actually in the document, so a Marathi or Hindi judgment answers to a query in that language. Semantic search runs over embeddings built from analysed English text, so an English proposition will not surface a vernacular judgment that has never been analysed. If your practice depends on vernacular material, lead with keyword search and treat semantic results as a supplement.
Does the related endpoint find similar judgments in other High Courts?
It does not, and it is worth being blunt about that. GET /cases/:id/related groups documents that share the same case number, up to 50 of them, and returns a timeline of that one matter. It is lineage, not similarity. For persuasive authority from a different High Court, use POST /search/cases/semantic with filters.court set to the courts you want to hear from.
How does consolidated analysis behave for a High Court matter?
Differently from the Supreme Court, deliberately. For a High Court case, POST /cases/:id/analyze-consolidated reads the case document together with the five most recent orders recorded against it and analyses that bundle. For a Supreme Court matter the same route instead gathers up to 20 documents sharing the case number. The route is synchronous, it consumes AI credits, and passing force true re-runs an analysis that already exists.
Are High Court judge names in the same index as Supreme Court judges?
Yes, and they are merged. GET /judges/search reads 3,590 High Court names alongside 1,069 Supreme Court names, deduplicates to 4,561 unique entries, matches your term as a case insensitive substring and returns at most 50. Elevation means many judges appear on both lists under one entry. Resolve the name there before you pass judgeName to a search, because the filter expects the spelling the index holds.
Which citation formats can I look up?
None as a structured field. High Court reporting conventions vary by region and the API returns no citations array, so a reporter citation is only findable as text inside a judgment. Search it as a quoted phrase in query, then confirm against the stored document through GET /cases/:id/pdf, which returns an encrypted link that expires after 3,600 seconds.
What limits should I design around?
An API key is capped at 10 requests per minute, responses carry X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and exceeding the cap returns 429 with retryAfter in seconds. Page size maxes at 100. When you sweep an institution across many pages, use the searchAfter cursor from the previous response rather than incrementing page, and expect keyword pagination totals to be exact while semantic totals are estimates until the last page.