RepublicanNot in office · last served 2016Lost the 2026 general

Bill O'Brien

Last held office: New Hampshire House of Representatives, District 505 (2012–2016). Lost the 2026 race for New Hampshire House of Representatives: Hillsborough 40.

Last office: New Hampshire House of Representatives, District 505

Last margin
−3.3
Lost 2020

Source: Wikidata, congress-legislators and Open States; 99chambers legislative records

Career

Offices held, and every time O'Brien was on a ballot. Filled marks are general elections won; hollow marks are primaries; an orange outline is a loss.

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

Every race O'Brien has run

Baseline: how the seat voted for president in the same or nearest year. Running ahead of it means O'Brien won voters the party’s presidential nominee did not; primaries have no baseline.

Source: 99chambers results archive; 2026: civicAPI (unofficial)Updated Nov 8, 2026, 7:01 PM ET

Seats O'Brien has held

Source: 99chambers results archive

Who O'Brien has run against

Source: 99chambers results archive; 2026: civicAPI (unofficial)