Congress.gov API: Get bill
Gets 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.
Unofficial. Not affiliated with or endorsed by Congress.gov.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Bill, required
bill Popular name, title, number or Congress.gov bill link, for example CHIPS and Science Act.
H.R. 4346
- Congress optional
congress Congress number or calendar year, for example 117 or 2022. Defaults to the most recent matching bill; a bare number uses the current Congress.
117
Whole number.
Input as JSON
{ "bill": "H.R. 4346", "congress": 117}Output
{ "link": "https://www.congress.gov/bill/117th-congress/house-bill/4346" , "status": "Became law - Public Law 117-167", "actions": [ { "date": "2022-08-09", "text": "Became Public Law No: 117-167." }, { "date": "2022-08-09", "text": "Signed by President." }, { "date": "2022-08-02", "text": "Presented to President." } ], "sponsor": "Rep. Ryan, Tim [D-OH-13]", "summary": "This act provides funds to support the domestic production of semiconductors and authorizes various programs and activities of the federal science agencies.\n\nDIVISION A--CHIPS ACT OF 2022\n\nCHIPS Act of 2022\n\n(Sec. 102) The act establishes and provides funding for the Creating Helpful Incentives to P…", "congress": 117, "bill_number": "H.R.4346", "policy_area": "Science, Technology, Communications", "short_title": "CHIPS and Science Act", "related_bills": [ { "link": "https://www.congress.gov/bill/117th-congress/house-bill/2471" , "title": "Consolidated Appropriations Act, 2022", "bill_number": "H.R.2471" }, { "link": "https://www.congress.gov/bill/117th-congress/house-bill/4222" , "title": "Capitol Police Retirement Reform Act of 2021", "bill_number": "H.R.4222" }, { "link": "https://www.congress.gov/bill/117th-congress/house-bill/4819" , "title": "National Nuclear University Research Infrastructure Reinvestment Act of 2021", "bill_number": "H.R.4819" } ], "sponsor_party": "Democratic", "sponsor_state": "OH", "official_title": "Making appropriations for Legislative Branch for the fiscal year ending September 30, 2022, and for other purposes.", "cosponsor_count": 0, "introduced_date": "2021-07-01", "latest_text_link": "https://www.congress.gov/bill/117th-congress/house-bill/4346/text/statute?statuteId=48173" }Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"congress.gov/get_bill","input":{"bill":"H.R. 4346","congress":117}}' # 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": "congress.gov/get_bill" , "input": { "bill": "H.R. 4346", "congress": 117 }})# 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": "congress.gov/get_bill" , "input": { "bill": "H.R. 4346", "congress": 117 } }), 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 congress.gov/get_bill# with {"bill":"H.R. 4346","congress":117}"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": [ "bill" ], "properties": { "bill": { "type": "string", "description": "Popular name, title, number or Congress.gov bill link, for example CHIPS and Science Act." }, "congress": { "type": "integer", "description": "Congress number or calendar year, for example 117 or 2022. Defaults to the most recent matching bill; a bare number uses the current Congress." } }, "additionalProperties": false}Output schema
{ "type": "object", "required": [ "bill_number", "short_title", "official_title", "congress", "sponsor", "sponsor_party", "sponsor_state", "cosponsor_count", "introduced_date", "status", "policy_area", "summary", "actions", "related_bills", "latest_text_link", "link" ], "properties": { "link": { "type": "string" }, "status": { "type": "string" }, "actions": { "type": "array", "items": { "type": "object", "required": [ "date", "text" ], "properties": { "date": { "type": "string" }, "text": { "type": "string" } }, "additionalProperties": false } }, "sponsor": { "type": [ "string", "null" ] }, "summary": { "type": [ "string", "null" ] }, "congress": { "type": "integer" }, "bill_number": { "type": "string" }, "policy_area": { "type": [ "string", "null" ] }, "short_title": { "type": [ "string", "null" ] }, "related_bills": { "type": "array", "items": { "type": "object", "required": [ "bill_number", "title", "link" ], "properties": { "link": { "type": "string" }, "title": { "type": "string" }, "bill_number": { "type": "string" } }, "additionalProperties": false } }, "sponsor_party": { "type": [ "string", "null" ] }, "sponsor_state": { "type": [ "string", "null" ] }, "official_title": { "type": [ "string", "null" ] }, "cosponsor_count": { "type": [ "integer", "null" ] }, "introduced_date": { "type": [ "string", "null" ] }, "latest_text_link": { "type": [ "string", "null" ] } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
congress.gov/get_bill- Returns
- bill number, titles, congress, sponsor, cosponsor count, status, policy area, summary, actions, related bills, latest text link
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 congress.gov/get_bill with the inputs above.
Ask your agent
- What's the current status of the Inflation Reduction Act and who sponsored it?
- Pull up H.R. 3684 from the 117th Congress on congress.gov — I need the official summary and the full list of actions.
- Find the Laken Riley Act and tell me how many cosponsors it has and what related bills exist.
- I need the policy area, titles, and latest text link for S. 2226 introduced in 2023.
- Look up https://www.congress.gov/bill/118th-congress/house-bill/2 on congress.gov and summarize where it stands.
See more
Gets the latest available revised text of a section of a UK Act from legislation.gov.uk, or the Act's section contents when no section is given. The outstanding-changes flag describes the Act and may include changes outside the selected section.
legislation.gov.uk/get_law_sectionSearch UK legislation by topic or title, with optional type and year filters. Closest title matches appear first; broader text matches fill remaining places.
legislation.gov.uk/search_legislationReads an NPR article by its link or headline and returns its text and publication details. For live blogs, returns the displayed updates.
npr.org/read_articleFinds a paper on Semantic Scholar by title, DOI or Semantic Scholar link and returns its abstract, one-sentence summary, authors, publication details, citation counts and a free PDF link when there is one.
semanticscholar.org/get_paperReads the full text and details of one public AP News article from its link or headline.
apnews.com/read_articleReads a CNN article by link or headline and returns its headline, summary, authors, dates, section, tags, main image and public paragraphs. Subscriber stories return only a brief public preview; live blogs include their entries.
cnn.com/read_articleReads the text and details of a BBC News article from its link or headline. Live coverage pages return the latest entries available.
bbc.com/read_articleFinds U.S. federal grant opportunities by topic, agency, applicant type and status, with funding and eligibility details. Open results exclude opportunities whose closing date has passed.
grants.gov/search_grants