Twelve tools covering member profiles, trade history, committee conflicts, ticker activity, and aggregate breakdowns. All query live data — no cache, no 24-hour paywall.
get_committee_trading
Committee Trading Activity
For a given congressional committee, returns which members traded stock in the last N days, their trade counts, and the percentage of the committee that traded.
| Param | Type | Note |
| committee_name * |
string |
"Armed Services", "Finance", partial match OK |
| days |
integer (1-365) |
Look-back window, default 90 |
Returns:
{ committee: "Armed Services", total_members: 26, members_who_traded: 10, pct_traded: 38, members: [...] }
get_member_trades
Member Trades
Returns stock trades disclosed by a specific member of Congress, with optional filters for ticker symbol and date window.
| Param | Type | Note |
| member_name * |
string |
Full name, e.g. "Nancy Pelosi" |
| ticker |
string |
e.g. "NVDA" |
| days |
integer (1-3650) |
Only trades within last N days |
| limit |
integer (1-200) |
Default 50 |
Returns:
{ member: "Nancy Pelosi", count: 50, trades: [{ ticker, asset_name, tx_type, amount_range, trade_date, ... }] }
get_top_traders
Top Traders
Returns the most active stock traders in Congress by trade count, optionally filtered by chamber (House or Senate) and date window.
| Param | Type | Note |
| chamber |
"House" | "Senate" |
Filter by chamber |
| days |
integer (1-3650) |
Default 90 |
| limit |
integer (1-50) |
Default 10 |
Returns:
{ traders: [{ politician, party, chamber, trade_count, buys, sells, last_trade_date }] }
get_trade_feed
Trade Feed
Recent congressional stock trades with optional filters for politician, ticker, party, chamber, and transaction type. Newest first.
| Param | Type | Note |
| politician |
string |
Substring match |
| ticker |
string |
Exact ticker |
| party |
"D" | "R" | "I" |
|
| chamber |
"House" | "Senate" |
|
| tx_type |
"Purchase" | "Sale" |
|
| limit |
integer (1-100) |
Default 20 |
Returns:
{ count: 20, trades: [{ politician, ticker, tx_type, amount_range, trade_date, disclosure_date, ... }] }
get_member_profile
Member Profile
Full trading profile for a member: total trades, buys/sells, average return vs S&P 500 (relative_perf_pct = member avg − SPX avg), committees, and date range.
| Param | Type | Note |
| member_name * |
string |
Full name |
Returns:
{ member, party, chamber, total_trades, buys, sells, avg_return_pct, avg_sp500_pct, relative_perf_pct, committees: [...] }
get_trades_by_ticker
Trades by Ticker
All congressional trades for a specific stock ticker symbol, newest first. Optional date window.
| Param | Type | Note |
| ticker * |
string |
e.g. "AAPL" |
| days |
integer (1-3650) |
Look-back window |
| limit |
integer (1-200) |
Default 50 |
Returns:
{ ticker: "AAPL", count: 50, trades: [{ politician, party, chamber, tx_type, trade_date, ... }] }
get_ticker_buyers
Ticker Buyers
Every Congress member who bought a specific ticker in the last N days, aggregated per politician with total trade count and estimated dollar midpoint.
| Param | Type | Note |
| ticker * |
string |
e.g. "NVDA" |
| days |
integer (1-365) |
Default 90 |
Returns:
{ ticker: "NVDA", count: 8, buyers: [{ politician, buy_count, total_midpoint, latest_trade_date }] }
get_top_tickers
Top Tickers
Most-traded stock tickers by Congress in the last N days, with trade count, distinct trader count, buy/sell split, and average return.
| Param | Type | Note |
| days |
integer (1-3650) |
Default 90 |
| limit |
integer (1-50) |
Default 10 |
Returns:
{ tickers: [{ ticker, asset_name, trade_count, trader_count, buys, sells, avg_price_change_pct }] }
get_party_breakdown
Party Breakdown
Trade counts broken down by party (D/R/I/other), with buy/sell split, trader count, volume, and percentage share. Optional date filter.
| Param | Type | Note |
| days |
integer (1-3650) |
Look-back window |
Returns:
{ total_trades: 1847, breakdown: [{ party: "D", trade_count, trader_count, buys, sells, pct }] }
get_chamber_breakdown
Chamber Breakdown
Trade counts broken down by chamber (House vs Senate), with buy/sell split, trader count, volume, and percentage share. Optional date filter.
| Param | Type | Note |
| days |
integer (1-3650) |
Look-back window |
Returns:
{ total_trades: 1847, breakdown: [{ chamber: "House", trade_count, trader_count, buys, sells, pct }] }
get_aggregate_stats
Aggregate Stats
High-level database summary: total trades (all-time + 30/60/90d), distinct members tracked, average disclosure lag, and top 5 sectors.
| Param | Type | Note |
| No parameters. |
Returns:
{ total_trades_all_time: 35000, total_trades_30d, total_trades_60d, total_trades_90d, total_members_tracked, avg_disclosure_lag_days, top_sectors }
search_members_and_tickers
Search
Fuzzy search across politician names, ticker symbols, and asset names. Returns top matches ordered by trade count.
| Param | Type | Note |
| query * |
string (min 1 char) |
Partial name or ticker |
| limit |
integer (1-50) |
Default 10 |
Returns:
{ query: "pelosi", members: [{ politician, party, chamber, trade_count }], tickers: [...] }