I want to query the upvotes and downvotes that have been cast by a person. Is there an API call for that? (I don't see one on the API docs.)

If there isn't a call for that, could this be achieved with a query to the Stack Exchange query interface?

  • 15
    Votes are private. So you won't get that information.
    – Mysticial
    Oct 15, 2015 at 23:38
  • Hiring Jon Skeet to hack... Error: Stack Overflow... You can't access private information if you are not a moderator. Oct 17, 2015 at 23:06

1 Answer 1


As Mysticial said, there's no way to do this, because only the user who cast votes can see their vote history. Even moderators aren't privy to this, although we can see what percentage of a user's votes were cast or received for or from a given user.

I don't think it's a good idea for this information to ever be made public - not for regular users, and not for moderators. If I cast a downvote on a post by Person A, they might be annoyed at me and downvote one or more of my posts in return. However, anonymity allows people to upvote or downvote without fear of revenge voting.

  • That's a good point. My reason for querying vote history was so far away from that kind of usage. :) i wanted to make a visualizer of development interests per user. fair enough
    – Kristian
    Oct 16, 2015 at 1:54
  • 1
    @Kristian Look at their posts per tag to do that. Oct 16, 2015 at 2:00
  • @RobertLongson thanks for that tip. I can definitely take that approach, but the one thing I think I probably wont be able to do is make it show interests over time. votes with timestamps is actually the only real ultimate data I'd need to do that
    – Kristian
    Oct 16, 2015 at 2:06
  • @Kristian Why not? Posts have timestamps too. Oct 16, 2015 at 2:09
  • @RobertLongson maybe I'm missing something. I want to 1. start with a userid, 2. get all posts in which they cast a vote, 3. get the tags of those posts, 4. then create a timeseries aggregation of those tag counts. isn't the second step not possible because votes are private, according to the answer to this original question? i'm not looking for the timestamp of the question itself, but the timestamp of when they engaged with that question
    – Kristian
    Oct 16, 2015 at 2:13
  • 1
    @Kristian You can only see if they "engaged" with the question if they commented on it or answered it. Even if you could track voting, that would only tell you they liked it or didn't, the majority of "meh" questions will escape. Oct 16, 2015 at 2:18
  • @RobertLongson another good point.
    – Kristian
    Oct 16, 2015 at 2:51
  • If memory serves there were problems caused by forcing down-voters to comment, which was mentioned in another meta post.
    – Erik
    Oct 16, 2015 at 3:07
  • 1
    @Erik this one, with this linked question even suggesting that you flag comments that ask for downvote explanation and its dupe here suggesting the opposite.
    – SPArcheon
    Oct 16, 2015 at 6:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .