Oyez API: Get Supreme Court case
Finds an Oyez Supreme Court case by name or case link and returns its summary, decision, justice votes and argument audio links.
Unofficial. Not affiliated with or endorsed by Oyez.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Case, required
case Case name or Oyez case link, for example Brown v. Board of Education or https://www.oyez.org/cases/2021/19-1392.
Brown v. Board of Education
- Term optional
term Supreme Court term year to choose between similar names, for example 1953. Omit to choose the closest matching case.
Not set
Whole number.
Input as JSON
{ "case": "Brown v. Board of Education"}Output
{ "term": "1953", "citation": "347 U.S. 483 (1954)", "decision": "for Brown et al.", "question": "Does the segregation of public education based solely on race violate the Equal Protection Clause of the Fourteenth Amendment?", "case_name": "Brown v. Board of Education of Topeka (1)", "oyez_link": "https://www.oyez.org/cases/1940-1955/347us483" , "conclusion": "Separate but equal educational facilities for racial minorities is inherently unequal, violating the Equal Protection Clause of the Fourteenth Amendment. Chief Justice Earl Warren delivered the opinion of the unanimous Court. The Supreme Court held that “separate but equal” facilities are inherently…", "vote_split": "9-0", "date_argued": "1952-12-09", "lower_court": "Federal district court", "date_decided": "1954-05-17", "docket_number": "1", "justice_votes": [ { "name": "Earl Warren", "vote": "majority" }, { "name": "Hugo L. Black", "vote": "majority" }, { "name": "Stanley Reed", "vote": "majority" } ], "facts_of_the_case": "This case was the consolidation of cases arising in Kansas, South Carolina, Virginia, Delaware, and Washington D.C. relating to the segregation of public schools on the basis of race. In each of the cases, African American students had been denied admittance to certain public schools based on laws a…", "argument_audio_links": [], "majority_opinion_author": "Earl Warren"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"oyez.org/get_supreme_court_case","input":{"case":"Brown v. Board of Education"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "oyez.org/get_supreme_court_case" , "input": { "case": "Brown v. Board of Education" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "oyez.org/get_supreme_court_case" , "input": { "case": "Brown v. Board of Education" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run oyez.org/get_supreme_court_case# with {"case":"Brown v. Board of Education"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "case" ], "properties": { "case": { "type": "string", "description": "Case name or Oyez case link, for example Brown v. Board of Education or https://www.oyez.org/cases/2021/19-1392." }, "term": { "type": "integer", "description": "Supreme Court term year to choose between similar names, for example 1953. Omit to choose the closest matching case." } }, "additionalProperties": false}Output schema
{ "type": "object", "required": [ "case_name", "docket_number", "term", "citation", "facts_of_the_case", "question", "conclusion", "date_argued", "date_decided", "vote_split", "decision", "majority_opinion_author", "justice_votes", "lower_court", "argument_audio_links", "oyez_link" ], "properties": { "term": { "type": [ "string", "null" ] }, "citation": { "type": [ "string", "null" ] }, "decision": { "type": [ "string", "null" ] }, "question": { "type": [ "string", "null" ] }, "case_name": { "type": "string" }, "oyez_link": { "type": "string" }, "conclusion": { "type": [ "string", "null" ] }, "vote_split": { "type": [ "string", "null" ] }, "date_argued": { "type": [ "string", "null" ], "format": "date" }, "lower_court": { "type": [ "string", "null" ] }, "date_decided": { "type": [ "string", "null" ], "format": "date" }, "docket_number": { "type": [ "string", "null" ] }, "justice_votes": { "type": "array", "items": { "type": "object", "required": [ "name", "vote" ], "properties": { "name": { "type": "string" }, "vote": { "type": "string" } }, "additionalProperties": false } }, "facts_of_the_case": { "type": [ "string", "null" ] }, "argument_audio_links": { "type": "array", "items": { "type": "string" } }, "majority_opinion_author": { "type": [ "string", "null" ] } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
oyez.org/get_supreme_court_case- Returns
- case name, docket number, term, citation, question, conclusion, decision, vote split, justice votes, argument audio links
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method oyez.org/get_supreme_court_case with the inputs above.
Ask your agent
- Can you pull up the Supreme Court case Brown v. Board of Education and tell me the vote split and who dissented?
- I need the decision summary and justice votes for Miranda v. Arizona from the 1965 term.
- Find the Oyez entry for https://www.oyez.org/cases/2021/19-1392 and list its docket number and conclusion.
- What were the main question and the argument audio links for Loving v. Virginia?
- Look up Roe v. Wade on oyez.org, the 1971 term version, and give me the citation and the justices' votes.
See more
All Oyez methodsLists Oyez Supreme Court cases for a term, sorted by argument date then name. Decision dates and vote splits are blank where Oyez does not provide them.
oyez.org/list_term_casesFinds a US court opinion on CourtListener by case name, citation, or opinion link, and returns its metadata, opinions, judges, citing-case count and the lead opinion's full text from its PDF.
courtlistener.com/get_court_opinionSearches CourtListener US court opinions by keywords or case name, with optional court, decision dates and sorting.
courtlistener.com/search_case_lawFinds federal RECAP dockets involving a named person or company, newest filed first. Only dockets in the RECAP Archive appear.
courtlistener.com/search_federal_docketsSearches UK court judgments and tribunal decisions on Find Case Law by keywords or party names. Results can be filtered by court and by judgment date.
caselaw.nationalarchives.gov.uk/search_judgmentsGets the status, official summary, titles, actions and related bills for one U.S. bill on Congress.gov, found by popular name, title, number or link. A missing summary or text is returned as null.
congress.gov/get_billGets Rotten Tomatoes critic and audience scores and title details for a movie or TV show, optionally for one TV season. Audience rating counts may be unavailable for series.
rottentomatoes.com/get_scoresFinds US trademark filings matching a brand name, optionally limited to likely goods or service classes. Exact marks come first, similar marks follow; not a legal clearance opinion.
uspto.gov/search_trademarks