About
Sources
The sources
The roster
unitedstates/congress-legislators, a community-maintained roster the Library of Congress uses. Public domain.
Bills, sponsors and cosponsors
api.congress.gov, the Library of Congress API, including the Congressional Research Service summaries. Public domain.
Roll-call votes
House votes come from the Clerk of the House. Senate votes come from the Senate’s own public records, matched to members through the roster above.
Discharge petitions
clerk.house.gov, the signature lists as the Clerk posts them.
The completeness sweep
The GPO’s bulk data. A sweep reads the full bill list of the Congress, so a measure that reached the floor does not go missing.
Stock disclosures
The House Clerk and the Senate electronic financial disclosure portals, reached mainly through a third-party feed, with the House Clerk’s own reports read directly where that feed misses or garbles rows. And the Office of Government Ethics filings of executive branch officials, which we read ourselves. Read the next section before you use the congressional numbers.
Campaign finance
The Federal Election Commission’s OpenFEC API. Public domain. The framing of what campaign filings cannot show draws on the Brennan Center for Justice.
Lobbying disclosures
Senate Office of Public Records LD-2 quarterly activity reports and LD-203 contribution reports. A bill’s committee of referral comes from the Library of Congress’s bill status API. The industry spend pool on the lobbying page is a second pull of the same statute rather than the same one: whole-year LDA aggregates, held as two vintages, 2025 for the 119th Congress and 2024 for the 118th. The sectors those dollars are sorted into are this site’s own, from the organization register, and not a field any filer submits.
Sponsored travel
House gift travel disclosures from the Clerk of the House, published as yearly bulk files. Senate travel filings from the Senate Select Committee on Ethics, published as scanned documents; we read the scans ourselves, and a field the scan does not yield stays empty rather than guessed. Destinations are matched to countries and states by a table this site maintains entry by entry, by hand or by a recorded rule. That table is keyed on the string as filed, so a typo that is itself a real place is beyond it: a handful of rows, four at the last count across both chambers, name a destination the filing spells unambiguously and that other evidence puts elsewhere. Those stay as filed rather than corrected on a guess.
Past election returns
The MIT Election Data and Science Lab constituency returns for federal elections, 1976 through 2024, published on Harvard Dataverse under a CC0 public domain dedication. They compile the official state canvasses and the House Clerk’s election statistics.
The Supreme Court
CourtListener, from the Free Law Project, under the Public Domain Mark.
Presidential clemency
The Justice Department’s Office of the Pardon Attorney, which publishes every grant, every named denial and its own docketed-case search; donor matching against the Federal Election Commission’s itemized contribution records above; and paid pardon advocacy from the Senate’s Lobbying Disclosure Act filings. All public federal records, read directly.
Member portraits
unitedstates/images, a public-domain collection. A newly sworn-in member sometimes has no portrait up yet, and those get a plain silhouette until one appears.
Candidate photographs
Mixed, and each is credited where it appears: public-domain government portraits, files from Wikimedia Commons under whatever license that file carries, and campaigns’ own published headshots, used to identify the person the record is about.
Maps and ZIP lookup
Census Bureau 2024 cartographic boundary files for congressional districts, us-atlas for state outlines, and Geocodio for ZIP lookup, which handles the case where one ZIP code touches more than one district.
The one source that is not first-hand
Every lens on this site is built on a government primary source, except one. The stock trades of members of Congress.
Most of those come from congress-trading-monitor, an open source project under an MIT license. It parses the House Clerk and Senate electronic disclosure filings, and publishes what it finds. That feed is the main path, and every Senate trade comes through it. Executive branch trades are different: we read each official’s own Office of Government Ethics filing, and every row links to it.
Where the feed falls short on the House, Project Curia reads the Clerk’s own reports. Scanned paper reports the feed carries no rows for are read here, and rows the feed dropped from a report are recovered from the Clerk’s own PDF of it. Each of those rows links to the report it was read from.
The filings underneath are still the primary record, and every trade traces back to one. But for the rows the feed supplies there is a step in the middle we did not do, and a scrape can miss a filing or misread a form in ways a first-hand parse would not.
The license
Everything this site compiles is published under CC BY 4.0, commercial use included. Credit Project Curia and it is yours. Nothing to sign, no key to request, nobody to ask.
The facts underneath were never ours to license. A roll-call vote is a public record, so is a cosponsorship, so is an FEC filing. What the license covers is the work of gathering them and making them line up with each other.
Photographs are not covered. Each one carries its own license, from wherever it came.
Nor are the archived financial disclosure filings. Those are the reports themselves, kept so the record outlives the date federal law sets for destroying the original. The Ethics in Government Act makes it unlawful to use them for a commercial purpose other than news reporting, to set a credit rating, or to solicit money.
The exports
The data page lists every file. votes.csv is every member’s position on every measure the site tracks, carrying the roll-call number and a link to the official record for each one. It is the only export with a recorded no in it, because a cosponsorship can say yes and cannot say no. The rest of the set covers the positions as structured data, the reform cosponsorship scores, and the roster.
Every file allows cross-origin requests, so any of it can be pulled straight into a notebook or a chart without a proxy. The data page states the source and update schedule beside each export.
If you republish this.
One thing to carry with you. Not on record is not opposition.
Across the seven reform records the only signal is cosponsorship, which registers a yes and has no way to register a no. There is no opposes value anywhere in the reform data. Congress hardly ever votes these bills at all, so most of the time there was never a moment at which a member could have gone on the record against one. Where somebody genuinely is on the record against something, it is because there was a roll call, and roll calls are marked as votes.
Six reforms have current bills and form the member tally. The seventh has only prior-Congress vehicles; that record stays visible as historical evidence and is not counted in the tally.
Write “these members oppose X” on top of numbers that cannot express opposition, and the piece will need correcting in public, with your name on it.
If a number looks wrong, it might be. Write to [email protected] and we will fix it or show you the record it came from.