About
A plain record of what Congress trades
Members of Congress may vote on the industries they invest in, and since 2012 the STOCK Act has required them to disclose those trades. The filings are public and almost unreadable: thousands of scanned and keyed reports, one member at a time, with no way to see a pattern. This site is being built to turn them into something a person can actually read — sourced, dated, and linked back to the original document.
Why this exists
The disclosure requirement already worked: the reports are filed and they are public. What failed was everything after that. A filing arrives as a document about one member, and the questions people actually have — which industries are being bought, in which month, by people sitting on which committees — can only be answered by reading across thousands of them at once.
So the gap is not access, it is legibility. The intent here is a free, public, ad-supported reference that does the reading-across and shows its work, rather than a paid terminal or a feed of trade-alert tips. The measure of whether it worked is whether a reader can click any number and land on the filing it came from.
The counterweight to that ambition is the rest of this page. A site like this fails in one specific way: it becomes more confident than its sources. Disclosures are coarse, late and self-reported, and dressing them up as precise portfolio intelligence would produce something worse than nothing — false numbers about named people, in a subject where they get repeated.
Where the data comes from
The trades come from one place: the periodic transaction reports published by the Clerk of the U.S. House of Representatives, filed under the STOCK Act of 2012. Those are the primary records, read directly. There is no scraped aggregator in the chain and no tip line.
The U.S. Senate Electronic Financial Disclosure system publishes the other half of Congress, and this site does not read it. Access to it is conditioned on the Ethics in Government Act’s restriction on using disclosure reports for a commercial purpose (5 U.S.C. app. § 105(c)), and that question is unsettled here. Until it is settled, nothing on this site covers a senator — so a count that looks like Congress is the House.
Two properties of the source shape everything downstream. A disclosure gives a dollar range, never an amount. And it is filed after the fact, by up to 45 days. A site that quietly papers over either one can produce much more impressive-looking output than this one does.
The filings also contain ordinary mistakes, and those are kept too. Thirty-five transactions in the 2025 House record carry a notification date earlier than the trade they describe, which is a filer’s typo rather than anyone reporting a purchase before making it. They are stored exactly as filed. Correcting them would mean guessing at what was meant and then presenting the guess as a disclosure.
The sector itself is not in the filings at all. A disclosure names an asset and usually a ticker; it does not say what industry the company is in. That comes from the company’s own industry classification as published by the Securities and Exchange Commission, and the grouping of those classifications into ten sectors is an editorial judgement made here rather than something anybody filed. Trades in anything that is not company stock, and companies that grouping does not cover, are left out of the grid rather than assigned a sector by guesswork.
Five rules the code already enforces
These are not a mission statement. Each one is a constraint written into the schema, the page loader or the markup, and each was written before there was any data for it to govern — which is the only order in which such a rule ever survives contact with a deadline. They now have real filings to govern, and none of them was loosened to let those filings through.
- Figures are counts of disclosed trades, not dollar estimates.
- The table behind the sector page has no money column of any kind, and that is a deliberate schema decision rather than an oversight. A cell says how many transactions were disclosed in that sector that month. It does not say how much was spent, because the filings do not say that either.
- A disclosed amount is a range. We will never turn one into a number.
- Members report a bracket, not a figure. Any single number derived from a bracket — a midpoint, a portfolio total, a rate of return — is an invention dressed as a measurement. The amount table has no midpoint column and no derived-value column, and it should never get one. If you see a site quoting a member’s exact holdings or performance, someone made that up.
- Trades are dated by when they happened, not by when they were reported.
- A trade date and its filing date can differ by up to 45 days under the STOCK Act. Bucketing by the filing date smears every spike across that reporting lag, which destroys the only pattern worth showing. Every month bucket here is the month of the trade.
- A page that cannot get its data refuses to render.
- A missing cell and a real zero look identical to a reader, so the loader counts what it got back and throws if the window is incomplete. You get an explicit “we cannot show this right now” instead of a grid of zeros that reads as “Congress stopped trading.” Showing you nothing is a bug. Showing you a confident zero is a lie.
- The menu only links to pages that exist.
- Section names in the masthead that are not yet links are plain grey text, not links to a coming-soon page. A navigation bar full of dead ends is a worse promise than one that shows you exactly how much has been built.
What is not built yet
The specific version, because a vague one is just a nicer way of overstating things.
The Senate
Half of Congress is missing. Only House filings have been read, for the reason given above, and there is no partial Senate coverage hiding anywhere on the site. Anything here that reads as a statement about Congress is a statement about the House.
Every year except 2025
One calendar year is loaded. The Clerk publishes filings going back to 2013, and none of them are here yet, so nothing on this site supports a comparison across years. Nor does the ingest run on a schedule: it is started by hand, which makes what you are reading a snapshot rather than a feed.
The 12.8% of filings that cannot be read
66 of the 515 House reports for 2025 are scanned paper with no text in them at all — not a few unreadable characters, none. They are recorded as unreadable rather than dropped, so the size of the gap is known, but nothing extracts a trade from an image. Treat every count on this site as a floor rather than a total.
Members, trades, committees, tickers
The records now exist — 1,578 filers, 1,110 issuers, 7,645 transactions — but nothing renders them. Committee assignments are the exception: they are not in the database at all, so the overlap described at the top of this page — voting on the industries you invest in — is not something the site can show yet.
Every section except one
The sector grid is the only page that reads the database. Trades, Members, Committees, Tickers and Signals are labels in the masthead with no page behind them. The rest of the site — the front page, Stories, pricing, contact and the legal pages — is written, but none of it reports a filing.
Sourcing on the one page with figures
The test set out above — click any number, land on the filing it came from — is not met. The address of the source document is recorded for every filing that was read, and no page prints it, so a figure on the sector grid is checkable in principle and not in practice. That gap is the next thing to close, and until it is closed the honest description of any number here is that you are taking our word for it.
Accounts
There is no sign-up and no sign-in. No saved searches, no watchlists, no alerts. Nothing on this site knows who you are.
A way to contact us about anything but security
There is no general inbox and no contact form — a message box needs somewhere to deliver to, and there is nowhere, so printing one would be sending your mail into a void. The contact page sets out what has a route and what does not; the security address below is the only one that works.
What it costs, and what it collects
It is free. Not free-for-now: there is no paid tier to upgrade to. The account tier column in the database accepts exactly one value, and the checkout and billing endpoints are unimplemented and return an error by design. Advertising is the intended way to pay for this later. There are no ads on the site today.
There are no accounts, and the public pages set no analytics, no tracking pixels and no cookies at all. The one page that reads data reads it through an anonymous, cookie-free connection, so there is no per-reader state to store and none is stored. When advertising arrives it will change some of that sentence, and this page will say so on the day it does.
What this is not, and how to reach us
This project is not affiliated with, endorsed by, or connected to the U.S. House of Representatives, the U.S. Senate, or any other government body. It is an independent reading of records those bodies publish.
It is also not investment advice. Nothing here is a recommendation to buy or sell anything. A disclosure describes a trade that already happened, in a range, weeks late, and treating that as a signal to trade on is a decision you are making without us.
For security reports, email security@ourelectedportfolios.com. That is the only working address, and it is monitored for security issues only — a correction or a general question sent there will not reach the right place. There is no general inbox yet; the contact page says which requests have a route and which do not. If you came looking for somewhere to report that a number here is wrong, there is no route for that yet. That is a gap rather than a position: the sector grid now carries counts taken from real filings, and a real count can still be wrong.