Why GoodVote

Democracy runs on consent. When a handful of mega-donors fund the candidates who write the rules, consent erodes — and the public rarely knows who paid for what. GoodVote exists to change that.

“We have a government responsive to the funders, not responsive to the people. That’s not a democracy. That’s a plutocracy.”

— Lawrence Lessig, Republic, Lost / TED 2013

Lessig’s diagnosis is the starting point for this project. As long as campaign finance is opaque, the funders win every policy fight the public never sees. Our premise is simple: if the data is in the open — normalized, queryable, drillable — journalists, researchers, voters, and rival movements can actually follow the money. Sunlight isn’t sufficient, but it is necessary.

What we do

We take every public FEC filing — 237 million transactions across six election cycles — and rebuild it as a queryable data warehouse that answers the questions the raw files cannot: who is this donor really, what does this PAC actually support, and which lobby backed which vote. We reconcile against FEC published totals, publish our methodology, and guard every fix with regression tests so numbers don’t silently drift.

Everything is open source. Everything is free to query.

By the numbers

10
lobbying sectors
530+
classified committees
7.6M
normalized donors
237M+
FEC records

Who we are

GoodVote is a non-profit project focused on protecting democracy through data. We don’t take money from candidates, parties, or lobby groups — our infrastructure is funded by grants and individual contributions. We publish methodology, cite sources, and fix the numbers in public when they’re wrong.

How to use the data

Open source

The frontend, API, dbt pipeline, and classification seeds are all on GitHub. Contributions, issues, and forks are welcome. Found a miscategorized PAC or a missing mega-donor? Open an issue or PR.

View on GitHub →

Contact

Data requests, partnership inquiries, tips on a PAC or donor we should track — goodvote-data@goodvote.org.