I am looking for demographic data (age, income, race, location) for individuals who voted in the 2016 US presidential election. The resolution that I am looking for can be at the state, county, or census block level. The data format is not important.

  • 1
    @Daniel Miller thanks for the edit i was having trouble with the wording lol
    – ziggy
    Commented Nov 9, 2016 at 15:28
  • Unfortunately, data.gov is not that refined yet. Currently, retrieving registrations, turnout estimations, and modeling them, is still an expensive process. That is why it is mostly reported on by news outlets and universities. With any luck, something like the University of Minnesota's Population Center will eventually release their findings.
    – Kevin
    Commented Nov 9, 2016 at 20:10
  • states will have this. you'll have to do an individual search, and not all will, but you'll find some goldmines if you look hard enough. although i have no clue when they'll be posting these.
    – albert
    Commented Nov 9, 2016 at 21:19

4 Answers 4


From an open-source point of view, there is no direct source for age/income/race/location as to which way an individual voted; this is by design that you cannot figure out who voted for whom.

Having said this, you can get an estimate through a survey program that the US Census does. An overview of the results up to the 2014 elections is provided.

Additionally, you can get the voter registration data from each state and look at the demographic make up by county; Florida has a great site for this. You can get help on sources from the Election Project Voter List site. Once you have the registration data, you can get a generalized makeup of the voting by county / state.

TLDR: There is no direct source, but state election offices provide an roundabout way to figure this out.


That data isn't available from the government, but the next closest thing that is available is the exit polls. CNN lets you browse their exit poll results on their website.

  • 1
    this is good stuff, i wish i can download the data the though
    – ziggy
    Commented Nov 9, 2016 at 17:38
  • 1
    @ziggy Scraping would be the way to go there.
    – user3856
    Commented Nov 9, 2016 at 20:30
  • 1
    @BarryCarter I know some Python, but never really learned web scraping aside from geospatial data off of google maps. any chance you could post some code on how to do this or a link to a solid reference/tutorial on this
    – ziggy
    Commented Nov 9, 2016 at 20:39
  • 1
    @ziggy Yes, but the chance is about the same as Gary Johnson winning the election ;) Seriously, if you google talk me at [email protected] I can tell you how to write a scraper and give you tips, but I'm not quite up to writing code at the moment, sorry. Tip: note that cnn.com/election/results/exit-polls/new-jersey/president gives you New Jersey results... if you "curl" this page and others (substituting new-jersey for other state names), you're halfway there.
    – user3856
    Commented Nov 10, 2016 at 1:30
  • @BarryCarter hahah Gary Johnson, okay so I may take you up on that private message thanks for the offer!
    – ziggy
    Commented Nov 10, 2016 at 3:19

You can download the data from CNN in JSON format at:


This is some of the data that powers the CNN's election web page.

It has the outline shown below, with "races" containing results per state, and "polls" containing polling data: { "pages": [...], "race": "President", "races": [...], "candidates": [...], "polls": [...], "lts": 1479007549000 }


Check out these links below, and you can also search "election 2016" in data.world for other related data. There's quite a few users who are already aggregating this data and creating analyses and cool visualizations. If you're interested in collaborating, some are seeking additional contributors to help build out these datasets further. Hope this helps!



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.