Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Ballotpedia’s Geographic APIs allow anyone with an active API key to query the API endpoints.
Required parameters: These parameters are required to successfully hit the endpoint.
Optional parameters: These parameters are optional and accept one or more from the given comma separated list described under each endpoint.
Data points: Not all data points may be returned as shown in the examples depending on your API package.
Changes: We avoid making breaking changes to API endpoints or the structure of returned data without notice. New endpoints and data elements may be added at any time, but we alert our API customers via email 1 month in advance of small changes (like a field being renamed or its format changed) and 3 months in advance of larger changes (like data structure changes or endpoints being retired, etc.). We also avoid making such changes close to large elections to avoid disruptions. If you have questions about this policy, please contact tech@ballotpedia.org.
All of the endpoints accept HTTP GET requests only. The following two HTTP headers must be included:
Data will be JSON-formatted text, and successful queries will receive an HTTP 200 response. Unsuccessful queries will respond with an appropriate HTTP response code in the 4xx or 5xx type.
Please note that in order to hit the following endpoints from an application on the internet, you must contact the Ballotpedia team to whitelist the domains from which those requests will originate. Requests from non-whitelisted origin domains will receive a preflight CORS permissions error. You are free to run test requests locally or in a non-cors context such as cURL, Postman, etc.
Via cURL:
Via PHP:
Via JavaScript:
Download sample data sets:
Voting districts endpoint
Given a latitude and longitude point, a list of voting districts will be returned in which that point (address) lies.
Required parameters: lat, long
Optional parameters: date
By default, the returned voting districts are in effect on the current date. An optional date parameter can be provided, which will show the districts which are/were in effect on that date. See the section for more details.
The quilt of American democracy is highly varied and complex. Ballotpedia strives to create an intuitive data structure to serve the variety of elections across the country, but it still requires some special terminology and a few unique data structures. This site includes information about API syntax, key concepts, data dictionaries, and some details about common edge cases.
If you have any questions, please feel free to reach out to your Ballotpedia sales contact.
Navigate to either or depending on your use case to learn more.
Redistricting is the act of redrawing a voting district's boundaries. 2020 was the last major redistricting cycle.
Ballotpedia tracks which voting district boundary is in effect at a given time using start dates and end dates. The start date corresponds to the date when an officeholder swears into office, and the end date is the officeholder's last day in office.
A voting district boundary's start and end dates do not necessarily, and usually do not, equal the election date for that office. Ballotpedia determines which voting district will be used for which race based on several factors, including the voting boundary's start and end dates; the race year; the election date; the race's swearing in date; and whether the race is a regular or special election.
As an example, California's 22nd Congressional district has voting district boundaries with the following end dates.
Pre-2020 redistricting boundary end date: 2023-01-02
Post-2020 redistricting boundary end date: null (implying it will be used for the foreseeable future)
In 2022, California's 22nd Congressional district had a special election and regular election on the same date. How did we know which boundary would be used for each race?
For the 2022 special election, we knew that the pre-redistricting voting boundary was used, because
It was a special election
The election date was before the boundary's end date
For the 2022 regular election, we knew that the post-redistricting voting boundary was used, because the race's swearing in date was after the pre-redistricting boundary's end date.
Election dates by point or by state
Given a latitude and longitude point, a list of election dates will be returned for the particular point (address) that have occurred 1 year in the past and will occur 1 year in the future according to today's date.
Required parameters: lat, long
Optional parameters: none
Election dates can be queried via several parameters which will return data from 2018+ and several years into the future. Data is returned in an ascending matter according to date, with limits of 25 results per page.
Required parameters: none
Optional parameters:
state={state abbreviation}
type=General,Primary,Special,Recall
year={year}
page={number}
Example call querying for all Special Elections that occurred in Wisconsin in 2020.
Current officeholders endpoint
Given a latitude and longitude point, a list of current officeholders representing the point (address) will be returned with accompanying information and data points on the district, office, officeholder and person.
Required parameters: lat, long
Optional parameters: collections=social,contact
Election ballots and results (candidates running) by point
Given a latitude and longitude point and an election date, a list of candidates, ballot measures and races will be returned along with district, office, and person information for the particular point.
Races with no official candidates are not returned.
If the election date is in the future, a list of candidates and ballot measures are returned who are on the ballot in the upcoming election. If the election date is in the past, a list of candidates and ballot measures will be returned who were on the ballot for that past election.
Results of the election will be returned if included in your API package. Including which candidates won/lost, vote totals, and which ballot measures were approved or defeated.
Required parameters: lat, long, election_date
Optional parameters: collections=social,contact
This guide is intended for prospective and current API customers of Ballotpedia. We want to make it easy for you to understand and use the data we provide in our API; this document gives concrete examples for some real-world applications you might want to build using the API.
Suppose you want to provide a sample ballot lookup on your website. This can be accomplished by the following steps:
Find the user's location. Ultimately, you’ll need the latitude/longitude coordinates corresponding to the user’s location. This can be accomplished by asking the user to input their address, and using something like Google’s Geocoding API or the AWS Location service to convert that address to latitude/longitude coordinates.
With the user's lat/long, query the /election_dates
endpoint.
With the user's lat/long and chosen election date, pass these parameters to the /elections_by_point
endpoint.
Finally, display the results. Exactly how to do this is up to you, but now you have all the data you need to do it. You can loop over the districts, races, and candidates and display their names, party affiliations, link to their Ballotpedia profile, status, and much more.
Suppose you want to allow users to look up their current elected officials. This can be accomplished by the following steps:
Find the user's location. Ultimately, you’ll need the latitude/longitude coordinates corresponding to the user’s location. This can be accomplished by asking the user to input their address, and using something like Google’s Geocoding API or the AWS Location service to convert that address to latitude/longitude coordinates.
Fetch the elected officials for the user’s location. Supply the latitude/longitude coordinates from the previous step into the /officeholders
endpoint.
Display the results. This part is up to you, but now you have all the data you need to do it. You can loop over the districts, offices, and officeholders and display their names, party affiliations, link to their Ballotpedia profile, contact information, and much more.
Login with provided password and click to download latest file (detailed below)
Upon logging in, you’ll see a list of your available queries with the title and description.
For each query, there are two available formats, JSON and CSV. Clicking on either of these buttons will begin the download process for the respective format.
Please contact Ballotpedia’s data sales team to request password changes.
Login with provided password and click to download latest file (for non-technical users)
The API can be called directly by interacting with two endpoints. Please note that these endpoints can only be accessed from a non-CORS context.
The endpoint requires your API Key passed in as a header:
Example response with a single file:
This endpoint will return a URL to the requested file:
The endpoint requires your API Key passed in the header as described above, the content type of application/json, and the ID (obtained from the getQueryList endpoint) of the data set and the format passed via the body in the POST request.
Headers
Body
To get the data to return in csv format, make the same call as for json data but change the format parameter from json to csv.
Example Response:
The URL for the downloadable file expires after 5 minutes. The URL returned should change with each call to getQueryResults. Files are re-generated daily, and the URL will always return only the last generated file.
In American elections, there are often multiple stages, phases, or dates associated with a single race or contest. The most common pattern is that of a Primary that leads to a General election. The Primary and the General are what we refer to as distinct Stages, while all are part of the overarching Race or contest to determine who will hold that Office for the next term.
Each row in our data set represents either one Candidate’s participation in one Stage, or, in the case of ranked-choice voting, one Candidate, Stage, and ranked-choice round. All candidates for a single contest can be grouped together by their Race ID; the results of any stage can be grouped together by Stage ID; and each candidate (campaign) will have the same Candidate ID for each row of data.
In the example graphic below, Candidate A and Candidate B will each have two rows, while Candidate C will only have one. All those rows will have the same Race ID and each row for each candidate will use the same Candidate ID. The Stage ID and Stage Type will help distinguish the stages from each other.
How do I see all the races happening in one state on the same date?
Filter your data set on State and Election date.
Why am I seeing this candidate more than once for the same stage?
This could be due to Ranked-Choice Voting (RCV) or cross-filing. It might also be that the candidate was disqualified under one party and continued to seek the election as a write-in. Look at the two records and see how their parties and status attributes compare.
Why am I seeing a candidate marked as advanced from one stage but no row for their next stage?
If the stage was recently held, the record for their participation in the next stage may be pending creation.
Cross-filing occurs when a candidate seeks office under more than one party. This is not allowed in all jurisdictions but is quite common in some states, such as New York and Pennsylvania. In these cases, the candidate will have more than one row in the dataset because of their running under multiple parties so long as they appear on the ballot for each party they run under. Imagine a candidate Luis Montega who is running for a local judgeship; he has cross-filed as a Democrat and a Republican.
Montega will have a row for each party’s primary that he participates in as he will appear on the ballot twice in that stage. Though each stage will have its own Stages ID, they will share the same Race ID, and Montega will have the same Candidate ID in all stages. Montega might lose both primaries, advance from only one, or advance from both. If he loses both, he will not have any additional rows (again, excepting if he seeks to participate in the general as a write-in). If he advances under one or both parties, he will have an additional row for the general stage. If he advanced under both, he will be identified as running under both parties in that row.
The graphic above illustrates this for a whole race with cross-filing: Candidate A and Candidate B would have three rows in the dataset and Candidate C would only have one. All those rows will have the same Race ID and each row for each candidate will use the same Candidate ID. The Stage ID and Stage Type will help distinguish the stages from each other.
Ballotpedia reports each round of these results, so a candidate in an RCV will have a row for each round of calculation in that stage. The first round of results reported will have this attribute = 1. Rounds will count up until the final round so the ultimate outcome will always be the highest round number in the stage.
For example, consider a race with four candidates using RCV. Voters ranked the candidates, and now we are trying to tally up a winner. The first round would look like this:
Candidate
Ranked-choice voting round
Votes for
Votes against
Status
Candidate A
1
2000
Advanced
Candidate B
1
1800
Advanced
Candidate C
1
1500
Advanced
Candidate D
1
500
Advanced
The candidates receive a status of advanced because they proceed to the next round of results calculation. None of our candidates received a majority of the first round, so the votes are redistributed in a second round. Note that some voters may not have marked a second preference and if their first preference (Candidate D) is disqualified at this point, their vote will not be transferred to any other candidates.
Candidate
Ranked-choice voting round
Votes for
Votes against
Status
Candidate A
2
100
Advanced
Candidate B
2
300
Advanced
Candidate C
2
75
Advanced
Candidate D
2
500
Lost
In this second round (and all subsequent rounds), we report the transferred votes, not a vote total for the candidate. In round 2, our disqualified candidate has all their votes transferred away from them and they now have a status of Lost that will be repeated in later rounds. The other candidates each receive votes as they were the second preference of the ballots cast for Candidate D. The vote totals for the candidates in this round (or any given subsequent round) can be found by summing their votes for and subtracting the sum of their votes against from those rounds (ex. Candidate A now has 2,100 votes). None of our candidates have a majority yet so we proceed to one more round where a winner can be determined:
Candidate
Ranked-choice voting round
Votes for
Votes against
Status
Candidate A
3
100
Lost
Candidate B
3
700
Won
Candidate C
3
1575
Lost
Candidate D
3
Lost
There are some variations on how RCV works. In some multi-seat races (rows in your dataset where the seats up for election is greater than 1), one candidate may meet the majority requirement in an earlier round and be declared won in that stage while the other winners require more rounds of calculation to determine. In other multi-seat RCVs, the rounds may be used to calculate a first winner and then repeated without that winner included to determine additional winners.
Every four years, the presidential election presents a notable exception, in that it is a series of state-level Races for a single, national Office.
Many candidates file to run for this office with the Federal Election Commission and are given the candidate status of “Candidacy Declared.” However, only a portion of those will go on to appear on the ballot and participate in the state- and party-specific Stages. In these cases, the same candidate will often appear in the data set many times – once for Iowa’s Republican Caucus, once for a third-party primary in Nebraska, once for the Illinois Republican Primary, etc. For those that make it to the general election, that still means they can appear in multiple, distinct Stages – one for each state that they or their political party qualified to run in.
Note, too, that the delegates pledged attribute applies only to the Presidential race.
Ballotpedia’s bulk data clients can access their data on-demand with our client portal at . The data is refreshed every 24 hours. You may access your data through two methods, as described below:
Access latest data file via API (for technical users, see: )
Login to the dashboard at with the provided email and password.
Ballotpedia’s bulk data clients can access their data on-demand with our client portal at . The data is refreshed every 24 hours. You may access your data through two methods, as described below:
Access latest data file via API (for technical users, )
This endpoint will return an array of objects, each object represents a data set and contains the ID, Title and Description.
is a related practice that can lead to a candidate having more than one party associated with them in your dataset.
is an electoral system in which voters rank candidates by preference on their ballots. If a candidate wins a majority of first-preference votes, he or she is declared the winner. If no candidate wins a majority of first-preference votes, the candidate with the fewest first-preference votes is eliminated. First-preference votes cast for the failed candidate are eliminated, lifting the second-preference choices indicated on those ballots. A new tally is conducted to determine whether any candidate has won a majority of the adjusted votes. The process is repeated until a candidate wins an outright majority.
Election ballots and results (candidates running) by state
Given a state and an election date, a list of candidates, ballot measures and races will be returned along with district, office, and person information for the entire state.
Races with no official candidates are not returned.
If the election date is in the future, a list of candidates and ballot measures are returned who are on the ballot in the upcoming election. If the election date is in the past, a list of candidates and ballot measures will be returned who were on the ballot for that past election.
Results of the election will be returned if included in your API package. Including which candidates won/lost, vote totals, and which ballot measures were approved or defeated.
Required parameters: abbreviated state, election_date
Optional parameters:
collections=social,contact
office_level=Federal,State,Local
office_branch=Legislative,Executive,Judicial
district_type=Country,Congress,State,State Legislative (Upper),State Legislative (Lower),Judicial District,County,County subdivision,City-town,School District,State subdivision,Special district subdivision,Judicial district subdivision,Special District,City-town subdivision,School district subdivision
page={number}
Results for Wisconsin congressional offices on November 3rd, 2020...
Ballotpedia content is copyrighted by Ballotpedia's editors and contributors. Licensed data sets are the proprietary and confidential property of Ballotpedia.
Licensee shall take all reasonable precautions to preserve the confidentiality of Licensor's Software and Data and shall assume responsibility that its employees and assignees will similarly preserve this information against third parties.
No right or license is being conveyed to Licensee to use or share the full data sets provided by Ballotpedia with any other company or individual. Data may be used in Licensee’s internal or external products as long as precautions are taken to protect Ballotpedia’s assets by preventing bulk downloads of the data set by third parties.
The purchase of Ballotpedia data by Licensee constitutes acceptance of these terms.
This document lists data points collected by Ballotpedia related to vote by mail and in-person voting for statewide elections.
Ballotpedia defines statewide elections as elections meeting the following criteria: all voters in the state can participate, and all offices or measures up for election are at either the state or federal level.
Data points are per-election, which may include statewide primaries, major party presidential preference primaries, general elections, and any applicable runoffs.
election_date
state
district_type
election_type
election_description
vote_by_mail:_in-person_request_deadline
vote_by_mail:_online_request_deadline
vote_by_mail:_mail_request_deadline
vote_by_mail:_mail_request_deadline_type
vote_by_mail:_in-person_return_deadline
vote_by_mail:_mail_return_deadline
vote_by_mail:_mail_return_deadline_type
types_of_voter_id_accepted
required_materials_url_english
required_materials_url_spanish
voter_id_required_for_all
voter_id_source_english
voter_id_source_spanish
required_materials
In-person deadline
Mail deadline
Mail registration deadline type
Online deadline
Election Day registration
Registration status URL English
Registration status URL Spanish
Registration update URL English
Registration update URL Spanish
Register online URL English
Register online URL Spanish
Early voting start date
Early voting end date
Poll times
Voting location URL English
Voting location URL Spanish
Voter info URL English
Voter info URL Spanish
state
The state in which the office has jurisdiction (postal abbreviation)
office_id
Ballotpedia unique identifier (stable across officeholders)
office_name
Name of the office
office_level
Level of government:
-Federal
-State
-Local
office_branch
Branch of government:
-Executive
-Legislative
-Judicial
district_id
Ballotpedia unique identifier
district_ocdid
district_name
Name of district (geographical area) that elects the office.
district_type
Type of district that elects the office:
-Country
-State
-Congress
-State Legislative (Upper)
-State Legislative (Lower)
-County
-School District
-City-town
-Judicial District
-Special District
-State subdivision
-County subdivision
-Judicial district subdivision
-Special district subdivision
-City-town subdivision
-School district subdivision
parent_district_id
Ballotpedia unique identifier used to associate a "subdivision" district with its parent (not comprehensive). Example: "X City Council, District 1" and "X City Council, District 2" have a parent district of "X City".
parent_district_name
Name of parent district
officeholder_id
Ballotpedia unique identifier
person_id
Ballotpedia unique identifier (stable across time or offices held)
name
Full name of the officeholder
first_name
First name of the officeholder
last_name
Last name of the officeholder
url
Link to the Ballotpedia profile about this person
gender
One of the following, or NULL:
-Male
-Female
-Neither/Both (if the person explicitly identifies as neither or both of the above)
status
Describes the status of the officeholder. One of the following:
-Current
-Acting
-Elect
-Magistrate
-Senior
party_affiliation
Primarily for officeholders elected in partisan elections, this is the political party with which they are/were affiliated.
date_assumed_office
Date on which they assumed this office (swearing in date or similar)
appointed_by
If relevant, the name of the person who appointed this officeholder to this office (such as a Governor)
date_appointed
Date of the appointment
date_confirmed
Date of the confirmation (judicial)
date_term_ends
For former or outgoing officeholders, the date on which they left or will leave office
Contact information is optional, available for an additional charge.
Values are listed below. The "officeholder" contact is the one used in an official capacity, while "personal" represents contacts or accounts that may not relate to the person's current position.
Values:
officeholder_email
other_email
officeholder_website
personal_website
officeholder_facebook
personal_facebook
officeholder_x
personal_x
officeholder_tiktok
personal_tiktok
officeholder_instagram
personal_instagram
officeholder_youtube
personal_youtube
officeholder_mailing_address
officeholder_phone
The tables below define each of the attributes you may receive in your dataset -- column name and description.
election_year
The year the race is occuring
state
The state in which the office has jurisdiction (postal abbreviation)
office_id
Ballotpedia unique identifier (stable across election years)
office_name
Name of the office
office_level
Level of government:
-Federal
-State
-Local
office_branch
Branch of government:
-Executive
-Legislative
-Judicial
district_id
Ballotpedia unique identifier
district_ocdid
district_name
Name of district (geographical area) that elects the office.
district_type
Type of district that elects the office:
-Country
-State
-Congress
-State Legislative (Upper)
-State Legislative (Lower)
-County
-School District
-City-town
-Judicial District
-Special District
-State subdivision
-County subdivision
-Judicial district subdivision
-Special district subdivision
-City-town subdivision
-School district subdivision
parent_district_id
Ballotpedia unique identifier used to associate a "subdivision" district with its parent (not comprehensive). Example: "X City Council, District 1" and "X City Council, District 2" have a parent district of "X City".
parent_district_name
Name of parent district
race_id
Ballotpedia unique identifier
race_type
One of the following:
-Regular
-Special
-Recall
-Retention
seats_up_for_election
The number of positions this race will fill in the office.
race_url
Link to the Ballotpedia overview page about this race/election.
election_date_id
Ballotpedia unique identifier
election_date
The date that the stage contest is scheduled to appear before voters.
election_date_district_type
Often linked to the State, provides additional detail about which geographical area might be having an election at this time.
stage_id
Ballotpedia unique identifier (stable across ranked-choice voting rounds, if applicable).
stage
One of the following:
-Convention
-Primary
-Primary Runoff
-General
-General Runoff
stage_party
For partisan primaries, provides a political party name. Each partisan primary or primary runoff will have its own stage.
is_partisan_primary
stage_is_canceled
true / false to indicate if the stage has been canceled
stage_is_ranked_choice
stage_write_in_other_votes
Includes additional write-in votes for the stage (votes that are not associated with a particular candidate, but relevant to vote totals).
candidate_id
Ballotpedia unique identifier
person_id
Ballotpedia unique identifier
name
Full name of the candidate
first_name
First name of the candidate
last_name
Last name of the candidate
ballotpedia_url
Link to the Ballotpedia profile about this candidate
gender
One of the following, or NULL:
-Male
-Female
-Neither/Both (if the person explicitly identifies as neither or both of the above)
party_affiliation
The political party affiliation that the candidate is running under (one or more). If the candidate is cross-filed in a primary, they will have a row for their participation in each party’s primary they are running in and this field will indicate that party. If they advanced to a general under more than one party, all those parties will be listed in this field.
Party affiliation for candidates in nonpartisan elections is listed as "Nonpartisan".
is_incumbent
candidate_status
-Candidacy Declared: announced a run for the office but has not yet qualified for the ballot
-On the Ballot: filing with election office is complete, and the election office has published the person as an official candidate
-Advanced: The candidate received the most votes (or was one of the top vote recipients in a race with more than one seat up for election) in this stage of the election (such as a primary) and is going on to further rounds (such as a general). Effectively, this indicates the winner of a stage when the full race is not yet complete. This also applies to RCV stages, where a candidate may advance from multiple rounds within a single stage.
-Won: The candidate received the most votes (or was one of the top vote recipients in a race with more than one seat up for election) and will assume office.
-Lost: The candidate did not advance to another stage (or RCV round) and/or did not garner enough votes to win the seat.
-Withdrew: The candidate withdrew from the election and will not appear on the ballot.
-Disqualified: The candidate was disqualified from the election and will not appear on the ballot.
is_write_in
true / false to indicate if the candidate’s name was or will be printed on the ballot. Note that in some cases write-ins do file official paperwork and can thus have candidate_status=On the ballot while is_write_in=true.
is_withdrawn_still_on_ballot
true / false to capture scenarios where a candidate misses the official withdrawal deadline and will appear on the ballot despite announcing publicly their intent to withdraw
votes_for
Number of votes received in favor of the candidate in this stage (and RCV round, if applicable)
votes_against
Number of votes against the candidate. Only applicable to Recalls, Retentions, and RCVs.
delegates_pledged
Applicable to the general election for U.S. President
ranked_choice_voting_round
RCV results are reported in “rounds” of calculations. Ballotpedia reports each round of these results, so a candidate in an RCV stage will have a row for each round of calculation in that stage. The first round of results reported will be round "1". Rounds will count up by 1 until the final round.
Contact information is optional, available for an additional charge.
Values are listed below. The "campaign" contact is the one used by the candidate's campaign. All other contacts were identified as belonging to the candidate for non-campaign purposes.
Values:
campaign_email
other_email
campaign_website
personal_website
campaign_facebook
personal_facebook
campaign_x
personal_x
campaign_tiktok
personal_tiktok
campaign_instagram
personal_instagram
campaign_youtube
personal_youtube
campaign_mailing_address
campaign_phone
name
The name or title of this ballot measure, including year
short_name
Abbreviated name of measure
district
Ballotpedia's unique district ID that this ballot measure covers
district_name
Name of district (typically a State)
district_type
Type of district
ocdid
election_date
Date on which this measure will be on the ballot
status
Options:
Proposed
Gathering signatures
Signatures submitted
Certified to the legislature
Qualified for the ballot
On the ballot
Approved
Defeated
Not on the ballot
Pending official review
Pending judicial ruling
Too close to call
type
The type of this ballot measure
Options:
Advisory question
Amendment
Automatic ballot referral
Bond issue
Bond question
City charter amendment
Combined initiated constitutional amendment
Commission-referred ballot measure
Constitutional amendment
Indirect initiated state statute
Initiated amendment
Initiated amendment and statute
Initiated constitutional amendment
Initiated state statute
Initiative
Initiative to the Legislature
Initiative to the People
Legislative referral
Legislatively referred constitutional amendment
Legislatively referred state statute
Local
Referendum
Referral
Referred ordinance
Statute
State statute
Veto referendum
topics
One or more (semicolon-separated) topics this ballot measure covers
summary
A summary of the measure
yes_vote
A custom explanation of what a YES vote means
no_vote
A custom explanation of what a NO vote means
yes_votes_total
The number of YES votes this ballot measure received
no_votes_total
The number of NO votes this ballot measure received
ballot_question
Text of the question to appear on the ballot.
source
A URL to the source of election results
url
The URL to a Ballotpedia page about this ballot measure
Proposed - The ballot measure has been proposed.
Pending official review - The ballot initiative has been filed with election officials but has not yet been cleared for signature gathering
Cleared for signature gathering - The ballot initiative has been cleared for signature gathering (campaigns can collect signatures).
Pending judicial ruling pre-election - Courts need to decide a case about the ballot measure before it can be certified for the ballot.
Signatures submitted - Signatures have been submitted for a ballot initiative and they are pending verification.
Not on the ballot - The proposed ballot measure has failed to make the ballot.
Approved by the legislature - This is an indirect initiative that legislators approved. In other words, the initiative was enacted by the legislature, rather than voters.
On the ballot - The ballot measure has been certified for the ballot.
Qualified for the ballot - This is a technicality. The ballot measure hasn’t been certified for the ballot but has qualified for the ballot. In California, for example, citizen-initiated ballot measures qualify for the ballot after enough signatures have been verified. However, the secretary of state doesn’t declare they’re on the ballot until 131 days before the election.
Approved - Voters approved the ballot measure.
Defeated - Voters rejected the ballot measure.
Too close to call - The election has happened, but we have not called the measure approved or defeated. Like candidate elections, when results are close, sometimes you need to wait for 100% of precincts to report results and/or absentee ballots to be received.
Pending judicial ruling post-election - There are cases in which voters decide a ballot measure but whether the ballot measure results will be certified or not is dependent on a court ruling. In 2019, for example, a majority of voters approved Marsy’s Law in Pennsylvania. However, results were never certified pending a court ruling (and the court ultimately ruled that votes could not be certified).
Overturned - Voters approved the ballot measure, but courts later overturned the measure as unconstitutional or otherwise invalid.
The officeholders data set includes current, elected officeholders for Congress, statewide positions, state legislative positions, as well as elected officials in the .
The project seeks to assign somewhat predictable and globally unique identifiers to political divisions. This field is not uniformly filled due to data availability.
The project seeks to assign somewhat predictable and globally unique identifiers to political divisions. This field is not uniformly filled due to data availability.
true / false for Primary or Primary Runoff stages, where applicable. Otherwise NULL. This indicates whether candidates in the primary were limited by party (such as a traditional Republican or Democratic Party primary) or not (such as an open primary in California). More information here:
true / false to indicate if the stage is conducted by
true / false to indicate whether the candidate held the office they are seeking at the time of announcing their candidacy. See further details for how Ballotpedia handles appointees and redistricting situations here:
The project seeks to assign somewhat predictable and globally unique identifiers to political divisions. This field is not uniformly filled due to data availability.
The status of this ballot measure. For further detail on each of these, see below.
Certified to the legislature - When signatures are verified for an , they are sent to the legislature before being certified for the ballot. This gives the legislature the option to pass an initiative outright, rather than having it go to voters.