{
  "candidates": [
    {
      "ballot_status": "certified",
      "party": "Republican",
      "person": "jd-vance",
      "running_mate": null
    },
    {
      "ballot_status": "certified",
      "party": "Democratic",
      "person": "tim-ryan",
      "running_mate": null
    }
  ],
  "cycle": 2022,
  "date": "2022-11-08",
  "district": null,
  "id": "2022-us-senate",
  "notes": "P3-03. Candidates with a page are listed alphabetically by surname (N-5); Ohio rotates ballot order by precinct.",
  "office": "U.S. Senator from Ohio",
  "office_slug": "us-senate",
  "research_ref": [
    "cracked-buckeye-political@227826cce4a0ba161340ffd8153332cbe6cb2d5d:data/candidates-2022/j-d-vance.md",
    "cracked-buckeye-political@227826cce4a0ba161340ffd8153332cbe6cb2d5d:data/candidates-2022/tim-ryan.md",
    "cracked-buckeye-political@227826cce4a0ba161340ffd8153332cbe6cb2d5d:data/candidates-2022/README.md"
  ],
  "result": {
    "certified": "2022-12",
    "sources": [
      {
        "accessed": "2026-09-19",
        "publisher": "Wikipedia",
        "title": "2022 United States Senate election in Ohio",
        "url": "https://en.wikipedia.org/wiki/2022_United_States_Senate_election_in_Ohio"
      }
    ],
    "totals": [
      {
        "pct": 53.0,
        "person": "jd-vance",
        "votes": 2192114
      },
      {
        "pct": 46.9,
        "person": "tim-ryan",
        "votes": 1939489
      }
    ],
    "turnout": null,
    "winner": "jd-vance"
  },
  "seat": {
    "holder": null,
    "note": "The seat of retiring Sen. Rob Portman (R), an open-seat race.",
    "sources": [
      {
        "accessed": "2026-09-19",
        "publisher": "Wikipedia",
        "title": "2022 United States Senate election in Ohio",
        "url": "https://en.wikipedia.org/wiki/2022_United_States_Senate_election_in_Ohio"
      }
    ],
    "status": "open"
  },
  "sources": [
    {
      "accessed": "2026-09-19",
      "publisher": "Wikipedia",
      "title": "2022 United States Senate election in Ohio",
      "url": "https://en.wikipedia.org/wiki/2022_United_States_Senate_election_in_Ohio"
    },
    {
      "accessed": "2026-09-19",
      "publisher": "Ballotpedia",
      "title": "United States Senate election in Ohio, 2022",
      "url": "https://ballotpedia.org/United_States_Senate_election_in_Ohio,_2022"
    }
  ],
  "type": "race",
  "unpaged_candidates": [],
  "updated": "2026-09-19",
  "symmetry": {
    "ratio": 2.0,
    "candidates": [
      {
        "person": "jd-vance",
        "name": "J.D. Vance",
        "counts": {
          "finance": 1,
          "donors": 1,
          "outside_spending": 1,
          "polling": 2,
          "candidacies": 1,
          "claims": 0,
          "ballot": 0,
          "money": 3,
          "elections": 1
        },
        "whole_counts": {
          "positions": 3,
          "record": 3,
          "net_worth": 1,
          "interests": 3,
          "endorsements_given": 0,
          "endorsements_received": 0,
          "offices": 2,
          "sources": 10,
          "profile": 6,
          "endorsements": 0
        },
        "all_counts": {
          "positions": 3,
          "record": 3,
          "finance": 1,
          "donors": 1,
          "outside_spending": 1,
          "net_worth": 1,
          "interests": 3,
          "polling": 2,
          "candidacies": 1,
          "endorsements_given": 0,
          "endorsements_received": 0,
          "offices": 2,
          "sources": 10,
          "claims": 0,
          "profile": 6,
          "ballot": 0,
          "money": 3,
          "elections": 1,
          "endorsements": 0
        }
      },
      {
        "person": "tim-ryan",
        "name": "Tim Ryan",
        "counts": {
          "finance": 1,
          "donors": 3,
          "outside_spending": 0,
          "polling": 2,
          "candidacies": 1,
          "claims": 0,
          "ballot": 0,
          "money": 4,
          "elections": 1
        },
        "whole_counts": {
          "positions": 4,
          "record": 3,
          "net_worth": 0,
          "interests": 0,
          "endorsements_given": 0,
          "endorsements_received": 0,
          "offices": 2,
          "sources": 11,
          "profile": 4,
          "endorsements": 0
        },
        "all_counts": {
          "positions": 4,
          "record": 3,
          "finance": 1,
          "donors": 3,
          "outside_spending": 0,
          "net_worth": 0,
          "interests": 0,
          "polling": 2,
          "candidacies": 1,
          "endorsements_given": 0,
          "endorsements_received": 0,
          "offices": 2,
          "sources": 11,
          "claims": 0,
          "profile": 4,
          "ballot": 0,
          "money": 4,
          "elections": 1,
          "endorsements": 0
        }
      }
    ],
    "per_race": {
      "sections": {
        "ballot": {
          "max": 0,
          "min": 0,
          "ratio": null,
          "skewed": false
        },
        "candidacies": {
          "max": 1,
          "min": 1,
          "ratio": 1.0,
          "skewed": false
        },
        "claims": {
          "max": 0,
          "min": 0,
          "ratio": null,
          "skewed": false
        },
        "donors": {
          "max": 3,
          "min": 1,
          "ratio": 3.0,
          "skewed": true
        },
        "elections": {
          "max": 1,
          "min": 1,
          "ratio": 1.0,
          "skewed": false
        },
        "finance": {
          "max": 1,
          "min": 1,
          "ratio": 1.0,
          "skewed": false
        },
        "money": {
          "max": 4,
          "min": 3,
          "ratio": 1.3333333333333333,
          "skewed": false
        },
        "outside_spending": {
          "max": 1,
          "min": 0,
          "ratio": null,
          "skewed": true
        },
        "polling": {
          "max": 2,
          "min": 2,
          "ratio": 1.0,
          "skewed": false
        }
      },
      "skewed": [
        "donors"
      ],
      "notes": [
        "Donors, in this race: 3 for Tim Ryan, 1 for J.D. Vance. The gap is in our research, not in them."
      ]
    },
    "whole_record": {
      "sections": {
        "endorsements": {
          "max": 0,
          "min": 0,
          "ratio": null,
          "skewed": false
        },
        "endorsements_given": {
          "max": 0,
          "min": 0,
          "ratio": null,
          "skewed": false
        },
        "endorsements_received": {
          "max": 0,
          "min": 0,
          "ratio": null,
          "skewed": false
        },
        "interests": {
          "max": 3,
          "min": 0,
          "ratio": null,
          "skewed": true
        },
        "net_worth": {
          "max": 1,
          "min": 0,
          "ratio": null,
          "skewed": true
        },
        "offices": {
          "max": 2,
          "min": 2,
          "ratio": 1.0,
          "skewed": false
        },
        "positions": {
          "max": 4,
          "min": 3,
          "ratio": 1.3333333333333333,
          "skewed": false
        },
        "profile": {
          "max": 6,
          "min": 4,
          "ratio": 1.5,
          "skewed": false
        },
        "record": {
          "max": 3,
          "min": 3,
          "ratio": 1.0,
          "skewed": false
        },
        "sources": {
          "max": 11,
          "min": 10,
          "ratio": 1.1,
          "skewed": false
        }
      },
      "skewed": [],
      "notes": []
    },
    "sections": {
      "endorsements": {
        "max": 0,
        "min": 0,
        "ratio": null,
        "skewed": false
      },
      "endorsements_given": {
        "max": 0,
        "min": 0,
        "ratio": null,
        "skewed": false
      },
      "endorsements_received": {
        "max": 0,
        "min": 0,
        "ratio": null,
        "skewed": false
      },
      "interests": {
        "max": 3,
        "min": 0,
        "ratio": null,
        "skewed": true
      },
      "net_worth": {
        "max": 1,
        "min": 0,
        "ratio": null,
        "skewed": true
      },
      "offices": {
        "max": 2,
        "min": 2,
        "ratio": 1.0,
        "skewed": false
      },
      "positions": {
        "max": 4,
        "min": 3,
        "ratio": 1.3333333333333333,
        "skewed": false
      },
      "profile": {
        "max": 6,
        "min": 4,
        "ratio": 1.5,
        "skewed": false
      },
      "record": {
        "max": 3,
        "min": 3,
        "ratio": 1.0,
        "skewed": false
      },
      "sources": {
        "max": 11,
        "min": 10,
        "ratio": 1.1,
        "skewed": false
      },
      "ballot": {
        "max": 0,
        "min": 0,
        "ratio": null,
        "skewed": false
      },
      "candidacies": {
        "max": 1,
        "min": 1,
        "ratio": 1.0,
        "skewed": false
      },
      "claims": {
        "max": 0,
        "min": 0,
        "ratio": null,
        "skewed": false
      },
      "donors": {
        "max": 3,
        "min": 1,
        "ratio": 3.0,
        "skewed": true
      },
      "elections": {
        "max": 1,
        "min": 1,
        "ratio": 1.0,
        "skewed": false
      },
      "finance": {
        "max": 1,
        "min": 1,
        "ratio": 1.0,
        "skewed": false
      },
      "money": {
        "max": 4,
        "min": 3,
        "ratio": 1.3333333333333333,
        "skewed": false
      },
      "outside_spending": {
        "max": 1,
        "min": 0,
        "ratio": null,
        "skewed": true
      },
      "polling": {
        "max": 2,
        "min": 2,
        "ratio": 1.0,
        "skewed": false
      }
    },
    "skewed": [
      "donors"
    ],
    "race": "2022-us-senate",
    "notes": [
      "Donors, in this race: 3 for Tim Ryan, 1 for J.D. Vance. The gap is in our research, not in them."
    ]
  },
  "candidate_links": [
    {
      "person": "jd-vance",
      "name": null,
      "url": "https://crackedbuckeye.com/people/jd-vance/",
      "api": "https://crackedbuckeye.com/api/politics/people/jd-vance.json"
    },
    {
      "person": "tim-ryan",
      "name": null,
      "url": "https://crackedbuckeye.com/people/tim-ryan/",
      "api": "https://crackedbuckeye.com/api/politics/people/tim-ryan.json"
    }
  ],
  "claims": [],
  "_meta": {
    "generated": "2026-09-19",
    "license": "CC BY 4.0 for the compilation; each source keeps its own terms",
    "cite": "Cracked Buckeye (Open Shower Co), \"U.S. Senator from Ohio, 2022\", https://crackedbuckeye.com/election/2022/us-senate/, built 2026-09-19, accessed [date].",
    "schema": "https://crackedbuckeye.com/api/politics/schema.json",
    "url": "https://crackedbuckeye.com/election/2022/us-senate/",
    "api": "https://crackedbuckeye.com/api/politics/races/2022-us-senate.json"
  },
  "cite": "Cracked Buckeye (Open Shower Co), \"U.S. Senator from Ohio, 2022\", https://crackedbuckeye.com/election/2022/us-senate/, built 2026-09-19, accessed [date].",
  "url": "https://crackedbuckeye.com/election/2022/us-senate/",
  "api": "https://crackedbuckeye.com/api/politics/races/2022-us-senate.json",
  "license": "CC BY 4.0 for the compilation; each source keeps its own terms",
  "generated": "2026-09-19",
  "schema": "https://crackedbuckeye.com/api/politics/schema.json"
}
