Skip to content
Project Curia

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, plus Office of Government Ethics filings, reached through a third-party feed. Read the next section before you use these 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.

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.

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.

Those come from congress-trading-monitor, an open source project under an MIT license. It parses the House Clerk, Senate electronic disclosure and Office of Government Ethics filings, and publishes what it finds. Project Curia reads that. It does not go to the Clerk directly for trades.

The filings underneath are still the primary record, and every trade traces back to one. But 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.

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. All of it rebuilds every morning.

If you republish this.

One thing to carry with you. No position is not opposition.

On the seven reforms 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.

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.

Back to the map