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

18 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.