About / Methodology
How the numbers are made
Every figure on this site is a public record, shown as filed, with the rule that produced it written down here. Site built October 27, 2026.
Spot the Money shows public U.S. government records as filed: SEC Form 4 insider trades, House STOCK Act trade reports, FEC contributions, Senate lobbying filings, USAspending contracts and Treasury rates, read once a day from the official sources. A transaction is shown only if its filing parsed cleanly, congressional trades count as late after 45 days, and every row links to its source filing.
Sources and cadence
We read only official primary sources, once a day, with a client that identifies this site and its contact address on every request and never exceeds one request every 1.5 seconds per host:
- SEC EDGAR — Form 4 ownership filings (XML) for a tracked set of about 70 large or frequently traded U.S. tickers plus every ticker that appears in a congressional filing. Amendments (Form 4/A) are not merged into the original.
- U.S. House Clerk — periodic transaction reports (PTRs) as PDFs, parsed daily. Scanned PDFs without a text layer are held for human review and show no rows until then.
- U.S. Senate eFD — periodic transaction reports. The Senate's site refuses automated readers, and this site does not disguise its crawler as a browser. Senate reports are instead read in an ordinary browser session by a person, saved, and loaded from those saved copies, so they arrive in batches rather than daily. Reports filed on paper are scans and are held for transcription like the House ones.
- FEC (OpenFEC) — itemized contributions (Schedule A) to the principal campaign committee of every current member of Congress and the 200 largest PACs by receipts in the current cycle, last 90 days.
- Senate Lobbying Disclosure Act filings — quarterly registrations and reports, every filing posted since October 1, 2025; an amended report replaces the one it amends.
- USAspending — the largest contract awards that started in each of the last six months, plus awards to followed companies (exact recipient-name match); dated by award start date, valued at total award amount.
- U.S. Treasury — the daily par yield curve and the daily real (TIPS) yield curve; Treasury Fiscal Data — I-Bond rates; BLS — CPI-U, the input to the I-Bond variable rate.
The publishing bar
A row is shown only if its filing parsed cleanly (review approved, confidence at least 0.9). Rows from a source whose first sample has not yet been checked by an editor are shown with an "under review" note on the page and are excluded from the data feed and from the daily social thread until the check is complete. Nothing is inferred, filled in or estimated: a blank cell means the filing did not state it.
Disclosure lag and late filings
Lag is the disclosure date minus the trade date, in calendar days. Members of Congress must file within 45 days of a trade (STOCK Act); a row is marked late when the report's filing date is later than that. Corporate insiders must file Form 4 within two business days; a row is marked late when the filing date is more than four calendar days after the trade (a conservative rule that never marks a weekend or holiday as late).
Values
For Form 4 rows, value is shares × the price reported on the filing (a weighted average when the filing says so); rows with no price, such as grants or option exercises at zero, show no value and never count as buys or sales. Options, warrants and other derivative rows are listed in the tables, marked derivative, but are left out of every buy and sell total and off the trade maps: a put bought is not a purchase of the stock, and the dollars are a premium. Where a filer typed the total for a row into the price box, the per-unit price is worked out from it. When the same trade is reported in more than one Form 4 — funds or trusts that own a stake together each file their own — it is counted once in totals, under the first filing received. Two rows are the same trade when the stock, date, share count, price and the shares owned afterwards all match and the trade is worth $250,000 or more; the repeated rows stay in the tables, marked as also in another filing. Congressional filings report ranges, so those rows show the range as filed and any total uses the top of the range. Contract amounts are federal obligations on the action, which can be negative. Lobbying amounts are the income or expense reported for the quarter.
Flags and feeds
- Open-market buy — Form 4 transaction code P. This is the only code counted as a "buy" in ratios and feeds.
- Cluster buy — three or more distinct insiders with code-P purchases of the same ticker within 30 days.
- 10b5-1 plan — the filer ticked the Rule 10b5-1 box on the Form 4 (available since April 2023).
- Owner — on congressional rows: the member, spouse, dependent child or joint, as filed.
- Late — see above. First filing — the first filing by that person in our records, which start with the launch of each source.
Matching people and companies
Market cap. The Market cap filter on the trade maps sorts companies into bands: mega ($200B and up), large ($10B–$200B), mid ($2B–$10B), small ($300M–$2B) and micro (under $300M). The figure behind a band is an estimate from SEC filings, not a market quote: the shares outstanding on the cover of the company's latest quarterly or annual report, multiplied by the median price of its most recent open-market insider trades. Where a company reports shares by class, or has no recent insider trade, the public float stated in its latest annual report is used instead. Funds, ETFs and foreign companies that file annual reports on Form 20-F report no public float and are left out when a market cap band is selected, as are companies whose insider filings have not been loaded yet.
Insiders are identified by their SEC CIK. Members of Congress are matched by normalized name and chamber (the House index gives no stable id); a state and district come from the filing. Company pages match federal contracts and lobbying clients by exact normalized name (corporate suffixes ignored), which deliberately misses subsidiaries and alternate spellings rather than guess.
Downloads. The CSV files on the downloads page are written during the same build as the pages, from the same rows, so a file and its page cannot differ: a row that is held back from a page is held back from the file, and a row shown as under review carries under_review = true. Insider and lobbying files are cut by quarter; a transaction reported by two filers appears in each filer's rows and is marked so it can be counted once. No file contains individual donors or market prices.
Member pages. Party, seat, term dates and current committee assignments come from the public-domain congress-legislators dataset and are refreshed daily. Every figure on a member's page is counted from the rows in that member's trade table: purchases and sales by the side stated on the report, years by the trade date, owners as the report names them, and dollar amounts as sums of the low and high ends of the ranges filed. The comparison sets one member beside all members with at least one trade on record here; it uses medians, and it leaves out members who reported no trades. Committee seats are shown for context and are never matched to trades.
The daily thread
Once a day a scripted thread lists notable published filings — the largest by value, late filings, first filings, cluster buys — with a link to the page and to the source document. It contains facts and links only.
What this site never does
No buy or sell recommendations, no forward-looking scores, no trade execution or copy-trading, no inference of motive or wrongdoing from any filing. Historical performance, when shown, is computed only from disclosed trades against a stated benchmark and is not a prediction.
Corrections
Errors are fixed within five working days of a report; see the corrections page.
What is covered, and what is not
These counts are rebuilt with every update of the site, straight from the database; the same figures, by source and month, are in /data/coverage.json.
- House trades. 437 periodic transaction reports filed in 2026 are on file here. 384 of ours are shown; 53 are held back, mostly scanned or handwritten reports that software cannot read reliably and a person has not yet transcribed. A member who files only on paper will be missing from the maps and tables until then.
- Senate trades. 177 periodic transaction reports on file, received 2025-10 to 2026-10; 162 are shown. The rest are paper filings awaiting transcription, earlier versions replaced by an amendment, or reports still under review. Senate reports are loaded in batches from saved copies, so the newest may lag the Senate's site by days.
- Corporate insiders. 50,502 Form 4 filings on file, filed 2003-09 onward, for the tracked tickers only (1,270 securities) — not every public company.
- Lobbying. 122,345 rows, 2009-Q1 to 2026-Q4 (by reporting quarter).
- Contracts. 16,391 rows, 1978-09 to 2026-12 — the largest awards each month plus awards to followed companies, not every federal contract.
- Donations. 985,454 rows, 2007-03 to 2026-10 — itemized receipts of tracked committees only.
| Month filed | On file | Shown | Held for review | Of those, paper filings |
|---|---|---|---|---|
| Oct 2025 | 47 | 42 | 5 | 5 |
| Nov 2025 | 40 | 34 | 6 | 6 |
| Dec 2025 | 39 | 35 | 4 | 4 |
| Jan 2026 | 48 | 48 | 0 | 0 |
| Feb 2026 | 38 | 34 | 4 | 4 |
| Mar 2026 | 46 | 41 | 5 | 5 |
| Apr 2026 | 41 | 38 | 3 | 3 |
| May 2026 | 52 | 41 | 11 | 11 |
| Jun 2026 | 43 | 38 | 5 | 5 |
| Jul 2026 | 56 | 49 | 7 | 7 |
| Aug 2026 | 44 | 36 | 8 | 8 |
| Sep 2026 | 36 | 32 | 4 | 4 |
| Oct 2026 | 33 | 27 | 6 | 6 |
Data status
people 13,473 · companies 989 · securities 1,270 · filings 51,160 · transactions 145,452 · lobbying 117,751 · contracts 5,973 · built 2026-10-27T18:47:21.034Z