Data dictionaries

Contest result

The vote count of one contest, with its source. Each choice’s own votes are on the choice.

Returned by
GET /v1/contests, GET /v1/contests/{id}, GET /v1/candidates, GET /v1/candidates/{id}, GET /v1/elections/{slug}/export
Found in
Contest (result), Candidate (contests[].result)
Shapes
The full record is in a contest’s result. The shorter forms in a candidate’s contests leave some fields out; a field that isn’t in every form says where it is.

How it connects

  • A contest has at most one result. Each choice’s votes, vote_pct and winner are in its own result (see Choice).

Good to know

  • status is unofficial while counts are still changing and certified once the canvass is certified.
  • A party result (source_kind party) names a winner without counts: votes and total_votes are null and party_reported is true. It is replaced as soon as an official result appears.
  • Past elections’ results are mostly compiled from certified precinct returns (source_kind compiled), with official_url linking the state’s own results where we have them.
  • The blank, over and under vote counts and precincts are only where the source reports them.

Fields

FieldTypeMeaningExample
statusstringunofficial (election-night and canvass counts, still changing) or certified (the canvass is certified).unofficial, certified meaningsunofficial
source_kindstringWhere the result comes from: official (a state, county, city or federal election office), compiled (certified official returns compiled by a research group, such as the MIT Election Data and Science Lab’s precinct returns, summed to the contest) or party (a state or national party’s own announcement of the winner, with no vote counts; replaced as soon as an official result appears).official, compiled, party meaningsofficial
party_reportedbooleantrue when the result is a party’s announcement (source_kind party), not an official count.false
total_votesintegeror nullVotes cast in the contest: the printed choices plus write-ins. null on a party-reported result.180571
precincts_reportingintegeror nullPrecincts counted so far, where the source says.Only in a contest’s result.179
precincts_totalintegeror nullPrecincts in the contest, where the source says.Only in a contest’s result.179
sourceobjectThe source of the result.Only in a contest’s result.—
source.namestringWho published the result.Only in a contest’s result.California Secretary of State
source.urlstringURLWhere it was published: the contest’s own results page where the source has one. Every result has one.Only in a contest’s result.https://api.sos.ca.gov/returns/us-rep/district/44
source.contest_namestringor nullThe contest’s name in the source, which may differ from the printed title.Only in a contest’s result.U.S. House of Representatives District 44
source.updated_atstringor nullISO 8601 date and time with time zoneWhen the source last updated it, if it says.Only in a contest’s result.2026-11-12T18:50:00+00:00
official_urlstringor nullURLFor a compiled result, the state’s own certified results, where we have them.Only in a contest’s result.—
more_sourcesarray of objectFurther announcements of the same result (party-reported results that more than one party published).Only in a contest’s result.—
more_sources[].namestringor nullWho published it.Only in a contest’s result.—
more_sources[].urlstringURLWhere it was published.Only in a contest’s result.—
write_in_votesintegeror nullVotes for write-in candidates, where the source counts them.Only in a contest’s result.—
blank_votesintegeror nullBlank votes, where the source counts them.Only in a contest’s result.—
over_votesintegeror nullOvervotes, where the source counts them.Only in a contest’s result.—
under_votesintegeror nullUndervotes, where the source counts them.Only in a contest’s result.—
other_choicesarray of objectLines the source reports that aren’t on the printed ballot, such as named write-ins.Only in a contest’s result.—
other_choices[].labelstringor nullAs the source reports it: a write-in’s name, “Write-in”, or another line not on the printed ballot.Only in a contest’s result.—
other_choices[].votesintegeror nullVotes for it.Only in a contest’s result.—
other_choices[].write_inbooleanA write-in candidate.Only in a contest’s result.—
rcv_roundsarray of objector nullRanked choice: the rounds of the official tabulation, as the source reports them; null for other contests or where we don’t have them.Only in a contest’s result.—
notesstringor nullAnything else about the result, such as how a ranked-choice winner was decided.Only in a contest’s result.—
fetched_atstringISO 8601 date and time with time zoneWhen we last read it from the source.Only in a contest’s result.2026-11-13T03:28:26.570963+00:00
source_urlstringURLWhere the result was published.Only in a candidate’s contests.https://api.sos.ca.gov/returns/governor

Download every dictionary as CSV or JSON.

Contest result data dictionary · BallotData API