Bulk data

Everything the API serves can also be licensed in bulk, as separate datasets or all together; see sales.endorsedby.org and write to sales@endorsedby.org for a quote. Each package page there has a free sample CSV with the columns below.

Formats

  • Files: CSV (UTF-8 with a byte-order mark, RFC 4180, CRLF) and JSON, one set per state, refreshed on the schedule in your license. In CSV, nested fields are dotted columns (district.ocd_id) and a list of candidates or picks is one row per item.
  • Database export: a PostgreSQL dump with the full relational schema; boundaries are PostGIS MULTIPOLYGONs in EPSG:4326.
  • API: this API, with the same ids, so a bulk load and the stream stay in step.

Identifiers

Districts carry an Open Civic Data division id (ocd_id) and, where the Census publishes the district, a Census GEOID (census_geoid, e.g. cd:0611, county:06075). Ids for elections, contests, candidates, endorsers and districts are stable across deliveries and match the API’s.

Datasets

DatasetColumns
Racestitle, short_title, election.* (date, name, type, state, primary_system), district.* (name, type, level, ocd_id, census_geoid), vote_method (plurality, multi_seat, ranked_choice, approval, yes_no), votes_allowed, ranks_allowed, ballot_order, party ballot, Spanish titles where printed
Candidatescontest, candidate.ballot_name, candidate.ballot_designation, candidate.party, candidate.incumbent, ballot order, withdrawn, website and photo
Ballot measuresmeasure_code, title, summary, choices (Yes; No), plus the race columns for its election and district
Incumbents and officeholdersCandidates: incumbent. Officeholders: name, office, title, level, state, district, ocd_id, census_geoid, party, term_start, term end, website, social.*, office addresses, phone and email, source
Endorsementsendorser.* (name, type, home_state, website, party), contest, vote_method, pick.choice, pick.rank (ranked choice), position (measures: yes or no), source_url, published date, statement
Districts and boundariesname, type, level, state, ocd_id, census_geoid, boundary (GeoJSON in files, PostGIS in the export; the samples show only its type, point count and bounding box), valid from and to