For AI agents
Lawsuits as data: 653 cases so far, +108 in the last 30 days, with dockets, dates, status, dated filings and rulings, and where each came from. New cases are found daily; every row carries its source and first-seen date.
Point your agent here
https://lawsuits.fru.dev/llms.txthttps://lawsuits.fru.dev/llms-full.txtCall the API
| Method | Path | Params | Returns |
|---|---|---|---|
| GET | /api/cases | kind, status, forum (court, regulator), company, q, limit (max 200), offset | Cases, next hearing first then newest filed: parties, court or regulator, docket, filed date, status, next date, outcome, amount, laws tested |
| GET | /api/cases/{id} | id | One case with its dated history (filings, orders, rulings, hearings) and its change log |
| GET | /api/upcoming | days (default 90) | Cases with a hearing, trial or ruling date ahead, soonest first |
| GET | /api/events | since (YYYY-MM-DD), limit (max 500) | Dated filings, orders, rulings and hearings across all cases, newest first |
| GET | /api/companies | since (ISO time), limit (max 200), offset | Companies that are parties, with registry slug, domain, site URL and dated items (filings, rulings) |
| GET | /api/changes | since (ISO time), limit (max 500) | Append-only log: status, next date, outcome, amount, verified |
| GET | /api/search | q, limit (max 20) | Ranked cases, companies and pages |
| GET | /calendar.ics | kind | Upcoming hearings and rulings as an iCalendar feed |
/api/cases
curl -s "https://lawsuits.fru.dev/api/cases?kind=copyright&limit=2"{
"total": 653,
"cases": [
{
"id": "in-re-seagate-technology-holdings-plc-securities-litigation",
"title": "In re Seagate Technology Holdings plc Securities Litigation",
"forum": "District Court, N.D. California",
"docketNumber": "3:23-cv-03431",
"status": "active",
"next": {
"date": "2026-11-17",
"label": "Final Approval Motion Hearing",
"sourceUrl": "https://www.courtlistener.com/docket/67597017/176/in-re-seagate-technology-holdings-plc-securities-litigation/"
},
"url": "https://lawsuits.fru.dev/cases/in-re-seagate-technology-holdings-plc-securities-litigation"
},
{
"id": "gavalas-v-google",
"title": "Gavalas v. Google (Gemini)",
"forum": "US District Court, Northern District of California",
"docketNumber": "5:26-cv-01849",
"status": "active",
"next": {
"date": "2026-12-02",
"label": "Further Case Management Conference",
"sourceUrl": "https://www.courtlistener.com/docket/72359502/43/gavalas-v-google-llc/"
},
"url": "https://lawsuits.fru.dev/cases/gavalas-v-google"
}
]
}/api/cases/{id}
curl -s "https://lawsuits.fru.dev/api/cases/in-re-seagate-technology-holdings-plc-securities-litigation"{
"case": {
"id": "in-re-seagate-technology-holdings-plc-securities-litigation",
"title": "In re Seagate Technology Holdings plc Securities Litigation",
"forum": "District Court, N.D. California",
"docketNumber": "3:23-cv-03431",
"status": "active",
"next": {
"date": "2026-11-17",
"label": "Final Approval Motion Hearing",
"sourceUrl": "https://www.courtlistener.com/docket/67597017/176/in-re-seagate-technology-holdings-plc-securities-litigation/"
},
"url": "https://lawsuits.fru.dev/cases/in-re-seagate-technology-holdings-plc-securities-litigation"
},
"events": [
{
"id": 685,
"caseId": "in-re-seagate-technology-holdings-plc-securities-litigation",
"date": "2026-07-07",
"kind": "ruling",
"title": "ORDER GRANTING 169 PRELIMINARILY APPROVING SETTLEMENT AND PROVIDING FOR NOTICE OF SETTLEMENT Signed by Judge Rita F. Lin on 07/07/2026. (Attachments: # 1 Exhibit Exhibit 1, # 2 Exh",
"sourceUrl": "https://www.courtlistener.com/docket/67597017/179/in-re-seagate-technology-holdings-plc-securities-litigation/"
},
{
"id": 684,
"caseId": "in
.../api/upcoming
curl -s "https://lawsuits.fru.dev/api/upcoming?days=60"{
"cases": [
{
"id": "in-re-seagate-technology-holdings-plc-securities-litigation",
"title": "In re Seagate Technology Holdings plc Securities Litigation",
"forum": "District Court, N.D. California",
"docketNumber": "3:23-cv-03431",
"status": "active",
"next": {
"date": "2026-11-17",
"label": "Final Approval Motion Hearing",
"sourceUrl": "https://www.courtlistener.com/docket/67597017/176/in-re-seagate-technology-holdings-plc-securities-litigation/"
},
"url": "https://lawsuits.fru.dev/cases/in-re-seagate-technology-holdings-plc-securities-litigation"
},
{
"id": "gavalas-v-google",
"title": "Gavalas v. Google (Gemini)",
"forum": "US District Court, Northern District of California",
"docketNumber": "5:26-cv-01849",
"status": "active",
"next": {
"date": "2026-12-02",
"label": "Further Case Management Conference",
"sourceUrl": "https://www.courtlistener.com/docket/72359502/43/gavalas-v-google-llc/"
},
"url": "https://lawsuits.fru.dev/cases/gavalas-v-google"
}
]
}/api/events
curl -s "https://lawsuits.fru.dev/api/events?since=2026-09-01&limit=3"{
"events": [
{
"id": 1283,
"caseId": "doj-roblox-2026-10-28",
"date": "2026-10-28",
"kind": "decision",
"title": "Rochester man who used Roblox to meet minors pleads guilty to child pornography charge",
"sourceUrl": "https://www.justice.gov/usao-wdny/pr/rochester-man-who-used-roblox-meet-minors-pleads-guilty-child-pornography-charge"
},
{
"id": 1256,
"caseId": "cma-lidl-2026-10-22",
"date": "2026-10-22",
"kind": "decision",
"title": "Potential designation of Aldi and Lidl under the Groceries Market Investigation (Controlled Land) Order 2010",
"sourceUrl": "https://www.gov.uk/cma-cases/potential-designation-of-aldi-and-lidl-under-the-groceries-market-investigation-controlled-land-order-2010"
},
{
"id": 1279,
"caseId": "dow-jones-and-company-inc-v-bradstreet-and-company-inc",
"date": "2026-10-20",
"kind": "filing",
"title": "Case filed",
"sourceUrl": "https://www.courtlistener.com/docket/74990783/dow-jones-company-inc-v-bradstreet-company-inc/"
}
]
}/api/companies
curl -s "https://lawsuits.fru.dev/api/companies?limit=2"{
"companies": [
{
"slug": "openai",
"name": "OpenAI",
"domain": "openai.com",
"url": "https://lawsuits.fru.dev/companies/openai",
"items": [
{
"type": "case_event",
"date": "...",
"title": "..."
}
]
}
]
}/api/changes
curl -s "https://lawsuits.fru.dev/api/changes?since=2026-09-01T00:00:00Z&limit=3"{
"changes": [
{
"id": 893,
"caseId": "doj-roblox-2026-10-28",
"caseTitle": "DOJ: Roblox",
"field": "created",
"old": "",
"new": "active",
"changedAt": "2026-10-29 14:16:23",
"sourceUrl": "https://www.justice.gov/usao-wdny/pr/rochester-man-who-used-roblox-meet-minors-pleads-guilty-child-pornography-charge",
"note": null,
"url": "https://lawsuits.fru.dev/cases/doj-roblox-2026-10-28"
},
{
"id": 892,
"caseId": "epic-games-inc-v-cohen",
"caseTitle": "Epic Games, Inc. v. Cohen",
"field": "created",
"old": "",
"new": "active",
"changedAt": "2026-10-27 14:16:29",
"sourceUrl": "https://www.courtlistener.com/docket/72366777/epic-games-inc-v-cohen/",
"note": null,
"url": "https://lawsuits.fru.dev/cases/epic-games-inc-v-cohen"
}
]
}/api/search
curl -s "https://lawsuits.fru.dev/api/search?q=openai"{
"q": "openai",
"results": [
{
"id": "case:...",
"group": "items",
"title": "...",
"href": "/cases/..."
}
]
}/calendar.ics
curl -s "https://lawsuits.fru.dev/calendar.ics?kind=copyright"BEGIN:VCALENDAR
VERSION:2.0
...
BEGIN:VEVENT
SUMMARY:Motion Hearing: ...
DTSTART;VALUE=DATE:...
END:VEVENT
...OpenAPI 3.1: /openapi.json. Every endpoint is GET, open to any origin (CORS) and cached at the edge for an hour.
Add to your agent
System prompt line
For lawsuits and enforcement actions in data and AI (status, next hearing, rulings, fines), fetch https://lawsuits.fru.dev/llms.txt and use https://lawsuits.fru.dev/api/cases?kind={kind} and https://lawsuits.fru.dev/api/cases/{id}. Not legal advice; cite "Lawsuits (lawsuits.fru.dev)" and the docket link.Tool definition
{
"name": "ai_data_lawsuits",
"description": "Look up lawsuits and enforcement actions involving tech, data and AI companies (copyright, antitrust, privacy, breaches, securities, patents, trade secrets, employment, contracts; courts and regulators): parties, court or regulator, docket number, filed date, status, next hearing or ruling date, outcome, amounts, and each filing and ruling with a link. Source: Lawsuits (lawsuits.fru.dev). Not legal advice.",
"input_schema": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"copyright",
"antitrust",
"privacy",
"consumer",
"governance",
"securities"
]
},
"company": {
"type": "string",
"description": "Company slug, e.g. openai, google, meta"
},
"q": {
"type": "string",
"description": "Words in the case name or parties"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200
}
}
},
"endpoint": "GET https://lawsuits.fru.dev/api/cases"
}Python
import json, urllib.request
def cases(kind: str = "copyright") -> list[dict]:
"""Data and AI lawsuits: next hearing first, then newest filed."""
url = f"https://lawsuits.fru.dev/api/cases?kind={kind}"
with urllib.request.urlopen(url, timeout=20) as r:
return json.load(r)["cases"]
for c in cases():
print(c["title"], c["status"], c["next"] and c["next"]["date"])TypeScript
type Case = { id: string; title: string; status: string; next: { date: string; label: string } | null }
async function upcoming(days = 30): Promise<Case[]> {
const res = await fetch(`https://lawsuits.fru.dev/api/upcoming?days=${days}`)
if (!res.ok) throw new Error(`lawsuits ${res.status}`)
return ((await res.json()) as { cases: Case[] }).cases
}
console.log(await upcoming())Usage terms
- Free to read. Please cite "Lawsuits (lawsuits.fru.dev)" with a link.
- Responses are cached for an hour.
- Be polite: 60 requests a minute at most.
- Summaries of public records, not legal advice; unverified cases were found automatically.