Donations Database — Methodology
This page records where the donations database comes from, what was removed before publication, what was deliberately left out, and how to get something corrected. It exists so that any figure on the database page can be checked against its original source by anyone who wants to.
Source
Every record derives from itemized filings submitted to the Federal Election Commission by the committees themselves — Forms F3 and F3X, Schedules A (receipts) and B (disbursements). Contributions are reported by the receiving committee, not by the contributor, and appear here exactly as filed.
Coverage is concentrated in calendar 2025, with some records reaching back to
late 2021. The data is a snapshot, not a live feed: committees amend filings, and
an amendment made after our extract will not be reflected until the next rebuild.
The build date is shown in /data/summary.json.
What was removed before publication
Street addresses are gone. Federal filings include each contributor's residential address. Those fields are discarded during processing and never written to the published files — this is not a display setting that could be toggled back on.
- Street address — removed entirely (both address lines).
- ZIP codes — truncated to five digits. ZIP+4 can narrow to a single building.
- Emails and phone numbers — some filers typed these into name, employer or address fields. All such fields are pattern-scrubbed.
- Contributor ID numbers — removed.
Redaction is verified by an automated check that re-reads the published files and refuses to let the site build if a street address, email address, phone number or over-precise ZIP survives anywhere in the output.
The $200 disclosure threshold
Contributors are listed individually only where their contributions to a given committee total $200 or more. Below that, contributions are still counted in every total and chart on the site, but the person is not named and not searchable.
Two reasons. $200 is the threshold at which federal law itself requires a committee to identify a contributor, so it is the line Congress drew rather than one we invented. And it is where the public interest is thinnest: a person who gave $10 is a private individual whose name adds nothing a reader needs, while the risk of turning a transparency record into a harassment tool is real. The large contributions — which is to say nearly all of the money — are unaffected.
How contributions are grouped
- Records are aggregated per contributor per committee. Someone who gave to two committees appears once under each.
- Contributors are matched on normalized name. Two different people with the same name in the same dataset will be merged; this is a known limitation of name-based matching and is why the FEC filing itself remains the authority.
- Duplicate transactions — the same transaction ID appearing in more than one source extract — are counted once.
- Only rows the filer marked as an individual (
entity_type = IND) appear as donors. Committee-to-committee transfers are excluded from the donor index; they are money moving between organizations, not personal giving.
What this database does not tell you
A contribution is a contribution. It records that a named person gave a stated amount to a stated committee on a stated date, and nothing beyond that. It is not evidence of what the contributor believes, what they knew about how the money would be spent, or what they intended to support. Committees spend money on many things, and contributors frequently disagree with some of them.
Readers drawing conclusions about any individual should read the underlying filing, which is linked from the FEC for every record.
Legal basis for publication
Federal campaign finance records are public by statute, and the FEC publishes them for exactly this purpose. 11 CFR 104.15 restricts the use of contributor information: it may not be used to solicit contributions or for any commercial purpose. That rule expressly permits use in news stories, commentary and editorial material, which is the use made here.
Visitors are likewise not permitted to use this data to solicit or for commercial purposes. This database is free, is not sold, is not licensed, and no part of it is offered as a product or mailing list.
Corrections and removal
If a record here is wrong, we want to fix it, and we would rather hear about it than not. Write to the contact address on the About page with the contributor name, committee and date, and we will check it against the filing and correct or remove it.
Where a filing itself is wrong, the FEC amendment process is the route to a permanent fix, and we will reflect an amendment once it is filed. Separately, if appearing in this index creates a documented risk to someone's personal safety, write and explain the circumstances; we will consider removal on that basis even though the underlying record is public.
Rebuilding the data
The dataset is produced by a script that reads the source workbook and writes the published JSON, followed by a verification pass that must succeed before anything is deployed:
python etl_redact.py --out . && python verify_redaction.py --dir data