CourtListener

Provided by Free Law Project

Free access to millions of legal opinions from federal and state courts, plus oral argument recordings, judge biographical data, and the RECAP Archive of federal court filings — maintained by the nonprofit Free Law Project, covering over 99% of published precedential U.S. case law from 2,000+ courts.

Added: September 10, 2026 · Last updated: October 26, 2026

Jurisdiction
United States
Practice area
General practice
Category
Case law
Documents in this database
8,313,056
Founded
2010
Pricing
Free
Connection type
MCP
Links

Ask CourtListener

Ask a legal question — get an answer sourced directly from CourtListener.

Sign in to ask this database a question directly.

Available tools (22)

?
  • searchEnabled

    Search for case law, dockets, judges, and oral arguments. `absolute_url` is a relative path; prefix it with `https://www.courtlistener.com`. Pass IDs, not URLs, to other tools.

    Enabled

  • get_endpoint_schemaEnabled

    Get the schema for a CourtListener API endpoint. Use this for additional API endpoints which do not have a dedicated MCP tool. These endpoints are distinct from the search endpoint and often include more detailed metadata.

    Enabled

  • call_endpointEnabled

    Call CourtListener API endpoint. Use this for additional API endpoints which do not have a dedicated MCP tool. These endpoints are distinct from the search endpoint and often include more detailed metadata.

    Enabled

  • get_endpoint_itemEnabled

    Get an item by ID from a CourtListener API endpoint.

    Enabled

  • get_choicesEnabled

    List every valid value for a field whose choices are too long to include in its schema. Only the fields named in `field_name` need this; every other choice field lists its values in the schema where it appears.

    Enabled

  • get_countsEnabled

    Get the number of results from a previous query. Some endpoints return the count lazily. Use this tool to retrieve the count from a previous query if it is not available.

    Enabled

  • read_documentEnabled

    Read the full text of a court opinion or RECAP document. Fetches the document text and either returns it in full or as one or more paginated chunks. For opinions, uses the ``html_with_citations`` field (the most complete text representation). For RECAP documents, uses ``plain_text``. **Usage patterns** - *Full read*: omit ``chunk_index`` to receive the entire document along with its ``total_chars``. - *Single chunk*: pass an integer ``chunk_index`` (0-based) to receive one window of ``chunk_size`` characters. The response includes ``total_chunks`` so you can jump directly to any part of the document (e.g. set ``chunk_index`` to ``total_chunks - 1`` to read the conclusion). - *Multiple chunks*: pass a list of chunk indexes to retrieve several non-contiguous windows in a single call (up to 10). Useful when you already know the chunk size from a previous call and want the next N pages at once. Input should include exactly one of opinion_id, recap_document_id, or cluster_id.

    Enabled

  • search_documentEnabled

    Search for snippets within one or more court opinions or RECAP documents. Performs a case-insensitive literal search (similar to grep) and returns up to 20 matching excerpts per document with surrounding context. Use this to locate specific language—a party name, a statutory citation, a key phrase—without reading whole documents. Pass a list of IDs (up to 10) to search several documents in a single call. Results are returned as a list; errors on individual documents are included as an ``error`` field so one unavailable document does not abort the rest. When ``match_count`` exceeds ``shown``, the first 20 matches are returned. Use ``read_document`` with ``chunk_index`` to read the area around a match's ``position`` if you need more context. Input should include exactly one of opinion_id, recap_document_id, or cluster_id.

    Enabled

  • get_more_resultsDisabled

    Get more results from a previous query. Use this tool to continue paginating through results returned by the `search` or `call_endpoint` tools.

    Disabled

  • extract_citationsDisabled

    Extract and resolve legal citations from text using eyecite. Runs locally with no API calls or rate limits. Handles all citation types: full case citations, id., supra, short cites, and statutes. Use this tool to understand the citation structure of a document before selectively verifying citations with analyze_citations.

    Disabled

  • analyze_citationsDisabled

    Analyze and verify legal citations against CourtListener. Extracts all citations locally using eyecite, then verifies each unique case citation against CourtListener's database via the citation-lookup API. Returns case name, date, citation count, and verification status for each citation. For documents with more than 250 unique case citations, the first batch is verified immediately and a job_id is returned. Use resume_citation_analysis to continue verifying remaining citations. Terminology in the output: * **citation occurrence** — each citation as it appears in the text. * **unique citation string** — distinct ``volume reporter page`` triples (e.g., one case cited three times is one string). * **unique case cluster** — distinct CourtListener case clusters after parallel-citation dedup (several strings may map to one). Case-name cross-check: when a citation verifies by reporter but its input case name differs significantly from the cluster's canonical name, a WARNING is emitted flagging a possible hallucinated citation. Input should include exactly one of opinion_id or cluster_id.

    Disabled

  • resume_citation_analysisDisabled

    Resume verifying citations from a previous analysis. Use this after analyze_citations returns with pending citations due to rate limiting (more than 250 unique case citations). Takes the job_id and verifies the next batch.

    Disabled

  • create_search_alertDisabled

    Create a search alert on CourtListener. Use `call_endpoint` with endpoint_id "alerts" to list existing alerts.

    Disabled

  • delete_search_alertDisabled

    Delete a search alert on CourtListener. Use `call_endpoint` with endpoint_id "alerts" to list existing alerts.

    Disabled

  • subscribe_to_docket_alertDisabled

    Subscribe to alerts for a docket on CourtListener. Use `call_endpoint` with endpoint_id "docket-alerts" to list existing subscriptions.

    Disabled

  • unsubscribe_from_docket_alertDisabled

    Unsubscribe from alerts for a docket on CourtListener. Looks up the alert by docket ID and deletes it, so you only need the docket ID (not the alert ID). Use `call_endpoint` with endpoint_id "docket-alerts" to list existing subscriptions.

    Disabled

  • pray_for_documentDisabled

    Request a RECAP document that is not yet available on CourtListener through Pray and Pay. Prayers are pooled across users: when anyone buys the document from PACER, it is added to CourtListener for free and everyone praying for it is emailed. Nothing is charged to the user, but fulfillment is not immediate and not guaranteed. Only documents whose `is_available` is false need a prayer. This tool checks first and, if the document is already available, tells you to read it with `read_document` instead. Prayers count against a daily per-user limit, so only pray when the user actually wants the filing. Use `call_endpoint` with endpoint_id "prayers" to list the user's pending prayers.

    Disabled

  • withdraw_prayerDisabled

    Withdraw a pending Pray and Pay request for a RECAP document. Looks up the user's pending prayer by RECAP document ID and deletes it, so you only need the document ID (not the prayer ID). Prayers that have already been granted cannot be withdrawn and do not need to be: the document is available. Use `call_endpoint` with endpoint_id "prayers" to list the user's pending prayers.

    Disabled

  • get_api_usageDisabled

    Check the user's CourtListener API usage and rate limits. Returns live usage per throttle scope, daily request counts for the last 14 days, and membership status. The `user` scope is the one that matters: it is the main API quota and governs nearly every endpoint and tool. When the user asks about their rate limit, remaining requests, or 429 errors, answer from the `user` scope; `summary` states it in plain language. The other scopes are narrow: `citations` counts citation lookups, `fetch` counts PACER fetch requests, and `api_usage` only limits this usage check itself. Do not confuse `api_usage` with the user's API usage. Each limit reports `used`, `limit`, `remaining`, `reset_at` (null when the window is empty) and `blocked`. This tool never spends the `user` quota, so it works while other tools are rate limited.

    Disabled

  • wiki_list_pagesDisabled

    List the Free Law Project wiki pages you can read. Returns each page's `path` (pass it to `wiki_read_page`), title, description, `updated_at` and `url`, ordered by directory, then title. Public pages are always listed; pages for FLP staff and pages shared with you appear when your CourtListener account's email has access to them on the wiki. Pages come 50 at a time; the response gives the `total` and, when there are more, the `next_page` to pass as `page`. To find pages on a topic, `wiki_search` is usually better.

    Disabled

  • wiki_searchDisabled

    Search the Free Law Project wiki pages you can read. Full-text search over page titles and content. The query supports quoted phrases, `-word` to exclude a word, `title:word`, and `in:<directory path>` to search one directory. Each result carries the page's `path` (pass it to `wiki_read_page`), title, description, `updated_at`, a `snippet` of the matching text and a `url` to open it. Results come 20 to a page, best first; the response gives the `total` and, when there are more, the `next_page` to pass as `page`.

    Disabled

  • wiki_read_pageDisabled

    Read one Free Law Project wiki page as Markdown. `path` is the page's `path` from `wiki_list_pages` or `wiki_search`, e.g. `engineering/deploys`. The page's `url` works too, as do links found in page content: the wiki's own `#engineering/deploys` links and `/c/engineering/deploys/` ones. An `#anchor` on any of them is ignored. Returns the page's path, title, description, `updated_at`, `url` and its `content` as Markdown. Directories aren't pages: to see a directory's pages, search it with `in:<directory path>`.

    Disabled

View all databases →
FreeUnited States

Free U.S. primary-law database covering 10,000,000+ court opinions — the U.S. Supreme Court, all federal circuit and district courts, and the appellate and supreme courts of all 50 states and D.C. — plus 60,000 current U.S. Code sections, over 1.9 million state-statute sections across all 50 states and D.C., 1,300+ U.S. treaties, and 8,000+ pattern jury instructions. Positions itself as a free alternative to Westlaw/Lexis for primary law specifically; it does not include secondary materials like treatises or practice guides. Its standout feature is GoodLaw, a citator built over a citation graph of about 100 million resolved opinion-to-opinion edges (190 million in-text citations) that flags whether a case has been overruled, vacated, or questioned — the kind of good-law check that distinguishes it from a pure full-text case search. A companion CiteCheck tool verifies one citation or a whole uploaded brief (up to 50 citations at once) against the corpus, flags unsupported or miscited authorities, and suggests corrected Bluebook form. Separate modules add administrative-law material beyond ordinary case law: IRS guidance (~59,000 authorities, each with its own good-law status), immigration decisions (~180,000 BIA/AAO/OCAHO authorities, plus a visa-bulletin lookup), and trademark records (3.2 million+ USPTO applications, ~64,000 TTAB proceedings, TMEP/TBMP). Tax Court, Board of Tax Appeals, and TTAB *opinions* specifically are already counted in the 10,000,000+ court-opinion figure above, not additional to it — only the administrative-authority and application records in these modules are extra. Web search requires no account or login. The REST API and MCP connectors (separate endpoints for caselaw, tax, trademark, and immigration) need a free API key. Caselaw and tax connectors are listed directly in Claude's and ChatGPT's own connector directories; trademark and immigration connect via a custom MCP URL or a Custom GPT Action. Also works with Cursor, Claude Code, and Perplexity. Everything — search, API, MCP, and CiteCheck — is free during the company's current rollout; bulk data licensing (full corpus, citation graph, embeddings) is offered separately for teams building their own products on top of it.

legislationcase_law11,960,000 documents
CourtListener · ThomasMore AI