Legal and case-law research
Use CourtListener endpoints to turn legal and case-law research into repeatable API requests with documented inputs and JSON responses.
Turn CourtListener's free legal database into structured JSON — full-text search across published court opinions with normalized result metadata, and a browsable directory of U.S. courts, all from CourtListener's anonymous public search.
Search CourtListener's public court-opinion index and browse its court directory as structured JSON, for legal and case-law research.
Endpoint families
3
Documented params
9
Examples
3
Live catalog snapshot
Active endpoints
3
Methods
GET
Required params
4
Schema refs
3
{
"platform": "CourtListener",
"endpoint": "courtlistener-courts",
"method": "GET",
"path": "/courtlistener/courts",
"auth": "apiKey"
}Use cases
Search CourtListener's public court-opinion index and browse its court directory as structured JSON, for legal and case-law research.
Use CourtListener endpoints to turn legal and case-law research into repeatable API requests with documented inputs and JSON responses.
Use CourtListener endpoints to turn court opinion monitoring into repeatable API requests with documented inputs and JSON responses.
Use CourtListener endpoints to turn litigation and compliance intelligence into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live CourtListener endpoint catalog — 3 endpoints, 9 documented request parameters, and 3 published response schemas — the same catalog Docs and Playground run against.
3 documented CourtListener endpoints, grouped into 3 request families — Courts, People and Search.
9 request parameters are documented across those CourtListener endpoints, 4 of them required — the full input contract is public before you write any integration code.
3 of the 3 CourtListener endpoints ship a recorded example response, and 3 carry a documented response schema — you can code against the real JSON before the first request.
CourtListener endpoints document their error responses (400, 429, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
3 hosted MCP tools back the CourtListener endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/courtlistener/courts
/courtlistener/people
/courtlistener/search
Endpoint catalog
/courtlistener/courtsLists CourtListener's anonymous public court directory. Provide court_id to retrieve one court. page is used only for directory browsing and is 1-indexed. The endpoint does not retrieve dockets, opinions, judges, or account data.
Response notes
Example response: ```json { "code": 200, "msg": "OK", "data": { "total": 1, "courts": [ { "id": "scotus", "short_name": "Supreme Court", "full_name": "Supreme Court of the United States", "citation": "SCOTUS", "in_use": true, "has_opinion_scraper": true } ] } } ```
MCP tool courtlistener_courts
/courtlistener/peopleLists CourtListener's anonymous public judicial-person directory. Provide person_id to retrieve one public person record. The response contains only public directory and position-summary metadata; sensitive biographical fields are excluded.
Response notes
Example response: ```json { "code": 200, "msg": "OK", "data": { "people": [ { "id": 16242, "name": "Angel Kelley", "slug": "angel-kelley", "url": "https://www.courtlistener.com/api/rest/v4/people/16242/", "position_count": 1, "has_photo": false } ] } } ```
MCP tool courtlistener_people
/courtlistener/searchSearches CourtListener's public opinion-search index by text and returns normalized opinion-result metadata with a cursor for the next page. The endpoint uses CourtListener's anonymous public search data and does not retrieve authenticated opinion detail, dockets, judges, alerts, or account data.
Response notes
Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "qualified immunity", "results": [ { "case_name": "Example v. Example", "court": "Supreme Court of the United States", "url": "https://www.courtlistener.com/opinion/12345/example-v-example/" } ], "next_cursor": "cD0yMDI2LTA4LTI3" } } ```
MCP tool courtlistener_search
Related APIs
Business & Market Intelligence
Turn public GitHub ecosystem signals into structured data for developer-market research, open-source intelligence, recruiting, and AI-agent workflows.
Business & Market Intelligence
Collect public TrustMRR startup marketplace and leaderboard data as normalized JSON for startup research, SaaS discovery, and market intelligence workflows.
Business & Market Intelligence
Add website and competitive intelligence signals from SimilarWeb to research pipelines.
How to scrape CourtListener
CourtListener publishes court opinions and a court directory as anonymous public search data. Crawlora's CourtListener endpoints return normalized results as JSON with one API key — no scraper or search-index client to maintain.
Send a text query to /courtlistener/search for normalized opinion-result metadata, with a cursor to page through further results.
Call /courtlistener/courts to list CourtListener's public court directory, or pass court_id to retrieve one specific court's detail. page is 1-indexed and used only for directory browsing.
FAQ
Send a text query to Crawlora's /courtlistener/search endpoint and get normalized opinion-result metadata back as structured JSON, with a cursor to page through additional results — no need to build your own legal search index.
No — CourtListener endpoints use CourtListener's anonymous public opinion-search and court-directory data only. They do not retrieve authenticated opinion detail, dockets, judges, alerts, or account data.
Collecting publicly accessible opinion-search and court-directory data is generally permissible if you respect CourtListener's terms of use, robots directives, rate limits, and applicable law. This is for public data you are authorized to collect.