---
title: "Live election results API"
canonical: "https://carmenaresearch.com/election-data/live-results-api/"
publisher: "Carmena’s Overton & Electoral Research"
updated: "2026-11-05"
license: "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)"
---


# Live election results API

A live election results API built from more than 3,300 feeds, including AP, Decision Desk HQ and state and county election sites. One JSON schema, with each vote change pushed over WebSocket about a second after it is collected.

Carmena’s Overton collects live election results from more than 3,300 feeds and normalises them to one schema. Every vote change from any source is pushed within about a second of being collected, over a WebSocket and as JSON. On election night each feed is checked every 15 minutes, with the checks staggered across all 3,300 so some feed is checked every minute, and a change reaches subscribers within about a second of the check that finds it. In 2026 the feed covered about 2,200 races, each with a [live results page](/races/).

## Sources

- AP, and the media outlets that carry AP’s count: NYT, NBC, Fox, NPR and Bloomberg.
- Decision Desk HQ.
- Official state and county election sites.

When sources disagree, the newest report from any source wins. Each county or district total names the source of its current count, so one race can mix sources: in the Pennsylvania governor file on 5 November 2026, the statewide total was NPR’s and the county figures were NBC’s.

## AP race calls

The feed carries AP race calls with the time of each call. AP called the [Pennsylvania governor race](/races/pennsylvania-governor/) for Josh Shapiro at 01:01 UTC on 4 November 2026, which was 8:01 p.m. Eastern on election night.

## Public JSON endpoints

Two read-only endpoints are open to anyone, with CORS open (`Access-Control-Allow-Origin: *`):

- `https://carmenaresearch.com/live/races.json` lists every race, with its state, office, last update, share reported and the leading candidates’ vote shares.
- `https://carmenaresearch.com/live/race/<slug>.json` returns one race in full: the statewide or district total, results by county, and race calls. The slug is the one in the race page’s address, for example `pennsylvania-governor`.

This is a record from `https://carmenaresearch.com/live/race/pennsylvania-governor.json`, fetched on 5 November 2026 and trimmed to the statewide total and one county. The full file has all 67 counties and a Kalshi market block.

```json
{
  "slug": "pennsylvania-governor",
  "title": "Pennsylvania Governor",
  "state": "PA",
  "stateName": "Pennsylvania",
  "office": "G",
  "updatedAt": "2026-11-05T19:24:20.872Z",
  "calls": [
    { "winner": "Josh Shapiro", "party": "D", "at": "2026-11-04T01:01:56.195Z", "incumbent": true, "by": "AP" }
  ],
  "areas": {
    "top": {
      "id": "top", "kind": "top", "name": "Statewide",
      "reported": 98.7, "source": "NPR", "at": "2026-11-05T19:24:20.872Z",
      "c": [["Shapiro", "D", 3008275], ["Garrity", "R", 1907406], ["Other", "O", 64458]]
    },
    "42101": {
      "id": "42101", "kind": "county", "name": "Philadelphia County", "fips": "42101",
      "reported": 95, "source": "NBC", "at": "2026-11-05T19:21:00.940Z",
      "c": [["Josh Shapiro", "D", 435353], ["Stacy Garrity", "R", 49590], ["Ken Krawchuk", "O", 3918]]
    }
  }
}
```

The fields:

- `office` is `G` for governor, `S` for Senate, `H` for House and `O` for other contests, including ballot measures.
- `updatedAt` is the time of the race’s latest change.
- `calls` lists race calls: winner, party, who called it (`by`) and when (`at`).
- `areas` holds the results, keyed `top` for the statewide or district total and by FIPS code for counties. Each area has the percentage reported as its source gives it, the `source` and time (`at`) of its current count, and `c`, a list of candidate, party and votes.

Times are UTC. Candidate names are written as each source writes them, which is why the statewide total above says “Shapiro” and the county says “Josh Shapiro”.

## Race pages

Every race in the feed has a page with the latest count and a county map, listed at [2026 results, race by race](/races/). Examples: [Pennsylvania governor](/races/pennsylvania-governor/), [North Carolina Senate](/races/north-carolina-senate/) and [Texas Senate](/races/texas-senate/).

## The customer API

The customer API adds webhooks, full precinct rows and history to what the public files carry. It is available by arrangement: tell us the races, states and delivery you need.

Live precinct coverage is described on [Precinct-level election data](/election-data/precinct-level-data/). How we source and label data is on our [Methodology page](/methodology/), and free files behind our charts are on the [Data page](/data/).
