John Ruckelshaus
Photo: Office of Congresswoman Susan Brooks, Public domain
RepublicanNot in office · last served 2020Lost the 2026 general

John Ruckelshaus

Last held office: Indiana State Senate, District 30 (2016–2020). Lost the 2026 race for Indiana Senate District 29.

Last office: Indiana State Senate, District 30

Last margin
−23.6
Lost 2026

Source: Wikidata, congress-legislators and Open States; 99chambers legislative recordsUpdated Oct 27, 2026, 1:52 PM ET

Career

Offices held, and every time Ruckelshaus 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 Ruckelshaus has run

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

YearOfficeStageResultOpponentsShareMarginBaselineAgainst baseline
2026Indiana Senate District 29GeneralLostKristina Moorhead (D)38.2%D+23.6D+14.6−9.0
2020Indiana State Senate, District 30GeneralLostFady Qaddoura (D)47.4%D+5.1—
2016Indiana State Senate, District 30GeneralWonPamela L. Hickman (D), Zachary Roberts (L)50.7%R+5.0—
1990Indiana House of Representatives, District 49GeneralWonPaul S. Mannweiler (R), John S. Keeler (R), Mae Dickinson (D)19%D+0.7—

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

Seats Ruckelshaus has held

Source: 99chambers results archive

Who Ruckelshaus has run against

Source: 99chambers results archive; 2026: Indiana Election Division and civicAPI (unofficial)

How we know Ruckelshaus

One person, matched across every source we use.

Source: Identity links: Wikidata, congress-legislators, Open States, FECUpdated Oct 27, 2026, 1:52 PM ET