---
title: ToolRouter — Tool Detail
description: Detailed documentation for a ToolRouter tool including skills, parameters, and examples.
url: https://toolrouter.com/tools/case-law
---
# Legal Research

Legal research across 15+ jurisdictions. Cases: US, UK, India, Germany, Canada, Netherlands. Legislation: UK, US, EU, Germany, Japan, Canada, Poland, Sweden. Regulatory: CFR, Regulations.gov, FDA, EPA, NHTSA. Also: Congressional bills, US Code, 50 state legislatures, dockets, judges, citations.

- **Version:** 0.04
- **Categories:** data
- **Workflow:** search_cases → case_details → citation_analysis → search_legislation → legislation_details → search_cfr → search_regulations → search_fda → search_epa → search_vehicle_safety → search_congress → search_statutes → search_state_bills → search_dockets → search_judges

## Skills (15)

### Search Case Law (`search_cases`)

Search court opinions across jurisdictions. US, UK, India, Germany, Canada, Netherlands. Set country param to route (default: US). Returns case names, courts, dates, citations, excerpts.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search terms — case name, legal topic, party name, or citation |
| `country` | string | No | Jurisdiction: "US" (default), "UK", "IN" (India), "DE" (Germany), "CA" (Canada), "NL" (Netherlands). |
| `court` | string | No | Court filter — India: "supreme"/"high"/"tribunal". Canada: CanLII database ID (e.g. "csc-scc"). Germany: court slug. |
| `limit` | number | No | Maximum results to return (default: 20, max: 50) |
| `date_after` | string | No | Only cases filed after this date (YYYY-MM-DD) |
| `date_before` | string | No | Only cases filed before this date (YYYY-MM-DD) |

**Returns:** Case names, courts, dates, citations, excerpts, and URLs

**Examples:**

*Search US privacy case law:*

```json
{
  "query": "data privacy"
}
```

*UK court judgments:*

```json
{
  "query": "privacy injunction",
  "country": "UK"
}
```

*Indian Supreme Court cases:*

```json
{
  "query": "right to privacy Article 21",
  "country": "IN",
  "court": "supreme"
}
```

*Dutch court decisions:*

```json
{
  "query": "privacy",
  "country": "NL"
}
```

*Canadian case law:*

```json
{
  "query": "charter rights",
  "country": "CA"
}
```

### Case Details (`case_details`)

Get full details for a specific court case by its CourtListener cluster ID or citation string. Returns the full case name, court, filing date, all citations, opinion text excerpt, and citation count.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `case_id` | string | No | CourtListener cluster ID from search_cases results (e.g. "2245941") |
| `citation` | string | No | Case citation to search for (e.g. "410 U.S. 113", "175 Cal. App. 4th 545") |

**Returns:** Full case name, court, date, all citations, opinion excerpt, and citation count

**Examples:**

*Get case by cluster ID:*

```json
{
  "case_id": "2245941"
}
```

*Look up by citation:*

```json
{
  "citation": "410 U.S. 113"
}
```

### Citation Analysis (`citation_analysis`)

Analyze citation networks for a court case — find what it cites and what cites it. Supports US (CourtListener) and Canadian (CanLII) cases. For US, provide case_id or citation. For Canada, provide case_id, database_id, and country=CA.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `case_id` | string | No | Case ID — CourtListener cluster ID (US) or CanLII caseId (Canada) |
| `citation` | string | No | Case citation to look up (US only, e.g. "410 U.S. 113") |
| `country` | string | No | Jurisdiction: "US" (default) or "CA" (Canada) |
| `database_id` | string | No | CanLII database ID (required for Canada, e.g. "csc-scc") |

**Returns:** Citation counts, list of citing cases, and list of cited cases with metadata

**Examples:**

*Find what cites a US case:*

```json
{
  "case_id": "2245941"
}
```

*Citation network by citation string:*

```json
{
  "citation": "410 U.S. 113"
}
```

*Canadian citation analysis:*

```json
{
  "case_id": "abc123",
  "database_id": "csc-scc",
  "country": "CA"
}
```

### Search Legislation (`search_legislation`)

Search statutes and legislation across jurisdictions. UK, US, EU (default: all three), Germany, Japan, Canada, Poland, Sweden. Set country param to filter.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search terms — legislation title, legal topic, or keywords |
| `country` | string | No | Jurisdiction: "UK", "US", "EU", "DE", "JP", "CA", "PL" (Poland), "SE" (Sweden). Omit for UK+US+EU. |
| `year` | string | No | Filter by year (UK only, e.g. "2018") |
| `category` | number | No | Japan only: law category 1 (Constitution), 2 (Acts), 3 (Cabinet Orders), 4 (Imperial Orders) |
| `limit` | number | No | Maximum results per jurisdiction (default: 20, max: 50) |

**Returns:** Legislation titles, types, dates, summaries, and URLs grouped by jurisdiction

**Examples:**

*Search data protection laws across UK/US/EU:*

```json
{
  "query": "data protection"
}
```

*German employment law:*

```json
{
  "query": "Arbeitsrecht",
  "country": "DE"
}
```

*Japanese Acts:*

```json
{
  "query": "law",
  "country": "JP",
  "category": 2
}
```

*Canadian legislation:*

```json
{
  "query": "privacy",
  "country": "CA"
}
```

### Legislation Details (`legislation_details`)

Get full details for a specific piece of legislation by its identifier. UK: "ukpga/2018/12". US: Federal Register doc number "2025-23783". EU: CELEX number "32016R0679".

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `identifier` | string | Yes | Legislation identifier — UK: "ukpga/2018/12", US: "2025-23783", EU: "32016R0679" (CELEX) |
| `source` | string | No | Force source: "uk", "us", or "eu". Auto-detected from identifier format if omitted. (uk, us, eu) |

**Returns:** Full legislation title, description, sections/contents, dates, and links to full text

**Examples:**

*UK Data Protection Act 2018:*

```json
{
  "identifier": "ukpga/2018/12"
}
```

*US Federal Register document:*

```json
{
  "identifier": "2025-23783"
}
```

*EU GDPR:*

```json
{
  "identifier": "32016R0679",
  "source": "eu"
}
```

### Search Regulations (CFR) (`search_cfr`)

Search the Code of Federal Regulations — all 50 CFR titles covering every US federal regulation. Updated daily. Returns CFR references, section headings, and regulation text excerpts.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search terms — regulation topic, CFR section, or keywords (e.g. "HIPAA privacy", "food labeling") |
| `title` | number | No | Filter by CFR title number (1-50). E.g. 21=Food & Drugs, 26=IRS, 40=Environment |
| `limit` | number | No | Maximum results (default: 20, max: 50) |

**Returns:** CFR references (e.g. "40 CFR § 50.1"), headings, excerpts, and eCFR URLs

**Examples:**

*Environmental regulations:*

```json
{
  "query": "air quality standards"
}
```

*FDA food labeling:*

```json
{
  "query": "food labeling requirements",
  "title": 21
}
```

### Search Rulemaking (`search_regulations`)

Search federal rulemaking documents, proposed rules, and public comments on Regulations.gov. Covers all federal agencies (EPA, FDA, DOL, etc.). Find rules, notices, and comment periods.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search terms — rule topic, agency, or keywords (e.g. "emissions standards", "drug labeling") |
| `document_type` | string | No | Filter: "Rule", "Proposed Rule", "Notice", or "Other" |
| `agency` | string | No | Agency ID filter (e.g. "EPA", "FDA", "DOL", "SEC") |
| `limit` | number | No | Maximum results (default: 20, max: 50) |

**Returns:** Document IDs, titles, agencies, types, posted dates, docket IDs, comment status, and Regulations.gov URLs

**Examples:**

*EPA emission rules:*

```json
{
  "query": "emission standards",
  "agency": "EPA"
}
```

*FDA proposed rules:*

```json
{
  "query": "drug labeling",
  "document_type": "Proposed Rule"
}
```

### Search Statutes (US Code) (`search_statutes`)

Search the United States Code — all codified federal statutory law. Also searches public laws and Statutes at Large via GovInfo. Returns statute titles, citations, and links to full text.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search terms — statute title, topic, or US Code citation (e.g. "42 USC 1983", "civil rights") |
| `collection` | string | No | Collection: "USCODE" (default), "PLAW" (public laws), "STATUTE" (Statutes at Large) (USCODE, PLAW, STATUTE) |
| `limit` | number | No | Maximum results (default: 20, max: 50) |

**Returns:** Statute titles, package IDs, download links, and GovInfo URLs

**Examples:**

*Search civil rights statutes:*

```json
{
  "query": "civil rights"
}
```

*Public laws about education:*

```json
{
  "query": "education",
  "collection": "PLAW"
}
```

### Search Congressional Bills (`search_congress`)

Search US Congressional bills, resolutions, and enacted laws. Browse current and historical sessions, filter by bill type.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | No | Search terms — bill topic or keywords. Include "law" or "enacted" to search enacted laws. |
| `congress` | number | No | Congress session number (e.g. 119 for current). Defaults to current. |
| `bill_type` | string | No | Filter: "hr" (House bill), "s" (Senate bill), "hjres", "sjres" |
| `limit` | number | No | Maximum results (default: 20, max: 50) |

**Returns:** Bill numbers, titles, sponsors, latest actions, and congress.gov URLs

**Examples:**

*AI-related bills:*

```json
{
  "query": "artificial intelligence"
}
```

*Recent enacted laws:*

```json
{
  "query": "enacted law"
}
```

### Search State Bills (`search_state_bills`)

Search legislative bills across all 50 US states, DC, and Puerto Rico. Find state-level bills, resolutions, and legislative activity.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search terms — bill topic or keywords (e.g. "cannabis legalization", "rent control") |
| `state` | string | No | Two-letter state code (e.g. "ca", "ny"). Omit to search all states. |
| `limit` | number | No | Maximum results (default: 20, max: 50) |

**Returns:** Bill identifiers, titles, states, chambers, sessions, and Open States URLs

**Examples:**

*Cannabis legislation across states:*

```json
{
  "query": "cannabis legalization"
}
```

*California housing bills:*

```json
{
  "query": "affordable housing",
  "state": "ca"
}
```

### Search Dockets (`search_dockets`)

Search PACER/RECAP federal court dockets and filings. Access millions of federal district, appellate, and bankruptcy court filings from the RECAP archive.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search terms — case name, party, docket number, or topic |
| `limit` | number | No | Maximum results (default: 20, max: 50) |
| `date_after` | string | No | Only dockets filed after this date (YYYY-MM-DD) |
| `date_before` | string | No | Only dockets filed before this date (YYYY-MM-DD) |

**Returns:** Case names, courts, docket numbers, filing dates, and CourtListener URLs

**Examples:**

*Search for Apple patent dockets:*

```json
{
  "query": "Apple Inc patent infringement"
}
```

*Recent bankruptcy filings:*

```json
{
  "query": "chapter 11 bankruptcy",
  "date_after": "2024-01-01"
}
```

### Search Judges (`search_judges`)

Search judicial profiles — US federal and state judges with appointment details, courts, political affiliations, and biographical information.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search terms — judge name, court, or topic (e.g. "Roberts", "Ninth Circuit") |
| `limit` | number | No | Maximum results (default: 20, max: 50) |

**Returns:** Judge names, courts, appointment details, political affiliations, and profile URLs

**Examples:**

*Search for a specific judge:*

```json
{
  "query": "Sotomayor"
}
```

*Ninth Circuit judges:*

```json
{
  "query": "Ninth Circuit"
}
```

### Search FDA Data (`search_fda`)

Search FDA drug labels, adverse events, and device recalls via openFDA. Covers prescription drugs, OTC medications, medical device safety data.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search terms — drug name, ingredient, condition, or device type |
| `data_type` | string | No | Data type: "labels" (drug labeling, default), "events" (adverse events), "recalls" (device recalls) |
| `limit` | number | No | Maximum results (default: 20, max: 100) |

**Returns:** Drug label details, adverse event reports, or device recall information from FDA databases

**Examples:**

*Search aspirin drug labels:*

```json
{
  "query": "aspirin"
}
```

*Adverse events for a drug:*

```json
{
  "query": "metformin",
  "data_type": "events"
}
```

*Medical device recalls:*

```json
{
  "query": "pacemaker",
  "data_type": "recalls"
}
```

### Search EPA Enforcement (`search_epa`)

Search EPA enforcement and compliance data for regulated facilities. Covers Clean Air Act, Clean Water Act, and RCRA violations, inspections, and penalties.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search terms — facility name, company, or pollutant |
| `state` | string | No | Two-letter state code to filter (e.g. "NY", "CA") |
| `program` | string | No | Environmental program: "CAA" (Clean Air), "CWA" (Clean Water), "RCRA" (Hazardous Waste) |
| `limit` | number | No | Maximum results (default: 20, max: 50) |

**Returns:** Facility names, addresses, compliance status, violations, penalties, and inspection history

**Examples:**

*Search for Exxon facilities:*

```json
{
  "query": "Exxon"
}
```

*Clean Air Act violations in California:*

```json
{
  "query": "refinery",
  "state": "CA",
  "program": "CAA"
}
```

### Search Vehicle Safety (`search_vehicle_safety`)

Search NHTSA vehicle safety recalls by make, model, year, or keyword. Covers all manufacturer safety recalls with defect descriptions and remedies.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | No | Free-text search for recalls (e.g. "airbag", "brake failure") |
| `make` | string | No | Vehicle manufacturer (e.g. "toyota", "ford") |
| `model` | string | No | Vehicle model (e.g. "camry", "f150") |
| `year` | string | No | Model year (e.g. "2024") |

**Returns:** Recall campaign numbers, components, defect summaries, consequences, and remedies

**Examples:**

*Toyota Camry 2024 recalls:*

```json
{
  "make": "toyota",
  "model": "camry",
  "year": "2024"
}
```

*Search airbag recalls:*

```json
{
  "query": "airbag inflator"
}
```

## Quick Start

```bash
# Via CLI
TOOLROUTER_API_KEY=tr_live_xxx npx -y toolrouter-mcp call case-law search_cases --query data privacy

# Via REST API
curl -H "Authorization: Bearer tr_live_xxx" \
     -d '{"tool":"case-law","skill":"search_cases","input":{"query":"data privacy"}}' \
     https://api.toolrouter.com/v1/tools/call
```

## Frequently Asked Questions

### How do I search cases in a specific country?

`search_cases` supports the US, UK, India, Germany, Canada, and the Netherlands. Set `country` to route the query.

### What do I need for the full opinion text?

Use `case_details` with a CourtListener cluster ID or a citation string to get the case name, court, date, citations, and excerpt.

### Can I see what a case cites and who cites it?

`citation_analysis` maps the citation network for US and Canadian cases so you can trace precedent and follow-on treatment.

### Does this include statutes and regulations too?

Yes. Use `search_legislation`, `search_cfr`, `search_regulations`, `search_fda`, `search_epa`, `search_vehicle_safety`, `search_statutes`, `search_congress`, `search_state_bills`, `search_dockets`, or `search_judges` depending on the source you need.

---

## Get Started with ToolRouter

**Already connected?** Call any tool with `use_tool({ tool, skill, input })`. Browse tools with `discover` or visit https://toolrouter.com/llms-full.txt

**New to ToolRouter?** Connect with one command (no API key needed — auto-provisions on first use):

```bash
# MCP (Claude Code, Codex CLI)
claude mcp add toolrouter -- npx -y toolrouter-mcp

# MCP (Cursor, Windsurf, Cline, VS Code, Gemini CLI, Claude Desktop)
{"mcpServers":{"toolrouter":{"command":"npx","args":["-y","toolrouter-mcp"]}}}

# Claude Chat / Claude Cowork / Claude Mobile — add as a connector:
# Settings → Connectors → Add custom connector → URL: https://api.toolrouter.com/mcp

# ChatGPT — add as an app:
# Settings → Apps → Advanced settings → enable Developer mode → Create app → MCP Server URL: https://api.toolrouter.com/mcp

# CLI (works instantly, no restart needed)
npx -y toolrouter-mcp tools                    # browse all tools
npx -y toolrouter-mcp search "seo"             # search by keyword
npx -y toolrouter-mcp call seo analyze_page --url https://example.com
```

Free tools work immediately. For paid tools, visit https://toolrouter.com/claim to add credits.

All platforms: https://toolrouter.com/connect | Full catalog: https://toolrouter.com/llms-full.txt | Docs: https://toolrouter.com/docs