Discover/Google API
live

Google APIscholar.google.com

Search and retrieve legal case law from Google Scholar. Filter by court, date range, and keyword. Get full case opinions, citations, and cited-by counts.

Endpoint health
verified 4d ago
search_cases
get_case_details
2/2 passing latest checkself-healing
Endpoints
2
Updated
26d ago

What is the Google API?

The Google Scholar Case Law API exposes 2 endpoints for searching and retrieving U.S. legal opinions. Use search_cases to query case law by keyword across all courts or federal courts only, getting back titles, citations, courts, years, snippets, and cited-by counts. Use get_case_details to fetch the full opinion text, argued and decided dates, and citation for any specific case by its ID.

Try it
Page number (1-based)
Court filter: 'all' for all courts, 'federal' for federal courts only
Search query for case law (e.g., 'fourth amendment search and seizure', 'patent infringement')
Filter cases up to this year (e.g., '2024'). Omitting returns cases up to present.
Filter cases from this year onward (e.g., '2020'). Omitting returns cases from all years.
api.parse.bot/scraper/0121d112-4c66-4336-9640-bded6b74faad/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/0121d112-4c66-4336-9640-bded6b74faad/search_cases?page=1&court=all&query=fourth+amendment+search+and+seizure&year_to=2024&year_from=2000' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace scholar-google-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Google Scholar Case Law — search cases and retrieve full opinions."""
from parse_apis.google_scholar_case_law_api import GoogleScholar, Court, CaseNotFound

client = GoogleScholar()

# Search for landmark Fourth Amendment cases in federal courts
for case in client.casesummaries.search(query="fourth amendment search and seizure", court=Court.FEDERAL, limit=5):
    print(case.title, case.year, f"cited_by={case.cited_by}")

# Drill into the first result for the full opinion
summary = client.casesummaries.search(query="patent infringement", year_from="2015", limit=1).first()
if summary:
    full = summary.details()
    print(full.title, full.court, full.opinion_length)

# Fetch a case directly by ID
try:
    detail = client.cases.get(case_id="9210492700696416594")
    print(detail.title, detail.citation, detail.dates)
except CaseNotFound as exc:
    print(f"Case not found: {exc.case_id}")

print("exercised: casesummaries.search / CaseSummary.details / cases.get / CaseNotFound")
All endpoints · 2 totalmissing one? ·

Search Google Scholar case law by subject matter keywords. Returns case listings with title, citation, court, year, snippet, and cited-by count. Results are paginated with 10 cases per page. The court filter restricts to federal courts or all courts. Year filters narrow results to a specific date range.

Input
ParamTypeDescription
pageintegerPage number (1-based)
courtstringCourt filter: 'all' for all courts, 'federal' for federal courts only
queryrequiredstringSearch query for case law (e.g., 'fourth amendment search and seizure', 'patent infringement')
year_tostringFilter cases up to this year (e.g., '2024'). Omitting returns cases up to present.
year_fromstringFilter cases from this year onward (e.g., '2020'). Omitting returns cases from all years.
Response
{
  "type": "object",
  "fields": {
    "page": "integer, current page number",
    "court": "string, court filter applied",
    "query": "string, the search query used",
    "results": "array of case objects with title, url, case_id, citation, court, year, snippet, cited_by",
    "year_to": "string or null, end year filter",
    "year_from": "string or null, start year filter",
    "result_count": "integer, number of results on this page",
    "has_next_page": "boolean, whether more results are available"
  },
  "sample": {
    "data": {
      "page": 1,
      "court": "all",
      "query": "fourth amendment search and seizure",
      "results": [
        {
          "url": "https://scholar.google.com/scholar_case?case=9210492700696416594&q=fourth+amendment+search+and+seizure&hl=en&as_sdt=2006",
          "year": "1967",
          "court": "Supreme Court",
          "title": "Katz v. United States",
          "case_id": "9210492700696416594",
          "snippet": "does not justify construing the search and seizure...",
          "citation": "389 US 347, 88 S. Ct. 507, 19 L. Ed. 2d 576",
          "cited_by": 33884
        }
      ],
      "year_to": null,
      "year_from": null,
      "result_count": 10,
      "has_next_page": true
    },
    "status": "success"
  }
}

About the Google API

Searching Case Law

The search_cases endpoint accepts a query string — such as 'fourth amendment search and seizure' or 'patent infringement' — and returns up to 10 case objects per page. Each result includes title, citation, court, year, snippet, cited_by count, url, and a numeric case_id used to fetch full details. The court parameter accepts 'all' or 'federal' to restrict results to federal courts only. The year_from and year_to parameters accept four-digit year strings to narrow results to a specific time window. Pagination is controlled with the page parameter (1-based), and the has_next_page boolean tells you whether additional pages exist.

Retrieving Full Case Opinions

The get_case_details endpoint takes a case_id (the numeric string from any search_cases result) and returns the full case record: title, citation, court, dates (argued and decided), url, and opinion_text. Opinion text is truncated to the first 10,000 characters; the opinion_length field gives the total character count of the untruncated opinion so you can assess completeness. This is useful when a case's full legal reasoning is needed, not just the snippet surfaced by search.

Coverage and Filtering

The court filter currently distinguishes between all courts and federal courts only — it does not target specific circuits, districts, or state court systems individually. Date filtering via year_from and year_to works at the year level, not by specific date. The cited-by count returned by search_cases reflects how many other cases or articles reference the case, which is useful for gauging precedential weight without fetching individual citing documents.

Reliability & maintenanceVerified

The Google API is a managed, monitored endpoint for scholar.google.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when scholar.google.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official scholar.google.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Building a legal research tool that surfaces relevant case law by keyword with cited-by counts for precedential ranking
  • Automating retrieval of full case opinions for contract review or litigation support workflows
  • Filtering federal court decisions within a date range to track evolving interpretations of a statute
  • Extracting citations and court metadata to populate a legal citation database
  • Monitoring recent case law on a specific subject by querying with year_from set to the current year
  • Comparing opinion lengths and snippets across cases to prioritize which full texts to review
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Google Scholar have an official developer API for case law?+
Google Scholar does not offer a public developer API. There is no official endpoint or documented access method for programmatic retrieval of case law data from the platform.
What does `get_case_details` return, and is the full opinion text included?+
It returns title, citation, court, dates (argued and decided), url, case_id, and opinion_text. The opinion text is the first 10,000 characters of the full opinion. The opinion_length field gives the total character count, so you can tell how much was truncated.
Can I filter `search_cases` results to a specific circuit court or state court system?+
Not currently. The court parameter supports 'all' or 'federal' only — there is no parameter for targeting a specific circuit, district, or individual state court. You can fork this API on Parse and revise it to add a more granular court filter if that level of scoping is required.
Does the API return the list of cases that cite a given case?+
Not currently. The cited_by field in search_cases results gives the count of citing documents, but the API does not return the actual list of citing cases. You can fork this API on Parse and revise it to add an endpoint that retrieves the citing-case list for a given case ID.
How is pagination handled in `search_cases` results?+
Results are returned 10 cases per page. Use the page parameter (1-based integer) to navigate pages. The response includes a has_next_page boolean and a result_count integer reflecting results on the current page. There is no total result count field in the response.
Page content last updated . Spec covers 2 endpoints from scholar.google.com.
Related APIs in Government PublicSee all →
examplecourt.gov API
Search and retrieve court judgments, case details, and legal metadata from a national court reporting portal, with support for advanced filtering by court and case category. Access complete case information including full text and browse paginated results to find relevant legal precedents.
bailii.org API
Search and retrieve court judgments and case law from British and Irish courts across multiple jurisdictions, with filtering by date range and location. Access complete case details including full judgment text and metadata to research legal precedents and decisions.
ecourtsindia.com API
Search and retrieve detailed information about court cases across India's Supreme Court, High Courts, and District Courts from a database of over 239 million cases. Find case details, track legal proceedings, and access comprehensive court records to stay informed about judicial matters across the Indian court system.
indiankanoon.org API
indiankanoon.org API
judyrecords.com API
Search and retrieve detailed court records including case information and statistics from a comprehensive legal database. Access specific case details and view aggregated court record stats to research legal proceedings and case outcomes.
justia.com API
Access Justia's legal database: search the lawyer directory by practice area and location, retrieve attorney profiles, browse state statutes and case law, explore legal guides, and look up law schools — all in one API.
austlii.edu.au API
Search and access Australian legal cases from AustLII's comprehensive database, browsing by year and downloading decisions in multiple formats including RTF, PDF, and print-friendly versions. Discover available case databases and retrieve specific court rulings with prioritized download options to suit your preferred format.
judgments.ecourts.gov.in API
Search for Indian court judgments and orders across multiple courts to access legal rulings, case decisions, and judicial orders. Find relevant court cases by searching through a comprehensive database of Indian judicial decisions.