visualizedata.org

Demo page: real public data, in a page layout that is still being designed. Numbers are as the sources published them on the build date shown at the bottom.

Pennsylvania / Senate

How did Pennsylvania vote for the Senate?

2024 · data family: electiondata.dev

Dave Mccormick (Republican) won by 0.2 points

0.2ptsSenate, 2024: winner's margin

Compare every state: where Pennsylvania ranks for 2024

Every regular Senate election in Pennsylvania since 197617 regular elections; Democrats were ahead in 4 and Republicans in 13.
R +40.0R +20.0evenD +20.019801990200020102020
Indicator: Democratic candidate's share of Senate votes minus the Republican's, points (regular elections; special elections are in the table)Source: electiondata.dev senate-results, version 2026-10-25.247421eda6; MIT Election Data and Science Lab, U.S. Senate statewide 1976-2024
Show the numbers (17 rows)
YearMargin
2024R +0.2
2022D +4.9
2018D +12.9
2016R +1.4
2012D +9.1
2010R +2.0
2006D +17.4
2004R +10.6
2000R +6.9
1998R +26.6
1994R +2.5
1992R +2.8
1988R +34.0
1986R +13.6
1982R +20.1
1980R +2.4
1976R +5.6

Every Senate race since 1976

RaceWinnerRunner-upMarginVotes
2024Dave Mccormick (R) 48.8%Robert P. Casey Jr (D) 48.6%0.2 pts6,963,137
2022John K. Fetterman (D) 51.2%Mehmet C. Oz (R) 46.3%4.9 pts5,368,021
2018Robert P. Casey Jr (D) 55.6%Louis J. Barletta (R) 42.7%12.9 pts4,994,643
2016Patrick J. Toomey (R) 48.8%Katie Mcginty (D) 47.3%1.4 pts6,051,856
2012Robert P. Casey Jr. (D) 53.7%Tom Smith (R) 44.6%9.1 pts5,627,422
2010Pat Toomey (R) 51.0%Joe Sestak (D) 49.0%2.0 pts3,977,661
2006Bob Casey Jr. (D) 58.6%Rick Santorum (R) 41.3%17.4 pts4,081,043
2004Arlen Specter (R) 52.6%Joseph M. Hoeffel (D) 42.0%10.6 pts5,559,105
2000Rick Santorum (R) 52.4%Ron Klink (D) 45.5%6.9 pts4,735,116
1998Arlen Specter (R) 61.3%Bill Lloyd (D) 34.8%26.6 pts2,957,499
1994Rick Santorum (R) 49.4%Harris Wofford (D) 46.9%2.5 pts3,513,361
1992Arlen Specter (R) 49.1%Lynn Yeakel (D) 46.3%2.8 pts4,802,410
1988John Heinz (R) 66.5%Joe Vignola (D) 32.4%34.0 pts4,366,598
1986Arlen Specter (R) 56.4%Bob Edgar (D) 42.9%13.6 pts3,378,226
1982John Heinz (R) 59.3%Cyril H. Wecht (D) 39.2%20.1 pts3,604,108
1980Arlen Specter (R) 50.5%Pete Flaherty (D) 48.0%2.4 pts4,418,042
1976H. John Heinz Iii (R) 52.4%William J. Green (D) 46.8%5.6 pts4,546,353

Get this data

This page's numbers, as JSON:

curl https://visualizedata.org/data/places/us-pa/senate.json

Every Senate race, every state, from electiondata.dev (live, no key):

curl "https://api.electiondata.dev/v1/senate-results/download/senate-results.csv"

Open the JSON

What this can't tell you

  • Statewide totals say nothing about who voted or why.
  • Candidates with a party's support under another name (Minnesota's DFL, New York's fusion lines) are counted with that party, as the MIT data's simplified party does; independents stay independents.

How the answer is decided

Each candidate's votes are summed over every ballot line; blank, over- and under-votes are left out. The margin is the winner's share of the votes minus the runner-up's. A runoff, where held, is the result.

Sources