| Source | What we take | Link |
|---|---|---|
| VoteHub polls API | Generic congressional ballot + presidential approval polls (free public API) | votehub.com/polls/api |
| ElectIndex | Quantitative model: per-race probabilities, factor decomposition (fundamentals, polling, fundraising, candidate quality, county trends, demographics), race polls, daily chamber timeline, Census ACS demographics, 2016–2024 presidential results per seat | github.com/ElectIndex/26_us_forecast_data |
| 270toWin | Every forecaster's race ratings (Cook, Sabato, Inside Elections, Split Ticket, Decision Desk, RacetotheWH, Fox, Almanac, consensus, Kalshi-derived), one page per chamber | Senate · House · Gov |
| FiftyPlusOne | G. Elliott Morris's House + Senate model: per-race win probabilities and chamber toplines | fiftyplusone.news/forecast |
| Grant's Election Forecast | Open hierarchical Bayesian House + Senate model (outputs/*.json), with published backtests | github.com/grantbw4/2026-midterms-forecast |
| PredictIt | Senate, House-district and chamber-control market prices (public API) | predictit.org/api/marketdata |
| Kalshi | Chamber-control + per-race market prices (public REST API) | api.elections.kalshi.com |
| Polymarket | House/Senate control market prices (Gamma API) | polymarket.com/predictions/midterms |
| NCSL | 2026 statewide primary dates | ncsl.org |
| US Census | Cartographic boundaries (states + 119th-Congress districts) and ACS voting-age population | census.gov GENZ2024 |
| Pew / Catalist | Approximate 2024 vote-by-demographic baselines for the demographic sliders | Pew validated voters |
One row per snapshot per source per race — this accumulates daily and never gets pruned.
Nothing is thrown away — these are the untouched API responses and pages each collection run saved before parsing. This is the corpus for training future models.