DataPoll database and downloads
Every poll in our feed, one row per candidate, with the pollster, dates, sample, margin of error, question wording and source. Filter, then download exactly what you see, or take the whole dataset. Free to use with credit; see the data and licensing page.
The table shows a window of the newest polls. For the complete history, use the full downloads below.
Full downloads
Licence: CC BY 4.0: credit "Vugol.Me" and link to https://vugol.me. Files refresh every 15 minutes. Limits: 30 requests a minute per IP on the filtered API, 6 a minute on the full files. Need more, or a feed with support? Contact us.
Use it in code
# curl
curl -L "https://vugol.me/api/public/polls?state=GA&verified=1&format=csv" -o ga-polls.csv
# Python
import pandas as pd
polls = pd.read_csv("https://vugol.me/api/public/polls/all?format=csv&verified=1")
polls[polls.race_key == "US-NC"].groupby("candidate_name").value_pct.mean()
# R
polls <- read.csv("https://vugol.me/api/public/polls/all?format=csv&verified=1")
Parameters for /api/public/polls: office, state, pollster, contestKey, verified=1, from and to (YYYY-MM-DD), page, limit (up to 500), format (json or csv).
Data dictionary
Polls (one row per candidate per poll)
| Column | Meaning |
|---|
study_id | Our id for the poll; the same on every candidate row of one poll. |
race_key | Race the poll is about: US-NC (Senate), US-GA-GOV (governor), US-NY-17 (House). |
contest_key | Full contest: the race key, plus a suffix for primaries (US-GA:primary-R) and hypothetical match-ups (US-GA:hyp). Only the plain race key is averaged. |
race_url | The race page on Vugol.Me. |
pollster_name | Who ran the poll, as the pollster is named on our pollster list. |
pollster_tier | V = verified pollster (identity, methodologist, methodology, sponsor on file), U = not yet verified. |
verified | true when the poll counts in our averages: verified pollster and a public source. Everything else is listed but never averaged. |
sponsor_name | Who paid for the poll, when disclosed. |
partisan_sponsor | true when the sponsor is a party, campaign or partisan group. |
field_start | First day of interviews (YYYY-MM-DD). |
field_end | Last day of interviews (YYYY-MM-DD); polls are listed newest first by this. |
population | Who was sampled: likely_voters, registered_voters, voters or adults. |
sample_size | Number of respondents. |
moe_pct | Margin of error in points at 95% confidence, worst case, computed from the sample size (98 divided by the square root of the sample). |
question_wording | The question as asked. |
candidate_label | The answer as printed by the pollster. |
candidate_name |
Race averages
| Column | Meaning |
|---|
race_key | Race: US-NC, US-GA-GOV, US-NY-17. |
leader | Who leads the verified-poll average: D, R or tie. |
margin_r_minus_d | Republican share minus Democratic share of the average, in points. Negative means the Democrat leads. |
band | Anchored, Held, Tilting or Open: how big the lead is (the Vector vocabulary). |
verified_poll_count | Verified polls in the average. |
race_url | The race page, with the polls behind the number. |
Only polls from verified pollsters with a public source are averaged. Reader polls on this site (Vugol Pulse, race polls) are never in these files. See the methodology.