Google Scholar Case Law API avatar

Google Scholar Case Law API

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Google Scholar Case Law API

Google Scholar Case Law API

API for Google Scholar US case law. Search opinions and pull full case details with court, year, and citation filters. Returns structured JSON. MCP-ready.

Pricing

from $0.01 / 1,000 results

Rating

5.0

(3)

Developer

John

John

Maintained by Community

Actor stats

6

Bookmarked

9

Total users

7

Monthly active users

5 hours ago

Last modified

Share

๐Ÿ›๏ธ Google Scholar Case Law API

API for US case law on Google Scholar. Search opinions and pull full case details (parties, court, decision dates, full citations, cited cases) as structured JSON. Filter by court, by decision year, by language. MCP-ready so Claude and other AI agents can call it as a tool.


๐Ÿ“‹ What this API returns

FieldWhereDescription
result_idsearch resultsGoogle Scholar identifier. Use to fetch full case detail.
titlebothCase title with reporter citation.
snippetsearch resultsShort text preview from the opinion.
publication_infosearch resultsAuthor, source, and date block.
inline_linkssearch resultsCited-by, related, versions, cached links.
namecase detailShort party-name designation (e.g. Brown v. Board of Education).
court_namecase detailDeciding court.
datescase detailDecision, argued, and filed dates with type labels.
short_citationscase detailAbbreviated case references.
case_numberscase detailDocket numbers.
cited_casescase detailEvery case referenced in the opinion.
first_page, last_pagecase detailReporter page range.

๐Ÿ” Use cases

  • Legal research API. Pull every Supreme Court opinion mentioning a phrase, scoped by year.
  • Citation analysis. Get cited_cases for a known opinion and walk the citation graph.
  • Jurisdictional studies. Restrict to a specific court (e.g. 158 for SCOTUS, 33 for New York state courts) and export the corpus.
  • Litigation prep. Pre-load case-fact summaries into your case-management workflow.
  • AI agent workflows. Drive this API over MCP from Claude (see below) to research case law in-conversation.

โš™๏ธ Input examples

{
"query": "patent infringement",
"maxResults": 20
}
{
"query": "First Amendment school speech",
"maxResults": 30,
"yearFrom": 2010,
"yearTo": 2024,
"courts": ["158"],
"sortByDate": true
}

courts: ["158"] restricts to the Supreme Court of the United States. Leave courts empty to search every US state and federal court.

Fetch full case detail by ID

{
"caseIds": [
"1810530706706468549",
"5036225562552830387"
]
}

Search and auto-fetch detail for every hit

{
"query": "trademark dilution",
"maxResults": 5,
"fetchCaseDetailsForResults": true
}

Returns 5 search_result rows AND 5 case_detail rows in the dataset.


๐Ÿงพ Common court codes

CodeCourt
(omitted / empty courts)All US state and federal
158Supreme Court of the United States
159US Court of Appeals, Federal Circuit
160 to 172US Courts of Appeals, 1st through DC Circuits
192US Tax Court
33New York state courts
5California state courts

Any numeric court code shown in Google Scholar's case-law UI is accepted.


๐Ÿ”Œ Use this API from Claude (MCP)

This Actor is MCP-server-compatible. Once published to the Apify Store, it is reachable from any MCP client (Claude Desktop, Claude Code (free trial), etc.) via Apify's hosted MCP server at https://mcp.apify.com.

Add it with this Actor-specific URL:

https://mcp.apify.com/?tools=actors,docs,johnvc/google-scholar-case-law

Setup walkthrough:

Apify MCP integration docs: https://docs.apify.com/platform/integrations/mcp

Add this to your MCP client config (e.g. ~/.claude/mcp.json or Claude Desktop's claude_desktop_config.json):

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}

Then ask Claude:

"Use the Google Scholar Case Law API to find patent infringement cases from 2020 onward. Return the top 5 results, then fetch the full case detail for each one."

Claude will call this Actor through the MCP server. The input schema's field descriptions become tool-arg docs, and the structured dataset comes straight back into the conversation.


๐Ÿ’ฐ Pricing (pay-per-event)

EventPriceWhen it fires
actor-start$0.02Once per Actor run, at startup.
search-result$0.02Per organic search result returned.
case-detail$0.02Per full case detail fetched.

A 10-result search costs $0.02 + 10 x $0.02 = $0.22. A 10-result search plus detail for every result costs $0.02 + 10 x $0.02 + 10 x $0.02 = $0.42.


๐Ÿš€ How to get started

  1. Open the Actor and enter a query (add yearFrom / yearTo or courts to narrow it).
  2. Set maxResults, then run the Actor.
  3. Read the rows from the dataset (JSON, CSV, Excel, or API). Set fetchCaseDetailsForResults: true to also pull the full case detail for every hit.

View on Apify Store

Data source: Google Scholar case law.


๐Ÿ—‚๏ธ Output format

Every dataset item has a result_type field. It is either "search_result", "case_detail", or "error". Filter the dataset on this field to separate the two kinds of rows. Search results carry result_id; case-detail rows carry case_id (they are the same identifier).

Example output (real search result row)

{
"result_type": "search_result",
"position": 1,
"title": "Markman v. Westview Instruments, Inc.",
"link": "https://scholar.google.com/scholar_case?case=10285146068541901213&q=patent+infringement&hl=en&num=1&as_sdt=80006",
"publication_info": {
"summary": "52 F. 3d 967 - Court of Appeals, Federal Circuit, 1995 - Google Scholar"
},
"snippet": "... not useful, however, in the context of a patent infringement suit ... Patents are not contracts per se and patent infringement ...",
"inline_links": {
"cited_by": {
"total": 7058,
"link": "https://scholar.google.com/scholar?cites=10285146068541901213&as_sdt=80005&sciodt=80006&hl=en&num=1",
"cites_id": "10285146068541901213"
}
},
"result_id": "nQlyNtstvI4J",
"case_id": "10285146068541901213",
"fetched_at": "2026-07-03T23:55:09.942747+00:00"
}

n8n integration

Available as an n8n community node, n8n-nodes-google-scholar-case-law-api. In n8n: Settings, Community Nodes, install n8n-nodes-google-scholar-case-law-api, then use it in any workflow (it also works as an AI Agent tool).


โ“ FAQ

How do I find a court code? Use the common codes table above; any numeric court code shown in Google Scholar's case-law court picker works here. Leave courts empty to search every US state and federal court.

Why did I get fewer results than maxResults? maxResults is a ceiling, not a guarantee. Tight yearFrom / yearTo bounds or a narrow court filter simply match fewer opinions.

How do I get the full opinion details? Either pass known IDs in caseIds, or set fetchCaseDetailsForResults: true on a search to auto-fetch the detail for every hit.

What does result_type mean? Each dataset row is "search_result", "case_detail", or "error". Filter on it to separate the row kinds.

A query came back empty - what should I try? Widen the year range, drop the court filter, or simplify the query phrase; very specific phrases may match no opinions.


Ready-to-run examples that show this API solving a specific problem. Each opens its own setup so you can run it on your account in one click.