With the creation of Actually Playing Games, we've been finding it rather useful to be able to check for a given SteamGifts user how much they actually play the games they win here. Obviously most SG users don't have a BLAEO account - and just viewing a users profile in Steam takes a while and is difficult to filter down to just SG wins. So I've written a userscript for Tampermonkey for Firefox or Chrome that, when viewing the wins page for a user, allows you to quickly fetch some statistics about how much (i.e. playtime) and how well (i.e. achievements achieved) that user does for their wins.

Download the userscript from Github

IMPORTANT: this extension requires a Steam API key to function. You need to go to this page and register for one if you do not already have one (the domain name can be one you make up - its not important).

To use it, once you've installed the userscript in GM/TM, just go to any user's gifts won page and click on the button labelled "Provide API key", paste your API key into the prompt (this is cached hereafter), and then click on the new button labelled "Fetch Playing Info". You'll see the additional rows of the table slowly fill up as the information comes back from the Steam API, as well as individual games having their info updated in the rows below. The extension caches all the results it can and tells you when the cache was last updated.

Caveats: there are some considerable omissions that this script cannot deal with or be worked around:

  • the script will not work for fetching stats about users whose profile information is private,
  • if a user plays their games in offline mode or through family sharing, that time will not be included in the stats.

Warning: if you use this extension too many times in a day, there is a possibility Steam will block your API key for a period of time and the results that come back will be incorrect or none at all.

Changelogs

2018-01-23: New feature! Do You Even Play, Bro? now queries How Long to Beat (HLTB) for each game, and enriches both the list of games and adds some summary statistics to the table. This makes it easier to compare a users playtime to the consensus about how long a game should take, especially useful for games without any achievements.
2017-12-15: The latest version of Greasemonkey for Firefox 57 has broken a number of things (internal API changes, as well as installing userscripts from GitHub). Rather than waiting for them to fix all these issues, I instead suggest Firefox 57 users move to Tampermonkey since it has neither of these issues.
2017-07-07: Added a new feature of charting a user's cumulative achievement percentage (put your cursor over the graph for more details). Users can switch between the two styles by clicking on the link next to "Games with Achievements".
2017-05-20: With many thanks to BarefootMonkey for spotting it, my script no longer includes DLC in the counts - so hopefully those of you who have won individual DLC or collections that included DLC should see your stats have improved.
2017-05-16: Just pushed out version 1.3.5 of this script. It's made some slight changes to how the "win counts" (now "games with...") section of the table, moving the absolute counts to title attributes (i.e. hover over the percentage to see the ratio) and adding a new count of games with ≥25% of achievements available obtained.
2016-11-08: I've released version 1.2.0 of the script that introduces the ability to fetch the list of games within a sub, which should reduce the inaccuracy of some users statistics.

View attached image.
8 years ago*

Comment has been collapsed.

Oh cool. I recently thought about some stuff, that could be nice improvements to the script... but now you added all of that already :D
Very nice update!

Well I guess you're aware of this, but just in case:
The script still seems to have some trouble with game packages. Two of my wins (Counter-Strike Complete and Typing of the dead complete) show 140 hours playtime each, while in fact, I have only spent about 1/10 of that time in those games. 140 hours is just such a strange... number...

7 years ago
Permalink

Comment has been collapsed.

Interesting! For Counter-Strike Complete, it appears that sub no longer exists or is unavailable in my region, so Steam redirects back to the homepage. Goodness knows what my script is extracting from that - but it appears it's finding some games that have in total 140 hours playtime! (On my end I get 112, which is likely evidence of the same problem). Might have to hardcode a fix for missing subs...

However, I can see the Typing of the Dead sub and my script tells me you've played 18 hours of it? Are you able to view the sub?

7 years ago*
Permalink

Comment has been collapsed.

I think I've fixed this in version 1.3.2 - when you have the time, could you update and see if it works? Unfortunately, the script will now be unable to provide an information about such subs - but that's better than complete rubbish I reckon!

7 years ago
Permalink

Comment has been collapsed.

Unfortunately I don't have acces to any of the subs, since TotD is not available for purchase in germany, but jeah I actually have 18 hours playtime in it - same time as with the CS package.... 18 hours in CS:GO + ~10 min in CS:CZ.

I did update it and they no longer show these 140 hours for the games. However my total (win)-playtime doesn't seem to have changed and still shows 786 hours. That's definately too much!
Though I have the feeling that the average playtime no longer includes these two packages and has dropped from 11 hours to the... correct number (9.5) I think.

Edit: Oh I also think that my wincount-total has increased with that last update to 83 games.

7 years ago*
Permalink

Comment has been collapsed.

Strange. If I run the script at your profile, I get 553 hours, and it says 50/59 wins with playtime. I did have some information cached since before.

7 years ago
Permalink

Comment has been collapsed.

Hm, I get the same results as before - not sure what I could be doing wrong here.

7 years ago
Permalink

Comment has been collapsed.

It might not be you doing something wrong ;)
Either it's because of Steam sending different information depending on where the script is being run from, or that it has something to do with the cached data. I bet kelnage can find out.

7 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 4 years ago.

7 years ago
Permalink

Comment has been collapsed.

Could you re-run the latest version (1.3.4) of my script on sappyMA's profile - 553 is far too few hours - and I have no idea why it would be so different for you than me (804 hours) and sappy (786 hours - lower due to not being able to access the TotD sub).

7 years ago
Permalink

Comment has been collapsed.

Now I get 676 hours and time in 54/73 won games.

So, different subs available in different countries is probably the issue.

7 years ago
Permalink

Comment has been collapsed.

Urgh, you're right - I cached the "games" in the users data.

The latest version (1.3.3) will ignore all existing cached data and start again from scratch - do let me know if you see anything unusual.

7 years ago
Permalink

Comment has been collapsed.

Hm nah that didn't help. After retrieving the data, I get the same results. (Tested with 1.3.4.)

View attached image.
7 years ago
Permalink

Comment has been collapsed.

Okay, I manually went through your wins and added together the playtimes in the rows and compared those to the total calculated in the table (I've got 804 hours - which is expected since I can access the TotD sub). On my end the two are equal (within a small margin of error, which is expected due to rounding in the row's playtimes).

So unless you can see another row with drastically different hours played to what Steam reports, then I think my script is currently working correctly! I tried randomly sampling from your more played games and everything matches up on my end.

7 years ago
Permalink

Comment has been collapsed.

Hm.... jeah well... I should have calculated it myself before I said: "That's definately too much!" -.-*
The script number seems legit... I calculated it for myself now. I just thought that number didn't change after that "140h-update" and since tso numbers seemed more reasonable..... well....

Apologies for the extra work I've caused! D:

7 years ago*
Permalink

Comment has been collapsed.

No worries :) You definitely highlighted a real bug in my script, so I don't begrudge you a little extra effort.

I am also concerned about tso's different numbers - will chase that up with him.

7 years ago
Permalink

Comment has been collapsed.

Excellent update! I like how it's now much easier to track the achievement progress in my games won here, nice touch that 100% games are marked with blue just as on BLAEO :D

View attached image.
7 years ago
Permalink

Comment has been collapsed.

Bump! That script is actually really useful unlike auto-joining, does this game have cards or whatever bullshit that promote shit behavior. Thanks, Kel!

7 years ago
Permalink

Comment has been collapsed.

Bump. Highly recommended for people to self-check where they are with playing their wins.

7 years ago
Permalink

Comment has been collapsed.

Great and useful script, bump!

7 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 7 years ago.

7 years ago
Permalink

Comment has been collapsed.

Not such a random reason. If someone won hundreds of games and never played a single one, there's not much reason to keep him/her on one's whitelist, regardless of how generous of a contributor they are. Don't you think?

7 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 7 years ago.

7 years ago*
Permalink

Comment has been collapsed.

Using reductio ad absurdum, would you still give 3600+ games away if you knew with certainty that none of your winners will play them, and that all they'll do is farm them for cards?

7 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 7 years ago.

7 years ago
Permalink

Comment has been collapsed.

Why delete these comments? I don't think you did anything wrong... puzzled.

7 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 4 years ago.

7 years ago
Permalink

Comment has been collapsed.

I didn't remember either, just remembered that the user had nothing to be ashamed of. Looking at the number of GAs listed above, yes, it was probably him.

7 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 4 years ago.

7 years ago*
Permalink

Comment has been collapsed.

Extremely helpful, thank you so much :)

7 years ago
Permalink

Comment has been collapsed.

visibility bump!

7 years ago
Permalink

Comment has been collapsed.

bump

7 years ago
Permalink

Comment has been collapsed.

Have a bump for this excellent script. (ง •̀_•́)ง

7 years ago
Permalink

Comment has been collapsed.

Bump for a really nice and pleasant script. :3

7 years ago
Permalink

Comment has been collapsed.

Cool, first time I noticed this existed. Thanks for the script!

7 years ago
Permalink

Comment has been collapsed.

Ooooh, nifty, thanks for this script.

7 years ago
Permalink

Comment has been collapsed.

I wanted to just use this to see what it said for my own profile, but it seems it only works for other profiles. I just wanted a convenient check even though I can check elsewhere.

7 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 3 years ago.

7 years ago
Permalink

Comment has been collapsed.

I don't think I did. The script did pop up when I checked a user's profile page (not wins page), so I just assumed it didn't work for your own. I'll try it again then. I just wanted the convenience to check through SG, though.

edit: I guess I clicked on a user's win page instead of their profile before.

7 years ago
Permalink

Comment has been collapsed.

How about extending the script to the Gifts Sent page? This would help answer the question of "Do they even play?" and would help fine tune which type of giveaways to create to increase the chances of them being played. I'd hazard a guess that Public Level 0 is probably not the best option for this.

7 years ago
Permalink

Comment has been collapsed.

I'd hazard a guess that Public Level 0 is probably not the best option for this.

idk, tbh.. some of them certainly, but some also genuinely can't/couldn't afford games at all so they'd be more apt to play games they win with such a low library count.

7 years ago
Permalink

Comment has been collapsed.

Bump ^_^

7 years ago
Permalink

Comment has been collapsed.

Bump for usefulness. :)

7 years ago
Permalink

Comment has been collapsed.

I just installed this to shame myself. I'm gonna be better, future Shin, I swear.

7 years ago
Permalink

Comment has been collapsed.

Seems like a useful tool. But interesting thing is it shows i've won 44 games but i won 33 instead. :)

7 years ago
Permalink

Comment has been collapsed.

The script expands collections - so your Hearts of Iron III collection became many wins, rather than one.

7 years ago
Permalink

Comment has been collapsed.

Script shows Hearts of Iron in my won section? That's odd, it should be in gifted ones. Only collection i've won is Company of Heroes which contains 3 games if i remember correctly. Probably this is a some database issue with SG, in the end your algorithm is connected with SG itself.

(Btw forgot the bump, so have a bump) ^^

7 years ago
Permalink

Comment has been collapsed.

Sorry, that was my error. It will have included Company of Heroes and Borderlands 2 GOTY (contains a lot of DLC). Sadly my script can't distinguish between games and DLC (which it is unable to get playtime for due to how Steam is designed).

7 years ago
Permalink

Comment has been collapsed.

No problem, i think it's fairly enough. Some DLCs are separate games some are not, it's hard to keep distinct.

7 years ago
Permalink

Comment has been collapsed.

Thank you for this scrip and thank you to LastM for bringing it to my attention in his thread :)

7 years ago
Permalink

Comment has been collapsed.

Good script installed.. thank you for bring me more attention to play my winnings.

7 years ago
Permalink

Comment has been collapsed.

Just a question please
I am not that expert with scripts and this stuff so where is the button called "Provide API key"?

7 years ago
Permalink

Comment has been collapsed.

Hi Golden Dragon. First off, you'll need to have the Greasemonkey (if you use Firefox) or Tampermonkey (if you use Chrome) extension installed. Then you'll need to install the script from the link I provide. Once you've done that, you should see the button labelled "Provide API Key" by going to a users won games page - such as yours. You should see a greyish button on that page, just below the table.

7 years ago
Permalink

Comment has been collapsed.

Thanks both of you maybe i should have restarted chrome to see this as i didn't see it first time

7 years ago
Permalink

Comment has been collapsed.

7 years ago
Permalink

Comment has been collapsed.

Thanks both of you maybe i should have restarted chrome to see this as i didn't see it first time

7 years ago
Permalink

Comment has been collapsed.

73.5% (25/34) with playtime, 100% (19/19) with ≥1 achievement

Why does the script say I've won "34" games? Where are these 10 additional wins? If you go to my profile you'll see I've only won 24 games.

Though System Shock Pack contains System Shock & System Shock 2, which is why it shows 25 I assume, but it also adds the original System Shock (which I've also played). And The Vanishing of Ethan Carter also adds a Redux version, which I both played. Since I played every single game I won I should have 100% games with playtime. Also I won a "Deponia: The Complete Journey" GA once but it got deleted because the key was for Deponia only. Still I have no idea how your script got to 34 wins or why it wants to make me look bad :O

7 years ago
Permalink

Comment has been collapsed.

if i had to guess, shadow of mordor is both parts of the reason it's off.. it's not registering cheevo's due to it being "goty" as well as it has ~10dlcs it's probably registering as owned wins redeemed & unplayed also due to "goty".

edit: to clarify better... achievements that are tied to specific DLCs inside of the GOTY is why the # is off..
it's all due to the way steam api works sadly =(

7 years ago*
Permalink

Comment has been collapsed.

Yeah, that makes sense, I also thought about that after writing my post, I've won two games with DLC included: Shadow of Mordor & Alien Isolation. It would make sense that these are my 9 "missing" games, kind of sad that it totally skews the perception of my played wins though :(

7 years ago
Permalink

Comment has been collapsed.

hmm, i oddly actually get slightly diff results for you

Win Counts
75.0% (24/32) with playtime, 100% (18/18) with ≥1 achievement

you seem to of lost a achievement for me, but gained a little higher % played.. either way though, manually going thru them i see playtime next to literally everything & 100% next to everything that can register properly thru an api (that has achievements).

7 years ago
Permalink

Comment has been collapsed.

I've played, beaten and got every single achievement for all my SG wins, including the DLC's (which the script doesn't show). It technically should show: 100% (24/24) with playtime, 100% (19/19) with ≥1 achievement. Weird that the script shows a slightly different result for you. What browser are you using? I'm using chrome.

7 years ago
Permalink

Comment has been collapsed.

i had achievements/playtime mixed up before and that's why i thought it was off, but it doesn't make sense at all since i can still visually see playtime next to all of them.

i'm chrome also (Linux - Version 58.0.3029.110 64-bit)

edit: i suppose it still requires playtime for each one of the dlcs, and the api can't distinguish that part so it only registers playtime for the base games.

edit2: i think this script would be far more accurate if it used steam store login cookie instead of api. more complex to setup for users though i suppose.

7 years ago
Permalink

Comment has been collapsed.

I don't know enough about the technical stuff, I just wished the script would take the number next to "Gifts Won" on Steamgifts and then just looked how many you have played (though it could still create problems if you won a GA with DLC only, but at least it would be more accurate).

7 years ago
Permalink

Comment has been collapsed.

I wanted to take into account packages - such as the System Shock package - as otherwise I couldn't provide a playtime/achievements for them (since Steam records no playtime against packages, just individual games). Unfortunately that does mean I'm more likely to find DLCs in some cases (such as the Alien: Isolation package you won). One day I'd like to add DLC checking, but that currently seems to be difficult.

One possible reason for getting different stats is if you're in different regions and a package available in one region is not available in another - in that case, Steam only gives a blank page so my script can't scrape the package contents.

7 years ago
Permalink

Comment has been collapsed.

I (& d3m4n) assumed the other 9 "wins" are indeed for the DLC from Alien Isolation and Shadow of Mordor, sadly it creates a very inaccurate playtime statistic. But it's still a great script otherwise and I realize much of this is to blame on how Steam works, it's not something that has an easy solution I think.

7 years ago
Permalink

Comment has been collapsed.

It turns out there was an easy solution - I just hadn't spotted it! However, BarefootMonkey was able to spot it and if you update to version 1.3.8 you should find your stats are much more accurate now.

7 years ago
Permalink

Comment has been collapsed.

Awesome, I'm happy someone found an easy solution for it. Now us DLC/collection winners can have an accurate amount of games with playtime. Great job kelnage and BarefootMonkey!

7 years ago
Permalink

Comment has been collapsed.

Bump!

7 years ago
Permalink

Comment has been collapsed.

Hey, first thanks again for this useful tool of doom ;)

After talking with LastM, I was wondering, do you think it would be possible to add a stat that shows for example games with more than 25% of achievements unlocked? (Because >=1 often can mean the person just started the game once, but I don't think there is any easy way to determine how many of those games were finished)

If it's too complicated to implement, never mind, but thanks in advance for considering it.

7 years ago
Permalink

Comment has been collapsed.

Done - it's in version 1.3.5 and later.

7 years ago
Permalink

Comment has been collapsed.

Thanks a lot, I just updated and it works like a charm :3

7 years ago*
Permalink

Comment has been collapsed.

Bug report (typo): 'retriving' instead of 'retrieving'

7 years ago
Permalink

Comment has been collapsed.

Fixed in 1.3.6 - well noticed :)

7 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.