Position summary
Pennsylvania bars corporations from contributing directly to candidates (25 P.S. § 3253), so corporate money must move through a PAC and rarely looks corporate at state level. That is why donors carry an industry tag and, where a chain could be traced, an ultimate source.
Every politician
| Politician | Office | Party | Total received | Org / Indiv | Donors |
|---|
One row per politician, not per committee — PA re-issues candidate filer IDs each election year and a politician often files under several vehicles at once. Click a row to see their donors.
Every donor
| Donor | Type | State | Total given | Recipients | Industry |
|---|
Name variants are collapsed — “Jeff Yass”, “Jeffrey Yass” and “Jeffery Yass” are one entity. Click a row to see every politician they funded.
Explorer · walk the network in either direction
Donors
Politicians
Left panel: who funded the selected politician. Right panel: who the selected donor funded. Clicking a name in either panel moves the other.
Method, and what not to trust
Completeness
This page carries all 1,353 politicians, all 356,382 resolved donor entities and all 189,216 donor-to-politician links — no threshold, no top-N cut. The data is gzipped and decompressed in your browser, which is why nothing had to be dropped to make it load. Individual receipt-level rows (3.3M of them) live in the CSV layer; the natural grain for a two-way explorer is the donor-to-politician relationship.
Four things to know before quoting any number
1. All donor classification is derived. No jurisdiction publishes a reliable corporate-versus-individual flag. PA has no such field; Philadelphia's is 92% “Not Specified”; only the FEC's entity code is dependable.
2. Totals use primary rows only. 46% of Philadelphia dollars ($80.1M) duplicate a PA state row for committees filing in both places. Duplicates are flagged, not deleted.
3. Entities are resolved conservatively. A wrong merge invents an influence claim, so borderline matches go to a review queue (38,140 pairs). Each name variant is keyed by name plus ZIP or state and employer, so same-named people in different places are kept apart. The 2026-08-04 build collapsed them; this build does not.
4. PAC money is traced pro-rata. Each funder is credited its share of a PAC's receipts, carried through PAC-to-PAC transfers and counted once, where the money leaves the PAC network. The chain diagrams still follow a PAC's dominant funder (50% or more of receipts), so a PAC funded 45/45/10 shows no single chain.
Defects caught by auditing output
Four different Williamses merged into one donor. A Reading PA “John M. Arnold” folded into the Houston megadonor. Comma-stripping reversed every federal name, so FITZPATRICK, BRIAN parsed as first-name Fitzpatrick and federal records never matched their PA counterparts. Regexes ending in a word boundary meant CARPENTER never matched “CARPENTERS”. An industry rule matching BRIDGE tagged candidate committees named “Bridget” and “Bridges” as contractors. The FEC's connected-organization field is free text for some filers and attributed Commonwealth Leaders Fund to a sponsor named “DEATON” — a $16M misattribution. Counting each layer of a PAC chain in full tripled the Yass total. Dual-filed gifts were missed as duplicates when only one copy had been linked to a politician. A filer used the donor-name field to write “SEE LIST ATTACHED TO COVER LETTER”, which still appears as a $0.09M donor.