Discover/CanLII API
live

CanLII APIcanlii.org ↗

Access Canadian case law, legislation, and tribunal decisions across all provinces and territories via the CanLII API. Search, retrieve, and parse legal documents.

Endpoint health
monitored
get_document_detail
get_ai_summary
get_jurisdiction_list
get_arbitration_awards
search_documents
0/8 passing latest checkself-healing
Endpoints
8
Updated
1mo ago

What is the CanLII API?

The CanLII API gives developers access to Canadian legal documents across 14 provincial and territorial jurisdictions plus federal law, through 8 endpoints covering jurisdiction discovery, legislation retrieval, case search, and full document text. The search_documents endpoint accepts keyword queries and filters by jurisdiction or document type, while get_document_detail returns the complete full text and metadata for any document by its CanLII URL.

This call costs1 credit / call— charged only on success
Try it

No input parameters required.

→ api.parse.bot/scraper/f5ae8751-4f27-48d0-9a68-b080c35b492e/<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/f5ae8751-4f27-48d0-9a68-b080c35b492e/get_jurisdiction_list' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 8 totalmissing one? ·

Get list of all available Canadian jurisdictions with their IDs and document counts. Returns all 14 provinces/territories plus a commentary category.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "jurisdictions": "array of jurisdiction objects with id, name, count, and short_text"
  },
  "sample": {
    "data": {
      "jurisdictions": [
        {
          "id": "ca",
          "name": "Canada (Federal)",
          "count": "272,134",
          "short_text": "CA"
        },
        {
          "id": "on",
          "name": "Ontario",
          "count": "721,149",
          "short_text": "ON"
        }
      ]
    },
    "status": "success"
  }
}

About the CanLII API

Jurisdiction and Database Discovery

The get_jurisdiction_list endpoint returns all available jurisdictions — provinces, territories, and a federal category — each with an id, name, count, and short_text. Pass any j_id (e.g. ab, on, ca) to get_jurisdiction_databases to enumerate every database within that jurisdiction, organized into categories like Legislation, Courts, and Boards and Tribunals, along with coverage dates and document counts per database.

Searching and Retrieving Documents

search_documents accepts a required query string and optional filters: j_id (jurisdiction code or all), page for pagination (25 results per page), and type_id to restrict results to decision or legislation. Each result item includes title, url, citation, date, court, jurisdiction, and a snippet. To fetch the full content of any document, pass its CanLII URL to get_document_detail, which returns the full_text, title, and canonical url.

Specialized Endpoints

get_employment_standards_code has a pre-configured jurisdiction-to-statute mapping for eight jurisdictions (Alberta, Ontario, British Columbia, Saskatchewan, Manitoba, Nova Scotia, New Brunswick, and Canada federal), returning the full text of the relevant Employment Standards legislation without requiring you to find the correct URL manually. get_arbitration_awards retrieves tribunal and board decisions for a specified jurisdiction, returning name, date, citation, url, court, and synopsis per award, with a limit parameter capped at 25.

HTML Content and AI Summaries

get_document_html returns the raw HTML of a document's main content area with all tags and attributes intact, plus pdf_url, final_url, and ai_summary_html when a summary panel exists. If you only need to check for an AI-generated summary without fetching the full document, get_ai_summary returns a has_ai_summary boolean and the ai_summary_html in a lighter-weight call.

Reliability & maintenance

The CanLII API is a managed, monitored endpoint for canlii.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when canlii.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 canlii.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.

Latest check
0/8 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
  • Building a Canadian employment law research tool that pulls full statute text via get_employment_standards_code for each province
  • Aggregating arbitration award synopses across jurisdictions using get_arbitration_awards for labour relations analytics
  • Indexing CanLII case law into a local search system using paginated search_documents results filtered by type_id: decision
  • Populating a legal document viewer with full text and PDF download links via get_document_html
  • Surfacing AI-generated case summaries in a legal research dashboard using get_ai_summary
  • Auditing the scope of available courts and tribunals per province by iterating get_jurisdiction_databases across all jurisdiction IDs
  • Cross-referencing a citation to its full text and metadata by passing a CanLII URL to get_document_detail
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does CanLII have an official developer API?+
Yes. CanLII provides an official public API documented at https://api.canlii.org/. It covers case law and legislation metadata but has its own registration requirements and data structure. This Parse API exposes a broader set of document fields including full text, AI summaries, and raw HTML that are not part of the official API's documented response schema.
What does `search_documents` return, and can I filter by document type?+
Each result includes title, url, citation, date, court, jurisdiction, and a short snippet. The type_id parameter accepts all, decision, or legislation to narrow results. Results are paginated at 25 items per page; use the page parameter to step through them, and check total_count in the response to know how many pages to expect.
Does the API cover all Canadian jurisdictions equally?+
The get_jurisdiction_list endpoint returns 14 provinces and territories plus federal. However, the pre-configured get_employment_standards_code endpoint only maps eight jurisdictions (ab, on, bc, sk, mb, ns, nb, ca). Remaining jurisdictions are not covered by that shortcut. You can fork the API on Parse and revise it to add the missing jurisdiction-to-statute mappings.
Does the API return judicial decisions from all court levels, including the Supreme Court of Canada?+
Search results and database listings include documents from courts at all levels that CanLII indexes, including the Supreme Court of Canada under the ca jurisdiction. However, the API does not expose case metadata fields like judge names, hearing dates, or cited-cases lists as discrete structured fields — those appear only within full_text or html. You can fork the API on Parse and revise it to parse and surface those fields from the document content.
How current is the data — does the API reflect recently published decisions?+
Document availability depends on what CanLII has published. get_jurisdiction_databases returns coverage date ranges per database, so you can check the most recent ingestion window for any specific court or tribunal before querying. There is no webhook or changelog endpoint to detect newly added documents since a given date. You can fork the API on Parse and revise it to add polling logic that tracks new items by comparing total_count across periodic searches.
Page content last updated . Spec covers 8 endpoints from canlii.org.
Related APIs in Government PublicSee all →
austlii.edu.au API
Search and access Australian legal cases from AustLII's comprehensive database, browsing by year and downloading decisions in multiple formats including RTF, PDF, and print-friendly versions. Discover available case databases and retrieve specific court rulings with prioritized download options to suit your preferred format.
nzlii.org API
Access data from nzlii.org.
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.
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.
indiankanoon.org API
Search and access Indian court judgments, laws, and tribunal decisions to find relevant legal documents and case law. Browse legal documents by court, year, and month, or get real-time suggestions and recent rulings to support your legal research.
law.justia.com API
Search federal court dockets and retrieve detailed case filings to stay informed about ongoing litigation, track case outcomes, and access official court documents. Find specific cases by keywords or case identifiers to monitor legal proceedings relevant to your interests or research.
courtlistener.com API
Search through millions of court opinions and RECAP docket documents across 471 jurisdictions to find relevant legal cases and filings for your research. Access free legal information from CourtListener to quickly locate court rulings, case documents, and docket details without subscription fees.
eur-lex.europa.eu API
Access and explore the complete collection of European Union laws, regulations, and Official Journal publications through a comprehensive database that lets you search documents, retrieve full texts, summaries, and metadata, and track legislative procedures and national implementations. Find exactly what you need with detailed search capabilities and get detailed information about how EU laws are transposed into national legislation.