KnowJudges API
Connect an AI to source-linked judge data.
The read-only REST API gives an AI a predictable way to find a judge, retrieve the public profile, inspect courtroom presentation guidance, and find court decisions involving AI-generated legal errors. Sources stay attached; decision links are returned only when an official court, PACER, or government destination is verified.
v1.0.5 · schema kyj-canonical-v1 · 30,260 canonical judge profile URLs
Shared public allowance
Built for focused research, not bulk extraction
API and MCP requests share one allowance for each public client or network. A request blocked by either window returns HTTP 429.
- Hourly
- 20 requests
- Daily
- 100 requests
Need a dataset, recurring feed, or higher-volume access? Contact us about bulk data access.
Quick start
Give your AI a small HTTP tool
- Search with
/v1/judges/search to resolve the correct judge slug. - Fetch
/v1/judges/{slug} or a focused /biography or /courtroom-rules endpoint. - Instruct the AI to preserve each finding's
scope and cite source_url. - Treat courtwide or statewide guidance as applicable public guidance, never as proof of a judge's personal preference.
Test the search endpoint
curl "https://api.knowjudges.com/v1/judges/search?q=Boasberg&state=DC&limit=5"
Search AI abuse court cases
curl "https://api.knowjudges.com/v1/ai-abuse-cases/search?q=fabricated&state=New%20York&limit=5"
AI function calling
Recommended tool flow
Use a function or action named find_judges, then let the model call a second function for the selected profile. A minimal first-tool schema can look like this:
{
"name": "find_judges",
"description": "Find a US judge in KnowJudges",
"parameters": {
"type": "object",
"properties": {
"q": { "type": "string" },
"state": { "type": "string" }
},
"required": ["q"]
}
}
For platforms that import OpenAPI actions, use the published OpenAPI document.
Application example
Read provenance with every finding
const response = await fetch(
"https://api.knowjudges.com/v1/judges/james-emanuel-boasberg"
);
const profile = await response.json();
for (const finding of profile.findings) {
console.log(finding.scope, finding.summary, finding.source_url);
}
Do not strip the source, scope, effective date, or last-verified fields when passing results into a model.
Endpoint reference
Public REST endpoints
GET /v1/judges/searchResolve a judge by name, court, state, or county.GET /v1/ai-abuse-cases/searchFind up to 10 source-linked AI-generated legal error decisions.GET /v1/judges/{slug}Retrieve the source-linked public profile.GET /v1/judges/{slug}/biographyRetrieve public background facts with field-level evidence and research status.GET /v1/judges/{slug}/courtroom-rulesFocus on presentation topics.GET /v1/courts/{court_slug}/judgesList a bounded set of indexed judges.GET /v1/changesRead tracked public changes from the launch date onward.
See the live API reference and API catalog.