Congress Stock Trades Data API
Pricing
from $8.00 / 1,000 congress trade rows
Congress Stock Trades Data API
Query US House and Senate STOCK Act stock trades as structured rows for MCP and APIs. Filter by politician, ticker, chamber, date range, and buy/sell. $0.008 per trade row.
Pricing
from $8.00 / 1,000 congress trade rows
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
16 hours ago
Last modified
Categories
Share
Turn a politician name, ticker, chamber, or date window into one STOCK Act trade disclosure row each. This Actor returns structured US House and Senate disclosures for MCP agents, journalists, compliance teams, and researchers: politician, party when available, ticker, asset, buy/sell, amount range, dates, and a public source URL.
Use it when you want a filter-first Congress trades feed across both chambers. For official House Clerk PTR PDFs only, start with US Stock Trades — House STOCK Act. For live quotes after you have tickers, continue with Stock Price Tracker.
Use when
- You need recently disclosed House and Senate equity or other reportable transactions as clean JSON rows.
- You already know a member such as
Keanor a ticker such asMIDDand want matching rows plus provenance without maintaining a multi-site disclosure scraper. - An MCP or research workflow needs delayed STOCK Act disclosures from both chambers in one call.
Related workflows
- For official House Clerk PTR PDFs with filing-year ZIP parsing, start with US Stock Trades — House STOCK Act.
- For company-insider Form 4 filings, continue with SEC EDGAR All-in-One Scraper.
- For current US quotes after you have a ticker list, continue with Stock Price Tracker.
Practical scenario
A political-risk analyst wants the newest Senate disclosures. They set chamber to Senate, leave other filters empty, and cap maxResults at 5. The Actor loads the public recent Congress trading feed, keeps Senate rows, and returns politician, ticker when present, transactionType, amountRange, dates, and sourceUrl. A date window with no matching trades finishes SUCCEEDED with VALID_EMPTY and no trade-row charge.
Quick start input
{"maxResults": 8,"chamber": "all","transactionType": "all","enrichDetail": false}
That prefill returns up to eight newest public House and Senate disclosure rows. Add tickers, politicianNames, or dates when you already know the symbol, member, or window.
Input reference
| Field | Type | What it controls |
|---|---|---|
politicianNames | array | Optional member name filters such as Kean. Empty means any filer in the recent feed. |
tickers | array | Optional symbols such as MIDD or AAPL. Empty means every disclosed symbol. |
chamber | enum | all, House, or Senate. |
transactionType | enum | all, purchase, sale, or exchange. Partial sales stay inside sale. |
startDate / endDate | string | Inclusive YYYY-MM-DD bounds on transaction dates. |
maxResults | integer | Billed row cap. Default 25, max 200. |
enrichDetail | boolean | When true with politician or ticker filters, also load matching public politician or ticker pages for deeper history. |
What data you receive
One dataset item is one disclosed STOCK Act transaction from the public Congress trading feed.
{"recordId": "house-k000398-185|amcr|sale|2026-08-10|$1,001---$15,000","politicianName": "Thomas H. Kean, Jr.","chamber": "House","party": "R","bioguideId": "K000398","ticker": "AMCR","assetName": "AMCOR PLC ORDINARY SHARES","assetType": "ST","transactionType": "sale","amountRange": "$1,001 - $15,000","amountMinUsd": 1001,"amountMaxUsd": 15000,"amountMidUsd": 8001,"transactionDate": "2026-08-10","disclosureDate": "2026-09-12","disclosureDelayDays": 33,"lateFiling": false,"sourceId": "House-K000398-185","sourceUrl": "https://www.quiverquant.com/congresstrading/","source": "quiverquant-congress-trading","scrapedAt": "2026-09-15T12:00:00.000Z"}
| Field | Meaning |
|---|---|
politicianName + chamber + party | Filer identity and chamber; party when the public source exposes it |
ticker + assetName | Symbol when listed, plus the asset description |
transactionType | purchase, partial-purchase, sale, partial-sale, or exchange |
amountRange | STOCK Act band, not an exact fill price |
transactionDate / disclosureDate | Trade date and disclosure date as YYYY-MM-DD |
sourceUrl | Public provenance page used for the row |
OUTPUT and RUN_SUMMARY in the default key-value store hold outcome, itemsPushed, and chargedEventCounts.
Use through the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~congress-stock-trades-data-api/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"maxResults":8,"chamber":"all","transactionType":"all"}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/congress-stock-trades-data-api').call({maxResults: 8,chamber: 'all',transactionType: 'all',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Download rows as JSON, CSV, Excel, or HTML from the Dataset tab.
Use with AI agents through Apify MCP
Get the newest US Congress STOCK Act stock trades for both House and Senate. Return politicianName, chamber, ticker, transactionType, transactionDate, amountRange, and sourceUrl. Cap at eight rows.
Connect via https://mcp.apify.com. Read OUTPUT.outcome before retrying an empty dataset. Cost signal: $0.008 per saved trade plus platform usage. Scope is delayed public disclosures; live exchange tape stays outside this tool.
Connect the workflow
- For official House Clerk PTR PDFs, start with US Stock Trades — House STOCK Act when you need filing PDFs rather than a both-chamber feed.
- For company-insider Form 4 filings, continue with SEC EDGAR All-in-One Scraper.
- For current US quotes after you have a ticker list, continue with Stock Price Tracker.
Pricing
This Actor uses Pay per event plus Apify platform usage. The live Pricing tab is the current source of truth for billing details.
apify-actor-start: $0.00005 at starttrade-row: $0.008 per saved Congress disclosure row
Worked example: a one-trade lookup bills $0.00805 in events ($0.008 + start). A short HTTP job usually adds a few tenths of a millidollar of platform usage, so the customer total stays near $0.0083 with usage pass-through. Eight billed trades are $0.06405 in events plus the same short job. Empty matches and invalid input have no trade-row charge.
How it works
- Load the public Quiver Quantitative Congress trading page and parse the embedded recent-trades table.
- Optionally enrich matching politician or ticker pages when
enrichDetailis on. - Apply politician, ticker, chamber, date, and transaction filters, then cap with
maxResults. - Charge
trade-rowonly after a validated row is ready, then write the dataset item.
Best results
- Leave filters empty when you want the latest disclosures; add a ticker or politician only when you can accept a
VALID_EMPTYmiss in a narrow window. - Keep
enrichDetailoff for fast MCP calls. Turn it on when you need deeper history for a known member or symbol that appears in the recent feed. - Amounts are statutory ranges.
amountMidUsdis a convenience midpoint, not a fill price. - Date filters apply to transaction dates, not disclosure filing dates.
Troubleshooting
| Symptom | Likely cause | What to do |
|---|---|---|
VALID_EMPTY, zero rows | No matching ticker, member, chamber, or date in the loaded pages | Clear filters, widen the date window, or enable enrichDetail for a known member/ticker |
Fewer rows than maxResults | The recent feed simply has fewer matching trades | Raise maxResults only after confirming matches exist, or clear filters |
| Politician enrich stays empty | The member is outside the recent feed, so no bioguide URL can be resolved | Run without enrich first, or use a member visible in the newest disclosures |
INVALID_INPUT | Bad date order or invalid tickers | Use YYYY-MM-DD with start ≤ end, and real symbols such as AAPL |
UPSTREAM_FAILED | Public feed page unavailable | Retry; Residential fallback activates only after direct HTTP does not succeed |
Builder's note
I found that official Senate eFD search often returns an edge challenge to plain HTTP clients, while the public Quiver Quantitative Congress trading page embeds a ready House-and-Senate recent-trades table. That is why this SKU is filter-first over that public aggregator, and why official House PTR PDF extraction stays in a separate Actor for callers who need Clerk PDFs.
Legal and responsible use
STOCK Act filings are public legislative records. Quiver Quantitative is an independent third-party aggregator of those disclosures. The US House, US Senate, Clerk of the House, and Quiver Quantitative are named here only as sources. This independent Actor is not affiliated with, associated with, or endorsed by Quiver Quantitative, the US House, the US Senate, or the Clerk of the House. Output is delayed disclosure data for journalism, compliance, and research — not live exchange tape or investment advice. Follow applicable law and your own compliance review.
Issues and feature requests: use the Actor Issues tab on Apify.