Caselaw Access ApiSAFE
🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.
Overview
🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.
e1ba289846fdOBSERVED · 2026-10-08Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| openclaw | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: caselaw-access-api
description: "Query 360+ years of US case law via the Harvard Caselaw Access Project"
metadata:
openclaw:
emoji: "⚖️"
category: "domains"
subcategory: "law"
keywords: ["case law", "legal database", "court opinions", "Harvard law", "judicial data", "legal research"]
source: "https://case.law/"
---
# Caselaw Access Project API
## Overview
The Caselaw Access Project (CAP) by Harvard Law School provides free access to 6.9 million US court opinions spanning 360+ years. The REST API enables searching, filtering, and downloading full-text case opinions from all federal and state courts. No authentication required for metadata; API key (free registration) required for full text of post-1923 cases.
## API Endpoints
### Base URL
```
https://api.case.law/v1/
```
### Cases
```bash
# Search cases by keyword
curl "https://api.case.law/v1/cases/?search=free+speech&decision_date_min=2020-01-01"
# Get a specific case by ID
curl "https://api.case.law/v1/cases/12345678/"
# Filter by jurisdiction and court
curl "https://api.case.law/v1/cases/?jurisdiction=us&court=us-sup-ct&search=miranda+rights"
# Filter by date range
curl "https://api.case.law/v1/cases/?decision_date_min=2015-01-01&decision_date_max=2025-12-31"
# Get full text (requires API key for post-1923)
curl -H "Authorization: Token YOUR_API_KEY" \
"https://api.case.law/v1/cases/12345678/?full_case=true"
```
### Query Parameters
| Parameter | Description | Example |
|-----------|-------------|---------|
| `search` | Full-text search | `search=due+process` |
| `jurisdiction` | Filter by jurisdiction slug | `jurisdiction=cal` (California) |
| `court` | Filter by court slug | `court=us-sup-ct` |
| `decision_date_min` | Earliest date | `decision_date_min=2020-01-01` |
| `decision_date_max` | Latest date | `decision_date_max=2025-12-31` |
| `cite` | Search by citation | `cite=410+U.S.+113` |
| `name_abbreviation` | Case name | `name_abbreviation=Roe+v.+Wade` |
| `ordering` | Sort results | `ordering=-decision_date` |
| `page_size` | Results per page (max 100) | `page_size=50` |
| `full_case` | Include full text | `full_case=true` |
### Courts and Jurisdictions
```bash
# List all courts
curl "https://api.case.law/v1/courts/"
# List all jurisdictions
curl "https://api.case.law/v1/jurisdictions/"
# List all reporters (case report series)
curl "https://api.case.law/v1/reporters/"
```
## Python Usage
```python
import requests
BASE_URL = "https://api.case.law/v1"
def search_cases(query: str, jurisdiction: str = None,
court: str = None, max_results: int = 20) -> list:
"""Search US case law."""
params = {"search": query, "page_size": min(max_results, 100)}
if jurisdiction:
params["jurisdiction"] = jurisdiction
if court:
params["court"] = court
resp = requests.get(f"{BASE_URL}/cases/", params=params)
resp.raise_for_status()
data = resp.json()
cases = []
for case in data.get("results", []):
cases.append({
"id": case["id"],
"name": case["name_abbreviation"],
"citation": case["citations"][0]["cite"] if case.get("citations") else None,
"court": case["court"]["name"],
"date": case["decision_date"],
"url": case["frontend_url"]
})
return cases
# Search Supreme Court cases
results = search_cases("fourth amendment", court="us-sup-ct")
for case in results:
print(f"{case['citation']}: {case['name']} ({case['date']})")
```
## Bulk Data Access
For large-scale research, download bulk datasets instead of querying the API:
```bash
# Bulk data available at:
# https://case.law/bulk/download/
# Formats: JSON (full case data) or text-only
# Organized by jurisdiction and reporter
```
## Key Jurisdictions
| Slug | Jurisdiction | Cases |
|------|-------------|-------|
| `us` | Federal (all) | ~1.5M |
| `us-sup-ct` | US Supreme Court | ~65K |
| `cal` | California | ~500K |
| `ny` | New York | ~600K |
| `tex` | Texas | ~300K |
| `ill` | Illinois | ~250K |
## Authentication
```
1. Register at https://case.law/user/register/
2. Get API token from your account page
3. Include in requests: Authorization: Token YOUR_TOKEN
```
Free accounts get full text for pre-1923 cases. Post-1923 full text requires an API token (still free).
## References
- [CAP API Documentation](https://case.law/api/)
- [CAP Bulk Data](https://case.law/bulk/download/)
- [Harvard Library Innovation Lab](https://lil.law.harvard.edu/)Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
e1ba289846fdfull audit observations/trust-audit/skill/brycewang-stanford__caselaw-access-api.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | e1ba289846fd | SAFE | B | 89 | first audit |
Questions
What does the Caselaw Access Api skill do?
🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.
Is Caselaw Access Api safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Caselaw Access Api access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does Caselaw Access Api work with?
Its documentation mentions openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (e1ba289846fd), read on 2026-10-08. The repository is watched, and a new audit runs when it changes — this is the first audit.