Capitol Trades API Alternative: A Documented Congress Trades API
Capitol Trades has no public API, and the House and Senate Stock Watcher sites no longer resolve. Here is a documented congressional trading API, the endpoint mapping from the old bulk JSON dumps, and a working call.
If you searched for a capitol trades api, a house stock watcher api, or a senate stock watcher api, here is the short answer: none of the three offers one today. Capitol Trades is a research website with no public, self-serve API. House Stock Watcher and Senate Stock Watcher were open-source community projects whose sites no longer resolve and whose public data files are no longer served. If you are building software or an AI agent that needs congressional trading data, you need a documented, keyed API.
SentiSense is not affiliated with, or endorsed by, Capitol Trades, 2iQ Research, House Stock Watcher, or Senate Stock Watcher. We build a documented market data API. This post exists because developers and AI agents keep searching for those names and finding nothing that answers the question.
If you came for a working call rather than the backstory, this is GET /api/v1/politicians/activity:
curl -H "X-SentiSense-API-Key: $SENTISENSE_API_KEY" \
"https://app.sentisense.ai/api/v1/politicians/activity?lookbackDays=90&limit=50"
Both chambers in one response, sorted by disclosure date, with the STOCK Act amount range parsed into amountMin and amountMax. An API key is free to generate; a free key returns the top 5 rows of that window, and PRO returns the whole thing.
Does Capitol Trades have an API?
Not a public one. Capitol Trades is a research site operated by 2iQ Research, which sells data feeds and API access commercially through a sales conversation rather than a documented endpoint you can sign up for and call. No self-serve key, no published schema, no rate-limit contract. The third-party scrapers built against the site are themselves the evidence.
Are House Stock Watcher and Senate Stock Watcher still running?
No, not as services. Both were genuinely useful volunteer projects that made STOCK Act filings machine-readable years before anyone else bothered. As of August 2026, though, housestockwatcher.com and senatestockwatcher.com publish no address record, so neither site loads, and the public S3 URLs that served the bulk JSON return 403.
The Senate data repository is still on GitHub and readable, with aggregate/all_transactions.json and the per-ticker files intact, but its last commit was March 2021: an archive, not a feed. Community mirrors of the House filings also turn up on GitHub and some update daily, but a volunteer snapshot is not an API: no schema guarantee, no versioning, no support path, and no notice on the day it stops.
The documented equivalent
If you were consuming the bulk files, the mapping is direct:
| You were reading | The documented equivalent |
|---|---|
aggregate/all_transactions.json (whole dump, then filter by date) |
GET /api/v1/politicians/activity?lookbackDays=90 |
all_transactions_for_senators.json (per-member slice) |
GET /api/v1/politicians/member/{slug} |
all_ticker_transactions.json (per-ticker slice) |
GET /api/v1/politicians/filings/{ticker} |
| A hand-maintained roster of members and their ids | GET /api/v1/politicians/directory |
| Counting rows yourself to rank the active traders | GET /api/v1/politicians/members, sorted by trade count |
Start with /directory. It is not tier-gated, so a free key gets the complete roster, including members who have left Congress, plus the slug the other endpoints expect.
What the data actually covers
Records are parsed from the official STOCK Act disclosures themselves, House Clerk periodic transaction reports and Senate electronic financial disclosure filings, rather than a downstream aggregator feed. Both chambers, updated daily.
Each trade carries the member's name, chamber, party, state, and Bioguide id, the ticker and asset description, the transaction type, both dates plus the delay between them, the amount range with parsed minimum and maximum, and who made the trade (self, spouse, child, or joint). Stock options come with a structured assetMetadata object holding the option type, strike, and expiration. The full field list is in the Politicians Trading API reference.
One detail worth knowing before you build: the STOCK Act gives members 45 days to disclose, so a filing that arrives today can describe a trade made weeks ago. Both dates and the gap between them are exposed, so you can sort by whichever one your strategy cares about.
How do I pull congressional trades in Python?
Two endpoints cover almost every use case: /activity for the whole chamber and /filings/{ticker} for one stock. This runs on a free key, with requests and nothing else installed.
import os
import requests
BASE = "https://app.sentisense.ai/api/v1/politicians"
HEADERS = {"X-SentiSense-API-Key": os.environ["SENTISENSE_API_KEY"]}
def show(rows):
for t in rows:
print(
f"{t['disclosureDate']} {t['politicianName']:<22} "
f"{t['transactionType']:<8} {t['ticker']:<6} "
f"${t['amountMin']:,}-${t['amountMax']:,}"
)
# Recent trades across every member we track
activity = requests.get(
f"{BASE}/activity", headers=HEADERS, params={"lookbackDays": 90, "limit": 5}
).json()
print(f"window holds {activity['totalCount']} trades")
show(activity["data"])
# Every congressional trade in one stock
filings = requests.get(f"{BASE}/filings/NVDA", headers=HEADERS).json()
print()
show(filings["data"][:3])
Output:
window holds 1646 trades
2026-09-10 April Delaney SALE PAYX $100,001-$250,000
2026-09-10 April Delaney SALE SGI $100,001-$250,000
2026-09-10 April Delaney SALE EME $100,001-$250,000
2026-09-10 April Delaney SALE TDG $100,001-$250,000
2026-09-10 April Delaney SALE BWXT $100,001-$250,000
2026-09-09 Cory Booker SALE NVDA $15,001-$50,000
2026-09-07 Gilbert Cisneros PURCHASE NVDA $1,001-$15,000
2026-09-07 Gilbert Ray Cisneros PURCHASE NVDA $1,001-$15,000
The row counts above are what a free key returns, which is why the example asks for exactly those. On a free key /activity and /members return the first 5 rows, /filings/{ticker} returns 3, and a member profile carries 5 recent trades with the profile and top tickers left whole. totalCount always reports the real size of the window, so you can see what you are not getting. PRO lifts all four to the full feed, up to 500 rows a page.
If you want to compare the trackers themselves before picking a source, see the best congressional trading trackers in 2026.
If an AI agent sent you here
- The machine-readable API reference lives at sentisense.ai/skill.md.
- Claude Code, OpenClaw, and Codex users can install the skill directly:
npx skills add SentiSenseApp/skills. - Claude users can add the hosted MCP connector for the same data over MCP.
No credit card required. Generate a free API key and pull the last 90 days of congressional trades in under a minute.