2026 race

OH-06 — U.S. House

2 candidates on the November ballot. Incumbent: Michael A. Rulli.

Read the record. Not the rhetoric.

See where these candidates stand — and who's funding them.

DeepSyte tracks the money and the record in every race against the issues you care about — not party, not press releases. Take the 2-minute values quiz to see your alignment.

How we got here · 2 earlier contests
Democratic primary · Tuesday, May 5, 2026
Called by audit: web-verified
Elizabeth KirtleyWon
  • DSean Michael ConnollyDefeated
  • DAdrian VitusDefeated
  • DMalcolm RitchieDefeated
  • DBrent Charles HanniDefeated
Republican primary · Tuesday, May 5, 2026
Called by audit: web-verified
Michael A. RulliWon76.7%
  • RJullie KelleyDefeated23.3%
Election held
Counting
Tuesday, November 3, 2026

Results appear here once a race is called and verified. Official returns from the Ohio Secretary of State.

Make sure you can vote
Disclosed money in race
$1.5M
Candidate + outside spending. See finance breakdown below.
Incumbent

Currently in office

Challengers

Sorted by fundraising

Elizabeth Kirtley

D
ChallengerFEC H6OH06244

Sign in + take the quiz to see alignment.

Raised this cycle$11K
Cash on hand: $4K
5 defeated candidates — show

Adrian Vitus

DDefeated
ChallengerFEC H6OH06202

Sign in + take the quiz to see alignment.

Raised this cycle$32K
Cash on hand: $967

Malcolm Ritchie

DDefeated
ChallengerFEC H6OH06160

Sign in + take the quiz to see alignment.

Raised this cycle$20K
Cash on hand: $0

Brent Charles Hanni

DDefeated
ChallengerFEC H6OH06210

Sign in + take the quiz to see alignment.

Raised this cycle$9K
Cash on hand: −$2K

Sean Michael Connolly

DDefeated
ChallengerFEC H6OH06194

Sign in + take the quiz to see alignment.

Raised this cycle$5K
Cash on hand: $2K

Jullie Kelley

RDefeated
ChallengerFEC H6OH06178

Sign in + take the quiz to see alignment.

Raised this cycle$0
Cash on hand: $0
Local signal

Early read on OH-06 — U.S. House

A directional read on where this seat is trending, from the signals we have so far. This is an early scaffold — more inputs light up as coverage and constituent activity accrue.

Coverage tone · the matchup
Recent news coverage of the nominees heading to the general election.
Michael A. Rullilimited coverage
No coverage in our tracked outlets in the last 90 days.
Elizabeth Kirtleylimited coverage
No coverage in our tracked outlets in the last 90 days.
A media signal, not a poll of the district.
Constituent stakes
No one here has staked a position on a tracked vote yet. As neighbors weigh in on /pressure campaigns, the district's lean will show up here.
Money in the race

Finance breakdown

Disclosed funding shaping this race — both the money candidates raise themselves and the outside spending dropped by independent groups. Issue-ad spending by 501(c)(4) groups is excluded; the FEC doesn't require disclosure of it. See the note below for details.

Candidate fundraising: FEC reports through October 14, 2026 · 2025–26 cycle

Total disclosed
$1.5M
Candidate fundraising + independent expenditures (FEC).
Candidate-direct (Schedule A)
$1.5M
Raised by candidate committees themselves.
Outside spending (Schedule E)
$0
No outside spending reported yet.
CandidateRaised directlyOutside forOutside againstNet in corner
Michael A. Rulli(R)incumbent
$1.4M——$1.4M
Elizabeth Kirtley(D)
$11K——$11K
5 defeated candidates — show finances
CandidateRaised directlyOutside forOutside againstNet in corner
Adrian Vitus(D)defeated
$32K——$32K
Malcolm Ritchie(D)defeated
$20K——$20K
Brent Charles Hanni(D)defeated
$9K——$9K
Sean Michael Connolly(D)defeated
$5K——$5K
Jullie Kelley(R)defeated
$0——$0
Where the money comes from

In-state vs out-of-state

Share of each candidate's itemized individual contributions from donors inside OH versus the rest of the country. Excludes sub-$200 unitemized donations (no geography on file) and PAC money — see note below.

Michael A. Rulli(R)57% in-state · $371K itemized
$212K in-state$160K out-of-state
Elizabeth Kirtley(D)100% in-state · $500 itemized
$500 in-state$0 out-of-state
4 defeated candidates — show
Adrian Vitus(D)defeated70% in-state · $20K itemized
$14K in-state$6K out-of-state
Malcolm Ritchie(D)defeated94% in-state · $3K itemized
$2K in-state$150 out-of-state
Brent Charles Hanni(D)defeated100% in-state · $7K itemized
$7K in-state$0 out-of-state
Sean Michael Connolly(D)defeated57% in-state · $1K itemized
$655 in-state$500 out-of-state
What's counted, what isn't

Candidate-direct is each campaign's reported receipts on FEC Schedule A — individual contributions plus PAC contributions to the candidate's own committee — through the most recent filing.

Outside spending is independent expenditures on FEC Schedule E: money spent by PACs, super PACs, and party committees for or against a candidate, without legal coordination with the campaign. The committees listed under each candidate are the largest disclosed spenders on either side.

In-state vs out-of-state covers only itemized individual contributions — donations over $200, which are the only ones that carry a contributor address at the FEC. Sub-$200 unitemized donations (often a large share for grassroots campaigns) have no geography on file and are excluded, as is PAC money. So the percentages describe where a candidate's itemized individual money comes from, not where every dollar raised comes from.

Not counted: 501(c)(4) "social welfare" organizations run issue ads that frequently mention candidates by name but aren't classified as express advocacy under FEC rules — they file no Schedule E and don't appear in this breakdown. Press reporting on a race may cite figures that include this dark-money spending; ours doesn't.

About this race page

Candidate roster is sourced from the FEC's active-candidate list for the 2026 cycle. Fundraising totals reflect committee filings through the last reporting period.

Alignment % compares the candidate's extracted policy positions against your quiz answers. Positions are pulled from the candidate's campaign issues page by AI; we save the source quote for each position so you can verify the extraction. Candidates without a campaign issues page show position data pending — we're working through the roster and re-checking stale extractions every 90 days.

News coverage is from the GDELT 2.0 global news feed, filtered to a curated list of national, political, and regional outlets.