Court Opinions Search — US Case Law to JSON avatar

Court Opinions Search — US Case Law to JSON

Pricing

$4.00 / 1,000 results

Go to Apify Store
Court Opinions Search — US Case Law to JSON

Court Opinions Search — US Case Law to JSON

Court opinions scraper & API: search US case law by keyword for case name, court, date and citation count as JSON. For legal and due-diligence AI agents.

Pricing

$4.00 / 1,000 results

Rating

0.0

(0)

Developer

Hassan Hashish

Hassan Hashish

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Search millions of US court opinions by keyword and get case name, court, date, docket number and citation count as JSON at $0.004 per opinion.

Case law is where legal precedent and corporate disputes live. This actor turns a keyword into the matching US court opinions from CourtListener, so legal, compliance, and due-diligence agents can read case law as structured data — a natural companion to SEC filings and regulatory documents.

What this actor does

  • Search millions of US federal and state court opinions by keyword, party, or topic
  • Each result: case name, court, filing date, docket number, citation count, status, opinion URL
  • Filter by postedAfter for new-ruling monitoring
  • Batch many queries per run; cap spend with maxResults
  • Agent-ready: flat JSON with the opinion URL + scrapedAt for citation

You only pay for successful results — failed or empty lookups cost nothing.

Why pick this Actor

  • Court, docket number, citation, judge, and cite count from CourtListener — precedent triage in one call
  • Per-result pricing ($0.004/result) with a hard maxResults spend cap — empty lookups cost $0
  • Flat, stable JSON schema with sourceUrl + scrapedAt on every item — citation-ready for RAG and grounding
  • Batch many queries in one run; overlapping results are deduplicated and charged once
  • MCP server, OpenAPI schema, and LangChain/CrewAI tool support out of the box — no glue code

Sample output

Each dataset item is flat, typed JSON with a sourceUrl and scrapedAt for citation/grounding:

{
"query": "data privacy",
"source": "courtlistener",
"title": "U.S. Office of Pers. Mgmt. Data Sec. Breach Litig.",
"court": "Court of Appeals for the D.C. Circuit",
"docketNumber": "17-5117",
"citeCount": 12,
"postedAt": "2019-06-21T00:00:00.000Z",
"url": "https://www.courtlistener.com/opinion/4631839/",
"sourceUrl": "https://www.courtlistener.com/api/rest/v4/search/?q=data+privacy&type=o",
"scrapedAt": "2026-06-12T10:00:00.000Z"
}

Input

{"queries":["data privacy"]}
FieldTypeDescription
queries / queryarray / stringKeyword, party, or topic. One or many.
maxResultsintegerHard spend cap (billed per result).
keywords / postedAfterfiltersNarrow results; enable delta/scheduled runs.

How much does it cost

Pay-per-result: $0.004 per successful result. No subscription, no compute-unit guesswork, no charge for empty results. An orchestrator can cap spend with maxResults.

How to use it with AI agents (MCP), Claude, and the API

Claude Desktop / Claude Code via Apify MCP

{
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server", "--actors", "oblanceolate_mandola/court-opinions-search"],
"env": { "APIFY_TOKEN": "<YOUR_APIFY_TOKEN>" }
}
}
}

Python (Apify API)

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("oblanceolate_mandola/court-opinions-search").call(run_input={"queries":["data privacy"]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

TypeScript (Apify API)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('oblanceolate_mandola/court-opinions-search').call({"queries":["data privacy"]});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

LangChain / CrewAI tool

from langchain_apify import ApifyActorsTool
tool = ApifyActorsTool("oblanceolate_mandola/court-opinions-search") # agent calls it autonomously

OpenAPI schema for self-integrating GPT agents is auto-exposed at the Actor's API tab.

Data & compliance

Reads only publicly accessible endpoints. No login, no credential harvesting, no CAPTCHA bypass. Every result carries its sourceUrl so downstream agents can cite and re-verify.

FAQ

What courts are covered?

US federal and state courts indexed by CourtListener (Free Law Project), spanning millions of opinions.

How do I track new rulings?

Set postedAfter to your last-run date and schedule it for an incremental case-law feed.

What is the source?

The CourtListener API by the Free Law Project — a public, non-profit legal database.

Can AI agents call this Actor directly?

Yes — via the Apify MCP server (snippet above), the OpenAPI schema on the Actor's API tab, or the LangChain/CrewAI tool wrapper. Results are flat JSON with sourceUrl and scrapedAt on every item, so downstream agents can cite and re-verify.

What happens when there are no results?

You pay nothing. Billing is per dataset item delivered, so an empty lookup costs $0, and the run log states why (no match, source rate limit) instead of failing silently.

Changelog

  • 1.0 — Initial release: courtlistener.