Capitol Trades API: List recent congressional trades
Lists the newest disclosed congressional stock trades on Capitol Trades, optionally filtered by company, party, chamber and trade type.
Unofficial. Not affiliated with or endorsed by Capitol Trades.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Party optional
party Political party, such as democrat.
any (default)
One of
any,democrat,republican.- Chamber optional
chamber Congress chamber, such as senate.
any (default)
One of
any,house,senate.- Company optional
company Company name or ticker, such as Microsoft or MSFT.
Not set
- Trade Type optional
trade_type Transaction type, such as buy.
any (default)
One of
any,buy,sell.- Max Results optional
max_results Maximum number of trades to return, such as 25.
25
Whole number from 1 to 100. Default
25.
Input as JSON
{ "max_results": 25}Output
{ "trades": [ { "party": "Republican", "state": "KY", "ticker": "EA:US", "chamber": "House", "currency": "USD", "trade_date": "2026-08-05", "trade_link": "https://www.capitoltrades.com/trades/20003802930" , "trade_type": "Sell", "amount_range": "1K–15K", "amount_low_usd": 1000, "amount_high_usd": 15000, "disclosure_date": "2026-09-28", "politician_name": "Hal Rogers", "company_or_asset_name": "Electronic Arts Inc" }, { "party": "Republican", "state": "OK", "ticker": "AAPL:US", "chamber": "House", "currency": "USD", "trade_date": "2026-09-08", "trade_link": "https://www.capitoltrades.com/trades/20003802830" , "trade_type": "Sell", "amount_range": "1K–15K", "amount_low_usd": 1000, "amount_high_usd": 15000, "disclosure_date": "2026-09-28", "politician_name": "Kevin Hern", "company_or_asset_name": "Apple Inc" }, { "party": "Republican", "state": "OK", "ticker": "AAPL:US", "chamber": "House", "currency": "USD", "trade_date": "2026-09-08", "trade_link": "https://www.capitoltrades.com/trades/20003802831" , "trade_type": "Sell", "amount_range": "1K–15K", "amount_low_usd": 1000, "amount_high_usd": 15000, "disclosure_date": "2026-09-28", "politician_name": "Kevin Hern", "company_or_asset_name": "Apple Inc" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"capitoltrades.com/list_recent_trades","input":{"max_results":25}}' # 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": "capitoltrades.com/list_recent_trades" , "input": { "max_results": 25 }})# 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": "capitoltrades.com/list_recent_trades" , "input": { "max_results": 25 } }), 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 capitoltrades.com/list_recent_trades# with {"max_results":25}"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", "properties": { "party": { "enum": [ "any", "democrat", "republican" ], "type": "string", "default": "any", "description": "Political party, such as democrat." }, "chamber": { "enum": [ "any", "house", "senate" ], "type": "string", "default": "any", "description": "Congress chamber, such as senate." }, "company": { "type": "string", "description": "Company name or ticker, such as Microsoft or MSFT." }, "trade_type": { "enum": [ "any", "buy", "sell" ], "type": "string", "default": "any", "description": "Transaction type, such as buy." }, "max_results": { "type": "integer", "default": 25, "maximum": 100, "minimum": 1, "description": "Maximum number of trades to return, such as 25.", "x-fous-developer": true } }, "additionalProperties": false}Output schema
{ "type": "object", "required": [ "trades" ], "properties": { "trades": { "type": "array", "items": { "type": "object", "required": [ "politician_name", "party", "chamber", "state", "company_or_asset_name", "ticker", "trade_type", "amount_range", "amount_low_usd", "amount_high_usd", "currency", "trade_date", "disclosure_date", "trade_link" ], "properties": { "party": { "type": [ "string", "null" ] }, "state": { "type": [ "string", "null" ] }, "ticker": { "type": [ "string", "null" ] }, "chamber": { "type": [ "string", "null" ] }, "currency": { "type": "string" }, "trade_date": { "type": [ "string", "null" ] }, "trade_link": { "type": "string" }, "trade_type": { "type": [ "string", "null" ] }, "amount_range": { "type": [ "string", "null" ] }, "amount_low_usd": { "type": [ "number", "null" ] }, "amount_high_usd": { "type": [ "number", "null" ] }, "disclosure_date": { "type": [ "string", "null" ] }, "politician_name": { "type": [ "string", "null" ] }, "company_or_asset_name": { "type": [ "string", "null" ] } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
capitoltrades.com/list_recent_trades- Returns
- politician, party, chamber, state, company, ticker, trade type, amount range, trade and disclosure dates, 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 capitoltrades.com/list_recent_trades with the inputs above.
Ask your agent
- Show me the latest stock purchases of NVDA by senators
- Which Republican House members have recently sold Tesla shares? Pull from capitoltrades.com
- Get the 50 most recent disclosed trades by members of Congress, any party
- What are Democrats in Congress buying lately? List the newest buy transactions with amounts and disclosure dates
- On Capitol Trades, find recent congressional trades in Microsoft and include the politician, state, and amount range
See more
All Capitol Trades methodsSee a member of Congress's disclosed trades from a chosen date, newest trade first. Capitol Trades provides up to three years of history; prices and other details may be unavailable for some trades.
capitoltrades.com/get_politician_tradesLists stock transactions reported on Form 4 filings by a company's officers, directors and major owners, newest first. Trades without a reported price have no calculated value.
sec.gov/list_insider_tradesLists recent Form 4 insider trades on Finviz, optionally for one company or ticker and filtered to buys, sales, or both.
finviz.com/list_insider_tradesFinds a public company by name or ticker in SEC EDGAR and lists its filings, newest first, optionally narrowed by filing type and filing date.
sec.gov/get_company_filingsFinds PolitiFact fact checks matching a claim, topic, or person, newest first. An exact person match returns that person's checked statements; otherwise fact-check text is searched. An optional Truth-O-Meter rating filters the results.
politifact.com/search_fact_checksLists CNBC article headlines in the order they appear on a public news section page, with summary, time, authors and image.
cnbc.com/list_headlinesFinds publicly listed stocks in a country, filtered by sector, US-dollar market cap band and minimum dividend yield, in the requested order. Quotes may be delayed.
tradingview.com/screen_stocksLists a UK company's Companies House filings, newest first, with date, form code, type, description, page count and PDF link. Finds the company by name, company number or Companies House link; a category picks accounts, confirmation statements, officers, address, capital, charges or incorporation filings.
find-and-update.company-information.service.gov.uk/list_filing_history