Discover/Indian Kanoon API
live

Indian Kanoon APIindiankanoon.org

Access Indian court judgments, laws, and tribunal decisions via the Indian Kanoon API. Search, browse by court/year, and retrieve full-text documents with metadata.

Endpoint health
verified 6d ago
browse_courts
browse_court_years
get_recent_judgments
search_documents
get_document
7/7 passing latest checkself-healing
Endpoints
7
Updated
21d ago

What is the Indian Kanoon API?

The Indian Kanoon API provides 7 endpoints for searching and retrieving Indian legal documents — including Supreme Court judgments, High Court rulings, and tribunal decisions. The search_documents endpoint accepts plain-text queries or advanced syntax filters like doctypes:supremecourt and date ranges, returning paginated results with doc IDs, titles, court names, and text snippets. The get_document endpoint delivers full document text alongside citation counts, bench composition, author judge, and judgment date.

Try it
Page number (0-based).
Search query string. Supports plain text keywords and advanced syntax including 'doctypes:<court_slug>', 'fromdate:DD-MM-YYYY', 'todate:DD-MM-YYYY'.
api.parse.bot/scraper/1722630e-9d82-4a08-a121-360b7a5b35e7/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/1722630e-9d82-4a08-a121-360b7a5b35e7/search_documents?page=0&query=Article+21' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace indiankanoon-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Indian Kanoon legal research: search documents, browse courts, get suggestions."""
from parse_apis.indian_kanoon_api import IndianKanoon, DocumentNotFound

client = IndianKanoon()

# Search for legal documents on a topic — limit caps total items fetched.
for doc in client.documentsummaries.search(query="right to privacy Article 21", limit=3):
    print(doc.title, doc.court)

# Drill into the first result's full text via the summary→detail navigation.
summary = client.documentsummaries.search(query="Section 302", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.title, detail.court, detail.citations_cited_by_count)

# Get a document directly by ID.
try:
    doc = client.documents.get(doc_id="1560742")
    print(doc.title, doc.full_text[:100])
except DocumentNotFound as exc:
    print(f"Document not found: {exc}")

# Browse courts and explore a court's available years.
court = client.court(slug="supremecourt")
for year in court.years(limit=5):
    print(year)

# List months for a specific court+year.
for entry in court.months(year="2024", limit=3):
    print(entry.month, entry.search_query)

# Autocomplete suggestions for a search prefix.
for suggestion in client.suggestions.search(term="habeas corpus", limit=3):
    print(suggestion.value)

print("exercised: documentsummaries.search / summary.details / documents.get / court.years / court.months / suggestions.search")
All endpoints · 7 totalmissing one? ·

Full-text search over Indian legal documents (judgments, laws, sections). Supports plain keywords and advanced query syntax including 'doctypes:<court_slug>', 'fromdate:DD-MM-YYYY', 'todate:DD-MM-YYYY'. Returns 10 results per page. Pagination via zero-based page counter; stops when results are empty.

Input
ParamTypeDescription
pageintegerPage number (0-based).
queryrequiredstringSearch query string. Supports plain text keywords and advanced syntax including 'doctypes:<court_slug>', 'fromdate:DD-MM-YYYY', 'todate:DD-MM-YYYY'.
Response
{
  "type": "object",
  "fields": {
    "results": "array of search result objects each containing doc_id, title, url, court, and snippet",
    "pagination": "object containing current_page (string), total_results (integer or null), and has_next (boolean)"
  },
  "sample": {
    "data": {
      "results": [
        {
          "url": "https://indiankanoon.org/doc/1199182/",
          "court": "Constitution Article",
          "title": "Article21in Constitution of India",
          "doc_id": "1199182",
          "snippet": "Article21in Constitution of India21. Protection of life and personal liberty..."
        }
      ],
      "pagination": {
        "has_next": true,
        "current_page": "0",
        "total_results": 705809
      }
    },
    "status": "success"
  }
}

About the Indian Kanoon API

Search and Document Retrieval

The search_documents endpoint accepts a required query string and an optional 0-based page integer. Query syntax supports plain keywords as well as structured filters: doctypes:<court_slug> restricts results to a specific court or tribunal, and fromdate:/todate: narrow results to a date range in DD-MM-YYYY format. Each result object returns doc_id, title, url, court, and a text snippet. Pagination metadata includes current_page, total_results (integer or null), and a has_next boolean.

The get_document endpoint takes a numeric doc_id — obtained from search results — and returns the document's full_text, title, court, date, author, and bench (an array of judge names). It also exposes two citation fields: citations_cites_count (how many documents this one cites) and citations_cited_by_count (how many documents cite it). These citation counts are useful for assessing precedential weight.

Court Browsing

Three endpoints support hierarchical browsing of the corpus. browse_courts returns all available courts and tribunals, each with a name and slug. Passing a court_slug to browse_court_years yields an array of year strings in descending order. Then browse_court_year_months takes both court_slug and year and returns an array of month objects — each including a search_query string ready to pass directly to search_documents.

Autocomplete and Recent Activity

get_suggestions accepts a partial term and returns autocomplete suggestions with label (HTML-formatted with bold-highlighted matches) and value (plain-text query string). get_recent_judgments requires no inputs and returns a list of court feeds, each with a court name, an added_today_query string, and a direct url — useful for monitoring new filings across courts on any given day.

Reliability & maintenanceVerified

The Indian Kanoon API is a managed, monitored endpoint for indiankanoon.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when indiankanoon.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official indiankanoon.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a case law research tool that filters Supreme Court judgments by date range using the doctypes:supremecourt fromdate: query syntax
  • Track citation frequency to identify landmark judgments using citations_cited_by_count from get_document
  • Monitor daily legal activity across courts by polling get_recent_judgments and following each court's added_today_query
  • Construct a court-specific document archive using browse_courtsbrowse_court_yearsbrowse_court_year_months to enumerate all available months
  • Power a legal search autocomplete UI with get_suggestions, surfacing relevant case names and statutory terms as users type
  • Analyze bench compositions over time by extracting the bench array from bulk get_document calls across a court and year range
  • Feed a document summarization pipeline by retrieving full_text from get_document for a set of doc_id values obtained through targeted searches
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Indian Kanoon offer an official developer API?+
Indian Kanoon does not publish a documented public developer API. The site is accessible at indiankanoon.org as a free legal search tool for end users, but there is no officially supported API with keys, documentation, or SLA.
What does `get_document` return beyond the document text?+
get_document returns full_text, title, court, date, author, and bench (an array of judge names), plus citations_cites_count and citations_cited_by_count as strings. The doc_id echo is also included in the response. Fields like author and date may be empty strings if not available for a given document.
How does pagination work in `search_documents`?+
Results are returned 10 per page. The page parameter is 0-based, so the first page is page=0. The pagination object in the response includes current_page, has_next (boolean), and total_results, though total_results may be null for some queries. Iterate using has_next to determine whether to fetch the next page.
Does the API expose the full list of acts and statutes separately from judgments?+
Not as a dedicated endpoint. The search_documents endpoint can retrieve acts and statutory sections alongside judgments depending on the query, and the doctypes: filter can narrow results to specific document categories. Dedicated endpoints for browsing statutes by act name or section number are not currently included. You can fork the API on Parse and revise it to add an endpoint targeting those document types.
Are documents from all Indian courts and tribunals covered?+
browse_courts returns the complete list of courts and tribunals indexed — this includes the Supreme Court, various High Courts, and several tribunals. Coverage depends on what Indian Kanoon has indexed; documents from lower district courts are generally sparse or absent. The API reflects the same corpus scope that indiankanoon.org itself covers.
Page content last updated . Spec covers 7 endpoints from indiankanoon.org.
Related APIs in Government PublicSee all →
judgments.ecourts.gov.in API
Search for Indian court judgments and orders across multiple courts to access legal rulings, case decisions, and judicial orders. Find relevant court cases by searching through a comprehensive database of Indian judicial decisions.
ecourtsindia.com API
Search and retrieve detailed information about court cases across India's Supreme Court, High Courts, and District Courts from a database of over 239 million cases. Find case details, track legal proceedings, and access comprehensive court records to stay informed about judicial matters across the Indian court system.
examplecourt.gov API
Search and retrieve court judgments, case details, and legal metadata from a national court reporting portal, with support for advanced filtering by court and case category. Access complete case information including full text and browse paginated results to find relevant legal precedents.
livelaw.in API
Access Supreme Court and High Court judgments, legal news, articles, and digests from LiveLaw.in, with the ability to filter by year, category, and author. Stay updated on the latest legal developments, court decisions, and expert legal analysis across Indian courts.
indiacode.nic.in API
Search and retrieve Indian legislation from indiacode.nic.in. Browse Central and State Acts, look up individual sections, and extract fully structured act content by keyword or handle ID.
devgan.in API
Search and explore Indian legal acts like the IPC, BNS, and CrPC by browsing chapters, viewing detailed section information, and finding cross-references between different laws. Navigate through legislative classifications, search across acts, and access comprehensive details on specific sections all in one place.
canlii.org API
Access Canadian legal information from CanLII.org. Discover jurisdictions and databases, search case law and legislation across all provinces and territories, and retrieve full document text and metadata.
bailii.org API
Search and retrieve court judgments and case law from British and Irish courts across multiple jurisdictions, with filtering by date range and location. Access complete case details including full judgment text and metadata to research legal precedents and decisions.