Bob Brooks (D)
- Raised
- $5.3M
- Spent
- $4.6M
- Cash on hand
- $742K
Campaign reports through Oct. 14, 2026.
Outside spending, general election
Primary and other: $2.5M for, $321K against.
Through Oct. 30, 2026, outside groups have reported $27,647,240 in independent spending in this race: $23,254,961 for the general election and $4,392,279 in the primaries. The biggest spender in the general election so far is CLF, at $8.6M.
On the November ballot: Bob Brooks (D) and Ryan Mackenzie (R).
No new outside spending reported.
On the ballot: Ryan Mackenzie (R), Bob Brooks (D). Vote counts and the call will show here on election night, updated every minute.
Results and race calls from civicAPI (opens in a new tab), from state election offices. Outside money from FEC filings.
Bob Brooks (D)
$11.7M 50%
$1.9M supporting Bob Brooks and $9.8M attacking Ryan Mackenzie
Ryan Mackenzie (R)
$11.6M 50%
$977K supporting Ryan Mackenzie and $10.6M attacking Bob Brooks
A candidate’s total adds money spent supporting them to money spent attacking their opponent.
3 days until Election Day, Tuesday, Nov. 3.
Campaign reports through Oct. 14, 2026.
Primary and other: $2.5M for, $321K against.
Campaign reports through Oct. 14, 2026.
Primary and other: $0 for, $7K against.
November ballot as listed by this source (opens in a new tab) on Oct. 1, 2026. Party letters: D Democrat, R Republican, I independent, L Libertarian, G Green.
Campaign reports through Sept. 30, 2026.
Campaign reports through Sept. 30, 2026.
Others who filed with the FEC: Carol Obando-Derstine (D), raised $593,313; Mark Pinsley (D), raised $179,912.
| Spender | Spent on | General | Primary | Total | Latest |
|---|---|---|---|---|---|
| CLFHybrid PAC · $6.3M in late reports | AGAINST Bob Brooks (D) | $8.6M | – | $8.6M | Oct. 27, 2026 |
| HMPHybrid PAC · $7.2M in late reports | AGAINST Ryan Mackenzie (R)FOR Bob Brooks (D) | $7.8M | – | $7.8M | Oct. 28, 2026 |
| Safety & Affordability PACSuper PAC · $1.2M in late reports | AGAINST Bob Brooks (D) | $1.2M | – | $1.2M | Oct. 26, 2026 |
| No Going Back PACSuper PAC · $663K in late reports | AGAINST Bob Brooks (D)FOR Ryan Mackenzie (R) | $663K | – | $663K | Oct. 27, 2026 |
| America PACSuper PAC · $632K in late reports | AGAINST Bob Brooks (D)FOR Ryan Mackenzie (R) | $632K | – | $632K | Oct. 22, 2026 |
| LCV Victory FundSuper PAC · $517K in late reportsEnergy & climate | AGAINST Ryan Mackenzie (R) | $517K | – | $517K | Oct. 8, 2026 |
| Progressive Turnout ProjectHybrid PAC · $492K in late reports | FOR Bob Brooks (D) | $515K | – | $515K | Oct. 29, 2026 |
| Planned Parenthood VotesSuper PAC · $317K in late reportsAbortion | AGAINST Ryan Mackenzie (R) | $317K | $71 | $317K | Oct. 22, 2026 |
| J Street Action FundSuper PAC · $279K in late reports | AGAINST Ryan Mackenzie (R) | $279K | – | $279K | Oct. 20, 2026 |
| SEIU COPEPAC · $277K in late reportsHousingHealth care costs | FOR Bob Brooks (D)AGAINST Ryan Mackenzie (R) | $277K | $3K | $280K | Oct. 23, 2026 |
| America First Agriculture ActionSuper PAC · $239K in late reports | FOR Ryan Mackenzie (R) | $239K | – | $239K | Sept. 16, 2026 |
| American Federation of State County & Municipal Employees P E O P L EPAC · $233K in late reports | AGAINST Ryan Mackenzie (R) | $233K | – | $233K | Oct. 23, 2026 |
| Reproductive Freedom for All Freedom FundSuper PAC · $210K in late reportsAbortion | AGAINST Ryan Mackenzie (R) | $210K | – | $210K | Oct. 22, 2026 |
| Retired Americans ActionSuper PAC · $208K in late reports | AGAINST Ryan Mackenzie (R) | $208K | – | $208K | Oct. 12, 2026 |
| Working Families Party PACHybrid PAC · $142K in late reports | FOR Bob Brooks (D) | $142K | $41K | $183K | Oct. 15, 2026 |
| In Union USASuper PAC · $103K in late reports | AGAINST Ryan Mackenzie (R)FOR Bob Brooks (D) | $130K | – | $130K | Oct. 28, 2026 |
| AB PACHybrid PAC · $115K in late reports | FOR Bob Brooks (D) | $115K | – | $115K | Oct. 27, 2026 |
| Workers VoteSuper PAC · $105K in late reports | FOR Bob Brooks (D) | $105K | – | $105K | Oct. 23, 2026 |
| Relentless PACHybrid PAC · $103K in late reports | FOR Bob Brooks (D) | $103K | – | $103K | Oct. 7, 2026 |
| End Citizens UnitedPAC · $50K in late reports | AGAINST Ryan Mackenzie (R) | $100K | – | $100K | Oct. 26, 2026 |
| Resist Reclaim Rebuild PACPAC · $100K in late reports | FOR Bob Brooks (D) | $100K | – | $100K | Oct. 1, 2026 |
| Maremoto ActionOutside spender (not a PAC) · $100K in late reports | FOR Bob Brooks (D) | $100K | – | $100K | Oct. 27, 2026 |
| Early Vote Action PACSuper PAC · $62K in late reports | FOR Ryan Mackenzie (R) | $62K | – | $62K | Oct. 19, 2026 |
| Unidosus Action PACSuper PAC · $60K in late reportsImmigration | FOR Bob Brooks (D) | $60K | – | $60K | Sept. 26, 2026 |
| MAGAHybrid PAC · $49K in late reports | AGAINST Bob Brooks (D) | $49K | – | $49K | Oct. 8, 2026 |
| National Association of Realtors Political Action CommitteePAC · $44K in late reportsHousing | FOR Ryan Mackenzie (R) | $44K | – | $44K | Oct. 8, 2026 |
| Campaign for Working Class CommunitiesOutside spender (not a PAC) · $35K in late reports | FOR Bob Brooks (D)AGAINST Ryan Mackenzie (R) | $35K | – | $35K | Oct. 26, 2026 |
| Working AmericaOutside spender (not a PAC) · $34K in late reports | FOR Bob Brooks (D)AGAINST Ryan Mackenzie (R) | $34K | – | $34K | Oct. 29, 2026 |
| Associated Builders and Contractors Political Action CommitteePAC · $33K in late reports | FOR Ryan Mackenzie (R) | $33K | – | $33K | Oct. 2, 2026 |
| MoveOn.org Political ActionHybrid PAC · $32K in late reports | FOR Bob Brooks (D) | $32K | – | $32K | Oct. 26, 2026 |
| Rural Freedom NetworkSuper PAC | FOR Bob Brooks (D)AGAINST Ryan Mackenzie (R) | $32K | – | $32K | Sept. 15, 2026 |
| Driving Force ActionSuper PAC · $32K in late reports | FOR Ryan Mackenzie (R) | $32K | – | $32K | Oct. 2, 2026 |
| Care in Action PACSuper PAC · $27K in late reports | FOR Bob Brooks (D) | $27K | – | $27K | Oct. 21, 2026 |
| Seniors Empowering an Effective DemocracySuper PAC · $2K in late reports | FOR Bob Brooks (D) | $27K | – | $27K | Oct. 29, 2026 |
| Make the Road Action Political CommitteeSuper PAC · $24K in late reports | FOR Bob Brooks (D) | $24K | $31K | $54K | Sept. 9, 2026 |
| Momsrising TogetherOutside spender (not a PAC) · $24K in late reports | FOR Bob Brooks (D) | $24K | – | $24K | Oct. 14, 2026 |
| Common Ground Coalition PACSuper PAC · $23K in late reports | AGAINST Ryan Mackenzie (R)FOR Bob Brooks (D) | $23K | – | $23K | Oct. 1, 2026 |
| Building TogetherHybrid PAC · $22K in late reports | AGAINST Ryan Mackenzie (R)FOR Bob Brooks (D) | $22K | – | $22K | Oct. 29, 2026 |
| Community Change VotersSuper PAC · $16K in late reports | FOR Bob Brooks (D) | $16K | – | $16K | Aug. 27, 2026 |
| Thomas Paine SocietyOutside spender (not a PAC) | FOR Bob Brooks (D) | $16K | – | $16K | Aug. 23, 2026 |
| Future Pennsylvania PACSuper PAC · $13K in late reports | AGAINST Ryan Mackenzie (R)FOR Bob Brooks (D) | $13K | – | $13K | Oct. 28, 2026 |
| NRA Victory FundSuper PAC · $7K in late reports | FOR Ryan Mackenzie (R) | $7K | – | $7K | Oct. 15, 2026 |
| Neighbor Voices PACSuper PAC · $5K in late reports | FOR Bob Brooks (D)AGAINST Ryan Mackenzie (R) | $5K | – | $5K | Oct. 26, 2026 |
| Free the Ballot! Incarcerated Voter Family NetworkOutside spender (not a PAC) · $4K in late reports | FOR Bob Brooks (D) | $4K | – | $4K | Oct. 27, 2026 |
| Popular Democracy PACHybrid PAC · $3K in late reports | AGAINST Ryan Mackenzie (R) | $3K | – | $3K | Oct. 9, 2026 |
| Clean WaveSuper PAC · $3K in late reports | FOR Bob Brooks (D) | $3K | – | $3K | Oct. 29, 2026 |
| Indivisible ActionHybrid PAC · $3K in late reports | FOR Bob Brooks (D) | $3K | – | $3K | Oct. 29, 2026 |
| Activate AmericaSuper PAC | AGAINST Ryan Mackenzie (R)FOR Bob Brooks (D) | $2K | – | $2K | July 7, 2026 |
| Indigo PACSuper PAC | AGAINST Ryan Mackenzie (R) | $2K | – | $2K | Nov. 3, 2025 |
| Field Team 6Super PAC | FOR Bob Brooks (D)AGAINST Ryan Mackenzie (R) | $1K | $1K | $2K | Sept. 30, 2026 |
| D.r.i.v.e. - Dem, Rep, Ind Voter EdPAC · $620 in late reports | FOR Bob Brooks (D) | $620 | – | $620 | Oct. 27, 2026 |
| The People United PACSuper PAC | FOR Bob Brooks (D) | $50 | – | $50 | May 21, 2026 |
| Pennsylvania Pro-Life Federation PACPAC | AGAINST Bob Brooks (D)FOR Ryan Mackenzie (R) | $46 | – | $46 | Sept. 22, 2026 |
| Givegreen United ActionSuper PAC | FOR Bob Brooks (D) | $37 | – | $37 | June 25, 2026 |
| Stronger Together PaSuper PAC | FOR Bob Brooks (D) | – | $1.8M | $1.8M | May 15, 2026 |
| Lead Left PACSuper PAC | FOR Lamont McClure (D)AGAINST Bob Brooks (D)AGAINST Ryan Crosswell (D) | – | $1.7M | $1.7M | May 18, 2026 |
| Jobs and Democracy PACSuper PACAI & data centers | FOR Bob Brooks (D) | – | $250K | $250K | May 15, 2026 |
| Congressional Progressive Caucus PACPAC | FOR Bob Brooks (D) | – | $140K | $140K | April 30, 2026 |
| Integrity PACHybrid PAC | FOR Ryan Crosswell (D) | – | $103K | $103K | May 19, 2026 |
| Medicare for AllLeadership PAC | FOR Bob Brooks (D) | – | $100K | $100K | May 18, 2026 |
| DLP PACHybrid PAC | FOR Bob Brooks (D) | – | $88K | $88K | April 30, 2026 |
| Renew Northeast PACSuper PAC | AGAINST Ryan Crosswell (D) | – | $85K | $85K | May 7, 2026 |
| Blue Majority ProjectHybrid PAC | FOR Bob Brooks (D) | – | $17K | $17K | Feb. 9, 2026 |
| Blue Battleground ProjectHybrid PAC | FOR Bob Brooks (D) | – | $9K | $9K | Feb. 24, 2026 |
| Kitchen Table Values PACHybrid PAC | AGAINST Bob Brooks (D) | – | $9K | $9K | May 11, 2026 |
| Youth Save Democracy PACPAC | AGAINST Ryan Mackenzie (R) | – | $6K | $6K | April 14, 2025 |
| Majority Blue PACSuper PAC | FOR Bob Brooks (D) | – | $5K | $5K | June 22, 2026 |
| Blue Shift PACSuper PAC | FOR Bob Brooks (D) | – | $5K | $5K | June 22, 2026 |
| FF PACHybrid PAC | FOR Bob Brooks (D) | – | $5K | $5K | May 18, 2026 |
| Democratic Future PACSuper PAC | FOR Bob Brooks (D) | – | $3K | $3K | April 20, 2026 |
| Blue Democracy NetworkSuper PAC | FOR Bob Brooks (D) | – | $1K | $1K | April 20, 2026 |
| Blue Majority Makers PACSuper PAC | FOR Bob Brooks (D) | – | $767 | $767 | June 22, 2026 |
| People'S Action PowerHybrid PAC | FOR Bob Brooks (D) | – | $530 | $530 | Aug. 7, 2026 |
| Surj PACPAC | FOR Bob Brooks (D) | – | $188 | $188 | May 29, 2026 |
Follow new filings in this race by RSS, updated each night.
| Date | Spender | For or against | Election | Amount |
|---|---|---|---|---|
| Oct. 29, 2026Late | Progressive Turnout ProjectField organizing | FOR Bob Brooks (D) | General | $220,721 (FEC filing) (opens in a new tab) |
| Oct. 29, 2026Late | Building TogetherEstimated cost for text messaging | AGAINST Ryan Mackenzie (R) | General | $10,955 (FEC filing) (opens in a new tab) |
| Oct. 29, 2026Late | Building TogetherEstimated cost for text messaging | FOR Bob Brooks (D) | General | $10,955 (FEC filing) (opens in a new tab) |
| Oct. 29, 2026Late | Working AmericaDigital advertising | FOR Bob Brooks (D) | General | $4,937 (FEC filing) (opens in a new tab) |
| Oct. 29, 2026Late | Indivisible ActionText messages (estimate) | FOR Bob Brooks (D) | General | $2,196 (FEC filing) (opens in a new tab) |
| Oct. 29, 2026Late | Seniors Empowering an Effective DemocracyFacebook ad | FOR Bob Brooks (D) | General | $2,000 (FEC filing) (opens in a new tab) |
| Oct. 29, 2026Late | Working AmericaDigital advertising | AGAINST Ryan Mackenzie (R) | General | $1,509 (FEC filing) (opens in a new tab) |
| Oct. 29, 2026Late | Working AmericaDigital advertising | FOR Bob Brooks (D) | General | $674 (FEC filing) (opens in a new tab) |
| Oct. 29, 2026Late | Clean WaveDoor-to-door voter contact and candidate advocacy | FOR Bob Brooks (D) | General | $600 (FEC filing) (opens in a new tab) |
| Oct. 29, 2026Late | Working AmericaSms | FOR Bob Brooks (D) | General | $286 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | HMPDigital advertising - estimate | AGAINST Ryan Mackenzie (R) | General | $241,658 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | HMPDigital advertising - estimate | AGAINST Ryan Mackenzie (R) | General | $98,750 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | In Union USADirect mail program | FOR Bob Brooks (D) | General | $12,157 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | In Union USADirect mail program | AGAINST Ryan Mackenzie (R) | General | $12,157 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | HMPDigital advertising - estimate | FOR Bob Brooks (D) | General | $8,788 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | HMPDigital advertising - estimate | FOR Bob Brooks (D) | General | $1,250 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Clean WaveDoor-to-door voter contact and candidate advocacy | FOR Bob Brooks (D) | General | $900 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising management | AGAINST Ryan Mackenzie (R) | General | $800 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACProduction of digital advertising | AGAINST Ryan Mackenzie (R) | General | $567 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising management | FOR Bob Brooks (D) | General | $200 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACProduction of digital advertising | FOR Bob Brooks (D) | General | $142 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising | AGAINST Ryan Mackenzie (R) | General | $133 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising | AGAINST Ryan Mackenzie (R) | General | $133 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising | AGAINST Ryan Mackenzie (R) | General | $133 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising | AGAINST Ryan Mackenzie (R) | General | $133 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising | AGAINST Ryan Mackenzie (R) | General | $133 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising | AGAINST Ryan Mackenzie (R) | General | $133 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising | AGAINST Ryan Mackenzie (R) | General | $133 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising | AGAINST Ryan Mackenzie (R) | General | $133 (FEC filing) (opens in a new tab) |
| Oct. 28, 2026Late | Future Pennsylvania PACDigital advertising | FOR Bob Brooks (D) | General | $33 (FEC filing) (opens in a new tab) |
FEC data as of Oct. 30, 2026. Campaign figures cover the full 2026 cycle. Current member: Rep. Ryan Mackenzie. How this works.