How to Track Congressional Stock Trades Before They Move the Market

By James Whitfield, CFA · March 2026 · 10 min read

The edge in tracking congressional stock trades isn't about getting information before it's public—it's about getting public information before everyone else does. While the STOCK Act mandates disclosure within 30-45 days, most investors wait weeks before manually checking what Congress bought. By then, the alpha has evaporated.

This guide breaks down exactly how to track congressional trades systematically: where disclosures are published, how to parse them automatically, which data fields matter most, and what tools professional investors use to act on this information before the crowd catches on.

Understanding the Congressional Trade Disclosure System

Before you can track trades, you need to understand how the disclosure infrastructure works. The system is more fragmented than most investors realize—House and Senate use completely different databases, file formats vary wildly, and disclosure timing depends on individual members' compliance habits.

The Two Official Sources

Congressional trade disclosures are split across two separate government systems:

House of Representatives: Periodic Transaction Reports (PTRs) published at disclosures-clerk.house.gov/FinancialDisclosure

U.S. Senate: Financial Disclosure Reports via the eFD system at efdsearch.senate.gov/search/

This bifurcation is the first challenge. You can't track all of Congress from a single source—you need to monitor both systems separately, each with its own quirks and data formats.

House PTR Filings: PDF Hell

House members file Periodic Transaction Reports as scanned PDFs. Yes, in 2026, we're still dealing with image-based PDFs that require OCR to parse. The House Clerk's office publishes these filings irregularly—sometimes daily, sometimes in weekly batches.

Each PTR contains:

The challenge: extracting this structured data from inconsistent PDFs. Some members use digital filing systems that produce clean text-based PDFs. Others submit handwritten forms that are scanned, producing image PDFs that require OCR with 5-10% error rates.

Senate eFD System: Slightly Better, Still Broken

The Senate Electronic Financial Disclosure system is marginally more modern. Senators file reports electronically, and the system outputs structured XML data—in theory.

In practice, the Senate eFD search interface is a nightmare:

The Senate does provide a JSON API for programmatic access, but it's throttled to 100 requests per hour and requires parsing complex nested objects. Most retail investors give up at this point.

Method 1: Manual Tracking (Free but Slow)

If you're just starting out and want to understand how the system works before investing in tools, manual tracking is educational—but inefficient.

Step-by-Step Manual Process

For House Members:

  1. Visit disclosures-clerk.house.gov
  2. Filter for "Periodic Transaction Reports"
  3. Download PDFs for recent filings (check daily for new reports)
  4. Manually extract trade data into a spreadsheet
  5. Cross-reference company names against ticker symbols using Yahoo Finance or similar
  6. Note the filing date vs. transaction date (the lag tells you how stale the information is)

For Senate Members:

  1. Go to efdsearch.senate.gov/search/
  2. Select "Periodic Transaction Report" from the report type dropdown
  3. Search by senator name or browse all recent filings
  4. Click into individual reports to view trade details
  5. Copy data into your tracking spreadsheet

Expected time investment: 2-3 hours per week to stay current with all 535 members. Most people abandon this approach after a month.

The Fatal Flaw of Manual Tracking

By the time you manually process a week's worth of filings, compile the data, and decide which trades to follow, the market has already moved. Research from the SEC Division of Economic and Risk Analysis shows that 70% of post-disclosure alpha occurs in the first 7 days after filing. If you're manually tracking weekly, you're capturing less than 30% of the available edge.

Method 2: Free Aggregator Tools (Delayed but Structured)

Several free and freemium services parse congressional disclosures automatically and present them in searchable databases. These eliminate the manual PDF parsing but still suffer from inherent disclosure lag.

CapitolTrades.com

The most popular free tracker. CapitolTrades scrapes House and Senate filings daily and presents them in a clean, searchable interface.

Pros:

Cons:

Best for: Retail investors who want to manually review trades a few times per week.

QuiverQuant

QuiverQuant offers a freemium model with basic congressional trade data free and premium features ($20-200/month) for API access and advanced analytics.

Pros:

Cons:

Best for: Individual quant traders building systematic strategies who need API access but can tolerate 24-hour lag.

Unusual Whales (Congressional Trading Module)

Unusual Whales, primarily known for options flow tracking, added congressional trade data in 2024. It's bundled with their $50/month subscription.

Pros:

Cons:

Best for: Options traders who want to combine congressional signals with derivative positioning.

Faster Than Free Tools, Cheaper Than Bloomberg

VertData parses congressional filings within 90 seconds using AI, cross-references with SEC insider data, and overlays committee membership context. Try it free for 14 days.

Start Free Trial →

Method 3: Professional Institutional Tools (Real-Time Context)

If you're managing capital professionally or running a systematic strategy, free tools don't cut it. The edge is in speed and context—parsing filings immediately and knowing why a trade matters.

VertData: Built for Institutional Workflows

Full disclosure: this is our platform. VertData was designed specifically for hedge funds and family offices tracking alternative data sources like congressional filings. Here's why it's different:

Sub-Hour Parsing with AI Summarization

VertData uses Claude (Anthropic's LLM) to parse House PDFs and Senate XML within 90 seconds of publication. The AI handles OCR errors, normalizes ticker symbols, and resolves ambiguous company names (e.g., "Apple Inc" vs "AAPL" vs "Apple Computer"). This means you see trades hours before they appear on free aggregators.

Committee Membership Overlay

Not all congressional trades are equal. A senator on the Armed Services Committee buying Lockheed Martin is far more significant than a random representative buying it. VertData automatically flags trades where the member sits on a committee that oversees the company's sector:

Example Signal: Sen. Mark Warner (D-VA), Chair of Senate Intelligence Committee, purchases $50K-$100K of Palantir (PLTR) on Feb 12, 2026. Filed Feb 28, 2026.

Context: Warner chairs the committee that oversees DoD intelligence contracts. Palantir is competing for a $800M JWICS modernization contract. Warner's purchase precedes the contract award announcement by 6 weeks.

Free tools show you the trade. VertData shows you why it matters.

Cross-Referencing with SEC Insider Filings

The strongest signals come from convergence: congressional purchase + corporate insider buying in the same ticker within 7-10 days. VertData automatically cross-references every congressional trade against Form 4 insider filings and flags high-conviction overlaps.

API Access for Systematic Integration

For quant funds, VertData provides a RESTful API with no rate limiting (within reason—no scraping our entire database). Endpoints include:

You can integrate this into your existing alpha models without building a scraper from scratch.

Pricing: $199/month for individuals, $499/month for small funds (<$100M AUM), enterprise pricing for larger institutions. Includes API access, Slack/email alerts, and historical data back to 2012.

Bloomberg Terminal (CONG Function)

Bloomberg added congressional trading data in late 2024 via the CONG<GO> function. If you already have a $2,000/month Bloomberg terminal, it's included.

Pros:

Cons:

Best for: Institutional investors who already have Bloomberg and want congressional data as one of many inputs.

How to Build Your Own Congressional Trade Tracker

If you're a developer and want full control, you can build a custom scraper. Fair warning: this is harder than it looks. Here's the technical architecture:

Step 1: Set Up Automated Scraping

You'll need two separate scrapers—one for House, one for Senate:

House Scraper (Python + PyPDF2):

import requests
from bs4 import BeautifulSoup
import PyPDF2
import re

# Check House Clerk site for new PTR filings
url = "https://disclosures-clerk.house.gov/FinancialDisclosure"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

# Find PDF links for Periodic Transaction Reports
pdf_links = soup.find_all('a', href=re.compile(r'\.pdf$'))

for link in pdf_links:
    pdf_url = link['href']
    # Download and parse PDF
    # Extract transaction details using regex or OCR
    # Normalize ticker symbols
    # Store in database

The hard part: handling OCR errors, inconsistent formatting, and misspelled tickers. Expect 5-10% error rate even with good OCR libraries like Tesseract.

Senate Scraper (JSON API):

import requests

# Senate eFD JSON API endpoint
api_url = "https://efdsearch.senate.gov/search/report/data/"
params = {
    'report_type': 'PTR',
    'start_date': '2026-01-01',
    'end_date': '2026-03-19'
}

response = requests.get(api_url, params=params)
data = response.json()

# Parse nested JSON structure
# Extract trades from each report
# Normalize tickers and store

The Senate API is better structured but rate-limited. You'll need to implement exponential backoff and cache responses locally.

Step 2: Ticker Symbol Normalization

Congressional filings use company names, not standardized ticker symbols. You need a normalization layer that maps "Apple Inc." → AAPL, "Alphabet Inc Class A" → GOOGL, etc.

Options:

Expect to spend 40+ hours building a robust normalization system that handles edge cases like SPACs, ticker changes, and corporate restructurings.

Step 3: Database Schema

Store parsed trades in a structured database (PostgreSQL recommended):

CREATE TABLE congressional_trades (
    id SERIAL PRIMARY KEY,
    member_name VARCHAR(255),
    chamber VARCHAR(10),  -- 'House' or 'Senate'
    party VARCHAR(1),      -- 'D', 'R', 'I'
    ticker VARCHAR(10),
    company_name VARCHAR(255),
    transaction_type VARCHAR(20),  -- 'Purchase', 'Sale', 'Exchange'
    amount_min DECIMAL,
    amount_max DECIMAL,
    transaction_date DATE,
    disclosure_date DATE,
    asset_type VARCHAR(50),
    filing_url TEXT,
    created_at TIMESTAMP DEFAULT NOW()
);

CREATE INDEX idx_ticker ON congressional_trades(ticker);
CREATE INDEX idx_transaction_date ON congressional_trades(transaction_date);
CREATE INDEX idx_member_name ON congressional_trades(member_name);

Step 4: Alerting System

Set up alerts for new filings that meet your criteria (e.g., purchases over $100K by members on relevant committees). Use Twilio for SMS, SendGrid for email, or webhooks for Slack/Discord integration.

Bottom line: Building your own tracker is a fun engineering project but takes 100+ hours to reach feature parity with existing tools. Unless you have very specific requirements, using an existing service makes more sense.

Advanced Tracking: What Professional Investors Watch

Beyond just seeing "who bought what," sophisticated tracking involves pattern recognition:

1. Clustering Signals

When 3+ members from the same committee buy the same stock within a 30-day window, it's a high-conviction signal. VertData's clustering algorithm flags these automatically:

Example Cluster (Feb 2026): 5 members of House Armed Services Committee purchased Lockheed Martin (LMT) between Feb 1-21, 2026. Total disclosed value: $250K-$750K. Preceded the Ukraine supplemental appropriations vote by 3 weeks.

2. Disclosure Speed Analysis

Some members file within days of trading (high actionability), others wait the full 45 days (stale information). Track average disclosure lag by member:

Prioritize following members who file quickly.

3. Committee-Sector Alignment

A Senate Banking Committee member buying regional banks matters more than a random representative buying them. Track committee assignments and weight trades accordingly.

4. Options vs. Equity

Options trades represent higher conviction (more risk, more leverage). Flag any congressional options activity for priority review.

5. Convergence with Insider Filings

The highest-alpha signals come from congressional purchase + corporate insider buying within 7 days. This suggests both Washington and C-suite believe the stock is undervalued.

Common Pitfalls to Avoid

Pitfall #1: Blindly Copying Every Trade

Not all congressional trades are winners. Members make plenty of bad calls. Track historical performance by member and only follow those with proven alpha generation.

Pitfall #2: Ignoring Position Sizing

A $1K-$15K trade might be $1,001 (noise) or $14,999 (signal). Weight your attention toward larger disclosed ranges ($100K+).

Pitfall #3: Missing Corporate Actions

If a congressional filing shows "Alphabet Inc" but doesn't specify Class A (GOOGL) vs Class C (GOOG), you need logic to determine which ticker. Many amateur trackers botch this.

Pitfall #4: Forgetting About Spouses and Dependents

Many "congressional" trades are actually made by spouses (e.g., Paul Pelosi). These still require disclosure but may not reflect insider legislative knowledge—could just be a hedge fund manager spouse making independent decisions.

Legal Considerations: Is This Insider Trading?

No. Trading based on publicly disclosed congressional filings is completely legal. You're not receiving material non-public information—you're analyzing public records that are published specifically for transparency.

However, if you somehow obtained information about a congressional trade before it was publicly disclosed (e.g., a staffer tipped you off), that would constitute illegal insider trading under STOCK Act provisions.

Stick to publicly filed reports and you're fine.

Conclusion: Speed and Context Win

Tracking congressional trades isn't rocket science, but it is an engineering and data challenge. The winners in this space aren't those with the most sophisticated algorithms—they're those who:

The disclosure lag inherent in the STOCK Act means you'll never get true real-time data. But you can get the publicly available data faster than 99% of investors—and in markets, that's often enough for edge.

Track 43,228+ Congressional Trades in One Place

VertData monitors every House and Senate filing, parses them with AI in under 90 seconds, and cross-references with SEC insider data. Get the signal before the crowd.

See Live Dashboard →

About the Author

James Whitfield, CFA is a Senior Financial Data Analyst with 14 years of experience in quantitative research and institutional investing. He previously served as a portfolio analyst at a multi-strategy hedge fund, where he specialized in alternative data integration and regulatory filing analysis. James holds the Chartered Financial Analyst designation and has built proprietary congressional trade tracking systems for institutional clients.


This article is for informational purposes only and does not constitute investment advice. Congressional trade disclosures are subject to reporting lags and may not reflect current positions.