If you want congressional stock trades in your own code, a spreadsheet or an AI agent, you have three kinds of options. This post compares them by price model, coverage and the fields you get back, so you can pick one without signing up for five trials.
Prices checked October 2026. They change, so confirm on each provider's page before you buy.
Option 1: The official sources (free, but a project)
All the data starts in two places:
- Senate: the eFD search site (efdsearch.senate.gov). You have to accept terms in a session before searching, and periodic transaction reports are HTML tables (some older ones are scanned images).
- House: the Clerk's financial disclosure site (disclosures-clerk.house.gov). It has an index file per year and one PDF per report.
Good: free, primary source, nothing filtered.
Bad: two formats, PDF parsing, session handling, no tickers on many rows, and no structured amount fields. Budget a few days to build it and ongoing time to keep it working when either site changes.
Option 2: Subscription data providers
Several companies sell congressional trading data as part of a broader alternative-data API. For example, Quiver Quantitative's API page lists plans starting at $30/month. Other providers such as Financial Modeling Prep, Disclosed Capitol and Eulerpool offer congressional trading endpoints with free tiers and paid upgrades.
Good: maintained for you, often with history going back years and extras like charts or email alerts.
Bad: a monthly fee whether you pull ten rows or ten thousand, and commercial use can need a separate plan. Check what "free tier" covers (delay, rate limits, Senate only, and so on).
Option 3: Pay per result
The Congress Stock Trades API on Apify (disclosure: I built it) reads both official sources directly on every run and charges per trade returned: $5 per 1,000 trades, no subscription. Apify's free plan credit covers a first test, and filters run before billing, so you only pay for the rows you keep.
What makes it different from a plain feed:
| Field | Why it matters |
|---|---|
chamber, politician, state, party
|
Senate and House in one schema |
ticker, assetName, assetType
|
stocks, options, bonds and funds told apart |
amountMin, amountMax
|
numeric bounds of the reported range, so you can sort and filter |
owner |
Self, Spouse, Joint or Dependent Child |
reportingLagDays |
days from trade to disclosure; the STOCK Act allows 45 |
committeeOversight, oversightCommittees
|
does one of the member's committees oversee the company's sector? (Armed Services and defense, Banking and financials, and so on) |
filingUrl |
link to the original filing on every row |
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("smartmoney-data/congress-stock-trades-tracker").call(run_input={
"lookbackDays": 90,
"transactionTypes": ["purchase"],
"minAmountUsd": 50000,
"onlyCommitteeOversight": True,
})
for t in client.dataset(run["defaultDatasetId"]).iterate_items():
print(t["politician"], t["ticker"], t["amountRange"], t["oversightCommittees"])
It also works with no code (Apify schedules with email, Slack or Google Sheets output) and from Claude or ChatGPT as an MCP tool: mcp.apify.com/?tools=smartmoney-data/congress-stock-trades-tracker.
Good: no monthly fee, primary source on every run, committee and lag fields built in, and the same pricing model as the Form 4 insider, 13F and Form 144 Actors in the same suite.
Bad: it fetches live, so a run over many months of reports takes minutes, not milliseconds. For instant lookups, save results to your own database on a daily schedule.
Which one should you use?
| You want | Pick |
|---|---|
| To learn how the filings work, or zero cost at any effort | Official sources |
| Years of history, charts and a dashboard | A subscription provider |
| Data in your own code or agent, paying only for what you pull | Pay per result |
| A daily alert on a few tickers or members | Pay per result on a schedule (costs cents a month) |
Whichever you choose, remember that the amounts are ranges, trades are disclosed up to 45 days late (sometimes later), and a trade in a sector a member's committee oversees is legal and public, not proof of anything. It's a lead to look into, not a trading signal on its own.
Top comments (0)