18 build phases · public domain data only
The trading disclosures your representatives filed. Un-paywalled.
Quantgress scrapes congressional stock trades and 17 adjacent datasets: lobbying, insider trades, 13F holdings, short volume, patents, campaign donations, straight from SEC, Senate, House, and FEC source systems into one self-hosted database. No subscription between you and the filing.
Why it exists
Every dataset here is public U.S. government or public-domain disclosure data.
The data is public. The access isn't.
Products like Quiver Quantitative and CapitolTrades package congressional trading disclosures into a paid API. Every underlying filing is already public record.
Own scrapers, one local database.
Quantgress is the build-it-yourself version: scrapers against primary sources, one DuckDB file, a thin read-only API over it. Auditable end to end.
Guesses stay reversible.
Any value inferred rather than scraped (a ticker recovered from free text, for example) goes into a separate *_guess column. The original filing value is never overwritten.
The dataset index
18 phases, each independently runnable and resumable. Check marks indicate phases verified against live data.
Full 18-phase table, including entity resolution and derived net-worth phases, in the docs.
Query it directly
One unified trades view across both chambers. Arbitrary SQL from the command line.
py q.py "SELECT tkr, count(*) AS n, sum(amount_low) AS min_dollars
FROM trades WHERE tkr IS NOT NULL
GROUP BY tkr ORDER BY n DESC LIMIT 5"
Every dataset is legal to collect and use for personal or research purposes. It's public government or public-domain disclosure data. Redistributing it commercially is a separate question with real constraints: FEC contributor data is served aggregate-only. Full breakdown in the docs.