Pennsylvania 7th District
Bob Brooks (challenger) (D) vs Ryan Mackenzie (incumbent) (R) · race report as of 2026-10-28
Steady ~5-pt lead; Brooks's ads have drawn fact checks
Why this race matters
Likely D
decisive seat for control
7 ratings
Catalyst forecast v2.2, as of 2026-11-02. Tipping-point share = share of simulations in which this race supplies the decisive seat. Rater consensus from published ratings. Methodology and sources.
FEC: Brooks, Bob (H6PA07188): receipts $5.35M, cash on hand $0.74M (through 2026-10-14); outside spending for $2.61M / against $2.63M. 48-hour notices since 10/15: 7 filings, $0.11M itemized. SOURCED
FEC: Mackenzie, Ryan Edward (H8PA15195): receipts $5.30M, cash on hand $1.07M (through 2026-10-14); outside spending for $0.00M / against $0.60M. 48-hour notices since 10/15: 5 filings, $0.09M itemized. SOURCED
Where it stands
Cease-and-desist (VERIFIED, snippets): Mackenzie's lawyer calls a Brooks ad, which says he opposed mental-health coverage for first responders as a state lawmaker, "defamatory and provably false" (https://www.inquirer.com/politics/pennsylvania/ryan-mackenzie-bob-brooks-cease-and-desist-20261027.html, 10-28). The campaign says Mackenzie voted for the bill when it passed the House in 2024; Brooks stands by the ad (https://www.mcall.com/2026/10/27/ryan-mackenzies-campaign-issues-cease-and-desist-over-bob-brooks-mental-health-bill-campaign-ad-brooks-stands-by-ad-claims/, 10-27). The state roll call (checked 2026-10-29) shows he voted YEA on final passage; see What changed.
Morning Call ad watch (10-28, VERIFIED headline and snippet): the anti-Mackenzie energy-costs ad "needs more context, could be misleading" (https://www.mcall.com/2026/10/28/ad-watch-anti-ryan-mackenzie-ad-that-blames-him-for-rising-energy-costs-needs-additional-context-could-be-misleading/).
Earlier (10-27 file, still headline-only): the ad watch called the anti-Brooks tips/overtime "garbage" ad misleading. Brooks withdrew from the only debate. His ex-wife disputes an ad's portrayal of their marriage.
Money: FEC 429.
Sources
Every figure above is linked to its source where it appears. FEC figures: fec.gov candidate and committee filings.
Gaps
Not yet confirmed: FEC filings; Mackenzie's congressional roll calls; ad scripts.