用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ThomasMoreAI/legal-skills-open --skill caselaw-access-api命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | caselaw-access-api |
| title | Caselaw Access Project API |
| description | Query 360+ years of US case law via the Harvard Caselaw Access Project |
| author | wentorai |
| author_url | https://github.com/wentorai/research-plugins/tree/main/skills/domains/law/caselaw-access-api |
| license | MIT |
| version | 0.1.0 |
| execution_mode | open |
| jurisdiction | us |
| practice | litigation |
| language | en |
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.
https://api.case.law/v1/
# 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"
| 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 |
# 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/"
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']})")
For large-scale research, download bulk datasets instead of querying the API:
# Bulk data available at:
# https://case.law/bulk/download/
# Formats: JSON (full case data) or text-only
# Organized by jurisdiction and reporter
| 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 |
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).