# How to get congressional stock trades as data

The House publishes a free index of STOCK Act filings; the trades are inside PDFs. What breaks — scans with no text, value bands, owner codes and late reports.

*https://stockmarketstack.com/how-to/get-congressional-trades-as-data · next to Insider, 13F & Congressional Trade Trackers*

**Answer:** The House Clerk publishes a free yearly index of every financial disclosure filing as a tab-separated file, and each periodic transaction report behind it is a PDF; the Senate runs a separate system. The index tells you a report exists, not what is in it. Getting rows out means parsing PDFs, some of them scans with no text layer at all, into trades that carry a value band rather than an amount, an optional owner code and two dates.

## The tools that do this

*In the order this page recommends trying them. Paid placement does not affect this order.*

1. [Quiver Quantitative](https://stockmarketstack.com/tools/quiver-quantitative.md) — Congressional trades over REST from the $30-a-month Hobbyist tier, with transaction and report dates as separate fields. Non-commercial on both published tiers.
2. [Unusual Whales](https://stockmarketstack.com/tools/unusual-whales.md) — A congressional endpoint beside the options tape, from $150 a month on API Basic with a two-year lookback. Redistribution is quoted separately.
3. [Equibles](https://stockmarketstack.com/tools/equibles.md) — An AGPL server that scrapes the congressional disclosure feeds into your own Postgres with no key, then serves them to an assistant over MCP.
4. [QuantConnect](https://stockmarketstack.com/tools/quantconnect.md) — Quiver's congress feed inside QuantConnect's data library at $5 a month, for when the destination is a backtest rather than your own database.
5. [Capitol Trades](https://stockmarketstack.com/tools/capitol-trades.md) — Free, no account, a filed-after-N-days counter on every row — and no API or export. The place to check a parsed row by eye, over three rolling years.

## The short way

Congressional trades are not on EDGAR and never were. For the House, the Clerk publishes one zip
per year that indexes every financial disclosure filing, and each periodic transaction report
behind it is a PDF at a predictable address:

```python
import csv, io, zipfile
import requests

year = 2026
base = "https://disclosures-clerk.house.gov/public_disc"

index = requests.get(f"{base}/financial-pdfs/{year}FD.zip", timeout=60)
z = zipfile.ZipFile(io.BytesIO(index.content))
rows = csv.DictReader(io.TextIOWrapper(z.open(f"{year}FD.txt"), encoding="utf-8-sig"),
                      delimiter="\t")

# FilingType "P" is a periodic transaction report; other letters are other report types
ptrs = [r for r in rows if r["FilingType"] == "P"]

for r in ptrs:
    print(r["FilingDate"], r["Last"], r["StateDst"],
          f"{base}/ptr-pdfs/{year}/{r['DocID']}.pdf")
```

The zip holds the same index twice, as tab-separated text and as XML: name, state and district,
filing type, filing date and a document ID. The copy fetched on 27 September 2026 was stamped
25 September and listed 1,697 filings for the year, 400 of them transaction reports. That is the
whole of the structured part. The trades themselves — asset, owner, transaction type, date, date
notified and value band — are inside the PDF, and turning the PDF into rows is the job.

For the Senate, the equivalent reports sit in a separate electronic disclosure system run by the
Secretary of the Senate, with its own search and its own format. It answered scripted requests
from this site with HTTP 403 on the same day, so nothing on this page describes its format from
first-hand reading, and any pipeline that needs both chambers should budget for two parsers.

## What the options are

**Parsed rows over an API.** [Quiver Quantitative](https://stockmarketstack.com/tools/quiver-quantitative) is the cheapest key
that returns congressional trades as JSON: its Hobbyist tier at $30 a month covers congress trading
and holdings, politician net worth and the rest of the political datasets. The field that matters
is that `TransactionDate` and `ReportDate` come back separately, which is the only way to measure
the lag rather than assume it. Both published tiers are marked non-commercial; anything you ship
needs the contact-priced Commercial plan. [Unusual Whales](https://stockmarketstack.com/tools/unusual-whales) carries
congressional trades, late reports and per-politician histories in the same API as its options
tape, from $150 a month on API Basic with a two-year lookback. That price only makes sense if you
wanted the options data anyway.

**The scraper, on your own hardware.** [Equibles](https://stockmarketstack.com/tools/equibles) is an AGPL-3.0 stack that
scrapes SEC EDGAR, the congressional disclosure feeds and a dozen other public sources into a
local Postgres, with no account and no key, and serves the result to an assistant through 62 MCP
tools. It is the one option here that leaves you holding the database, and so the one where the
parsing errors described below are yours to find.

**Inside a backtest.** [QuantConnect](https://stockmarketstack.com/tools/quantconnect) resells Quiver's congress feed in its
data library at $5 a month. If the only destination for the rows is a backtest on that
platform, it is the shortest path; if you want the rows themselves, it is not a data product.

**A reference to check against.** [Capitol Trades](https://stockmarketstack.com/tools/capitol-trades) has no API and no export
at any price, so it cannot be the source for a pipeline. It is useful beside one: every row prints
the traded date, the published date and a "filed after N days" counter, the owner, and the band,
over a rolling three-year window. When a parser disagrees with a person reading the same filing,
this is the quickest second opinion. The rest of the shelf is in
[insider, 13F and congressional trade trackers](https://stockmarketstack.com/categories/insider-13f-trackers).

## Where this breaks

**One report in nine has no text to parse.** Of the 400 House transaction reports indexed for 2026
by 25 September, 46 are PDFs with no text layer at all — images of a paper form. Every one of them
has a seven-digit document ID; a sample of twenty eight-digit IDs, the electronically filed ones,
all carried text. Paper is still a lawful way to file: the House Ethics Committee's instructions
accept an electronic filing or a paper copy delivered to the Clerk, and refuse only faxes and
email. A text extractor returns an empty string for a scan rather than an error, so a naive
pipeline drops roughly a tenth of the House's reports without saying so. The electronic ones are
not clean either: extracted with macOS's PDFKit, their field labels come out interleaved with NUL
bytes, which is enough to make `grep` call the file binary. Routing seven-digit IDs to
OCR, or to a person, is the fix.

**The law asks for documents, not data.** The STOCK Act as passed in 2012 required databases that
"allow the public to search, sort, and download data contained in the reports". Public Law 113-7
rewrote that paragraph without it in April 2013, a year later, and what remains is databases
maintained on the House and Senate websites. The yearly index is a courtesy with no published schema and no
promise attached, and the PDF layout can change between one filing season and the next.

**A row does not have to carry a ticker.** The instructions require the complete name of the
asset and call adding the ticker best practice, not a requirement. Electronic filings print both
where the filer supplied them — `Amazon.com, Inc. - Common Stock (AMZN) [ST]` — and a paper filing
carries whatever the member's office wrote. An option is described in the same free-text cell, with
its strike and expiry. Matching names to securities is a fuzzy join, and it is where most parsed
datasets quietly disagree with each other.

**An amount is a band, and the top of it depends on who owns the asset.** The statute sets ten
categories, from not more than $15,000 up to more than $50 million, and the reporting trigger is a
transaction over $1,000 — so the smallest band a trade can land in runs from $1,001 to $15,000.
[When a trade shows up in the public record](https://stockmarketstack.com/guides/when-trades-become-public) sets out why every
dollar total built on those bands is a choice. The part a parser misses is the extra column: an
asset owned only by a spouse or dependent child and in which the member has no interest may be
reported as simply "over $1,000,000", while one the member holds must use the higher bands. Treat
that column as a separate, open-ended category, not as the $1,000,001–$5,000,000 band.

**The owner column is optional, and it is the one that matters.** A report covers trades by the
member, the spouse and dependent children, and the paper-form instructions say the filer *may* mark
a row `SP`, `DC` or `JT`. A blank owner therefore does not establish that the member placed the
trade. Any series labelled "trades by Representative X" is, unless it filters on that column and
accepts its gaps, trades in a household's accounts, including managed ones the member never
directed.

**Days from trade to filing is not a compliance measure.** A report is due by the earlier of 30
days after the filer learns of a trade and 45 days after the trade itself, and the form carries
both the transaction date and the date notified. So a report filed on day 40 can be late, if the
filer knew on day 1, and a report is late past day 45 whatever the notification date says — the
instruction guide's own example is a spouse's purchase on 9 July disclosed to the member on
3 September, already past its 23 August due date. Lag from the transaction date measures how old
the information is; whether a filing was on time needs both dates and the earlier of the two
deadlines.

**What is absent is not evidence.** The House instructions exclude mutual fund and ETF transactions
from these reports, along with Thrift Savings Plan assets and trades between the member and their
own household. Some filers list ETFs anyway — one report indexed in March 2026 sells DIA and QQQ,
coded `[OT]` rather than `[ST]`, beside individual stocks — so ETF rows in any dataset are a voluntary, inconsistent sample. The
guide also warns that the annual report can carry transactions a transaction report did not have
to, which means the complete record for a year arrives the following May, in a different document.

**The statute says what the reports may not be used for.** 5 U.S.C. 13107(c), as printed in the
2024 edition of the U.S. Code, makes it unlawful for any person to obtain or use a report for any
unlawful purpose; for any commercial purpose, other than by news and communications media for
dissemination to the general public; to determine or establish an individual's credit rating; or,
directly or indirectly, to solicit money for any political, charitable or other purpose. The
Attorney General may bring a civil action, and the court may assess a penalty of up to $10,000.
The statute does not define "commercial purpose", and this page does not try to. And the source
does not keep the reports forever: a member's reports are made
available for six years after the member leaves office, then destroyed. If history matters, store
what you fetch.

## If you outgrow this

**When you need to ship the data**, there are two documents to read, not one. The vendor's
licence covers the vendor's rows: Quiver's published tiers are non-commercial and its Commercial
plan is quoted on request, and Unusual Whales quotes redistribution separately under its business
plans. The statute above covers the reports the rows come from, and a vendor's licence speaks only
for the vendor.

**When the question is how late the record is**, rather than what is in it,
[when a trade shows up in the public record](https://stockmarketstack.com/guides/when-trades-become-public) sets the
congressional deadline beside Form 4, Schedule 13D and 13F, with the second 30-day publication
clock that follows filing.

**When you want disclosures that arrive faster and as data**, the corporate side is structured
where this one is not. A Form 4 is XML on EDGAR within two business days of an insider's trade, and
[How to get SEC filings as data](https://stockmarketstack.com/how-to/get-sec-filings-as-data) covers it; institutional holdings
are in [How to get 13F holdings as data](https://stockmarketstack.com/how-to/get-13f-holdings-as-data).

**When a person is going to read it rather than a program**, [HedgeFollow](https://stockmarketstack.com/tools/hedgefollow)
puts congressional trades beside 13F and Form 4 on one page, and
[Capitol Trades](https://stockmarketstack.com/tools/capitol-trades) does the congressional half alone with no account.

## FAQ

### Are congressional stock trades on SEC EDGAR?

No. Periodic transaction reports under the STOCK Act are filed with the Clerk of the House or the Secretary of the Senate, not with the SEC, so none of them is on EDGAR. The House publishes a yearly index file listing every filing with a document ID, and each transaction report is a PDF fetched by that ID.

### Why do congressional trade datasets disagree with each other?

Because every one of them is a parse of PDFs, some of them scanned paper, into rows. The asset is free text with a ticker that is recommended rather than required, the amount is one of ten statutory bands, and the owner code is optional. Two parsers can read the same report and produce different tickers, dollar figures and owners without either being wrong about the document.

### What does the law say about using these reports?

5 U.S.C. 13107(c), as printed in the 2024 edition of the U.S. Code, makes it unlawful for any person to obtain or use a report for any unlawful purpose, for any commercial purpose other than by news and communications media for dissemination to the general public, to determine an individual's credit rating, or to solicit money. The Attorney General may sue, and a court may assess a penalty of up to $10,000.

## Sources

1. [Financial Disclosure](https://disclosures-clerk.house.gov/FinancialDisclosure) — Office of the Clerk, U.S. House of Representatives, read 2026-09-27
2. [Financial Disclosure Instruction Guide for calendar year 2025 reports](https://ethics.house.gov/wp-content/uploads/2026/07/7-8-2026-2025-Published-Instruction-Guide.pdf) — U.S. House of Representatives, Committee on Ethics, 2026-07-08
3. [5 U.S.C. 13107 — Custody of and public access to reports](https://www.govinfo.gov/content/pkg/USCODE-2024-title5/html/USCODE-2024-title5-partIV-chap131-subchapI-sec13107.htm) — U.S. Government Publishing Office, read 2026-09-27
4. [Public Law 113-7 — modifying the STOCK Act's online access requirements](https://www.govinfo.gov/content/pkg/PLAW-113publ7/html/PLAW-113publ7.htm) — U.S. Government Publishing Office, 2013-04-15. The 2024 edition of the Code prints STOCK Act section 8(b) in the form this law amended it to, as a note to 5 U.S.C. 13107.
5. [Public Law 112-105 — Stop Trading on Congressional Knowledge Act of 2012, section 8](https://www.govinfo.gov/content/pkg/PLAW-112publ105/html/PLAW-112publ105.htm) — U.S. Government Publishing Office, 2012-04-04. Cited for the section 8(b) wording as enacted, which Public Law 113-7 replaced in 2013; the page describes it as history.

*Last updated 2026-09-27. A reference page, corrected in place — not a dated post.*
