2026Flipped from RepublicanCalled Nov 3Unofficial resultsIncumbent defeated

2026 election for Pennsylvania's 7th District

U.S. House · Pennsylvania

Bob Brooks (D) won with 56.1% of the vote, defeating Ryan Mackenzie (R) by 12.2 points, flipping a seat Republicans held.

Bob BrooksDemocrat · winner
56.1%164,543
Ryan MackenzieRepublican · incumbent
43.9%128,738
85% of the expected vote counted · 293,281 votes

Source: civicAPI unofficial results and race callsUpdated Nov 7, 2026, 7:00 PM ET

The seat over time

D − R margin in this seat's races around 2026

The seat's recent races

EvenD+2.02022R+1.02024R+3.32024 Pres.D+12.22026

Source: Past results: 99chambers results archive (MEDSL, Klarner, state election offices)

Money in this race

Each line compares the two sides on one scale: their campaigns, and outside groups spending for them or against their opponent.

Bob BrooksRyan Mackenzie
$5.3M
Raised by the campaign
$5.3M
$4.6M
Spent by the campaign
$4.3M
$741.6K
Cash on hand
$1.1M
$4.6M
Outside spending for them
$869.8K
$9.6M
Outside spending against their opponent
$2.3M
$19.5M
All money helping them
$8.5M

Top funders

Outside groups and direct contributors, ranked by what they put in; the color shows which candidate it helps.

HMPAgainst Mackenzie$7.7M
Stronger Together PAFor Brooks$1.7M
SAFETY & AFFORDABILITY PAC INC.Against Brooks$1.2M
NO GOING BACK PAC INC.For Mackenzie, against Brooks$663.3K
America PACFor Mackenzie, against Brooks$634.3K
LCV Victory FundAgainst Mackenzie$584.3K
Progressive Turnout ProjectFor Brooks$515K
LEAD LEFT PACAgainst Brooks$312.4K
J Street Action FundAgainst Mackenzie$278.6K
JOBS AND DEMOCRACY PACFor Brooks$263.3K
AMERICA FIRST AGRICULTURE ACTION INC.For Mackenzie$239.1K
American Federation of State County & Municipal Employees PEOPLEAgainst Mackenzie$232.9K
SEIU COPE (Service Employees International Union Committee On Political Education)For Brooks$227.7K
Show 5 more

Campaign money: FEC, through Oct 14, 2026. Outside spending: independent expenditures by super PACs, parties and other groups, primary and general, as reported to the FEC through Nov 1, 2026, updated Nov 3, 2026. It leaves out spending not reported as independent expenditures (most issue ads and much dark money), so it understates all outside money. The FEC lists only each candidate's largest spenders; totals count every spender.

Source: FEC campaign filings; FEC independent expendituresUpdated Nov 3, 2026, 1:05 AM ET

Polls against the result

The final average had Brooks ahead by 5.2. Brooks won by 12.2: a 7.0-point miss toward Republicans.

R+10EvenD+10Result D+12.2Final average D+5.2Jul 1Aug 1Sep 1Oct 1Nov 3
  • Poll with Brooks ahead
  • Poll with Mackenzie ahead
  • Final polling average
  • Result
PollsterDatesSampleBrooksMackenzieMarginAdjustedMiss vs resultGradeRelease
The New York Times/Siena University for The Philadelphia InquirerOct 16–Oct 22401 LV49.2544.15D+5.1D+4.9−7.1Anytimes.com ↗
Muhlenberg CollegeOct 6–Oct 15529 LV4943D+6D+6.1−6.2Amuhlenberg.edu ↗
Franklin & Marshall CollegeSep 9–Sep 20350 RV4540D+5D+2.6−7.2B−wgal.com ↗
GBAO for House Majority PACD-sponsoredJun 29–Jul 2— LV4743D+4D+4.2−8.2Cnotus.org ↗

Adjusted: after correcting for the pollster's house effect and likely-voter screens. Miss: the poll's margin minus the result; + means the poll leaned Democratic. Grade: the pollster's accuracy in past elections, A+ to D (pollster ratings).

Source: Each poll's release, via The New York Times poll listsUpdated Oct 22, 2026

Pre-election forecast (final, Nov 3)

Our model's last run before Election Day, Nov 3, 2026. It no longer updates.

Bob Brooks
85%
Ryan Mackenzie
15%
Projected margin
D+5.6
How the forecast works →

Changes to this page

  • · Race called for Brooks.