Steamworks Documentation
IUserReviewsService
Methods for reading Steam user reviews.

Use this interface to get a dump of the reviews on an application in Steam. It replaces store.steampowered.com/appreviews/<appid>?json=1; see Migrating from /appreviews below.

NOTE: This is a Service interface, methods in this interface should be called with the input_json parameter.

For more info on how to use the Steamworks Web API please see the Web API Overview.

GetAppReviews

GET https://api.steampowered.com/IUserReviewsService/GetAppReviews/v1/
NameTypeRequiredDescription
keystring(Optional) Steamworks Web API publisher authentication key. Pass a key associated with the app to get the higher rate limit.
appiduint32✔App to get reviews for.
filterint32IUserReviewsService#EUserReviewsAppReviewsFilter. Sort order of the results. Defaults to k_EUserReviewsAppReviewsFilter_Helpful, which widens day_range until it finds results, so it will always return reviews. If paging through all the reviews with cursor, use Recent or Updated to eventually receive an empty list.
languagesstring[]API language codes to return reviews in (see Languages Supported on Steam). Empty means english; "all" means every language. Example usage: languages[0]='english', languages[1]='french', etc.
day_rangeuint32Only used by the Helpful filter. Number of days back from today to look for reviews. Defaults to 30, max 365; 0 means no limit.
cursorstringCursor to paginate through the results. Set to '*' or omit for the first request, then pass the cursor value returned in the previous response. Cursor values may contain characters that need to be URL-encoded.
review_typeint32IUserReviewsService#EUserReviewsReviewType. Defaults to k_EUserReviewsReviewType_All.
purchase_typeint32IUserReviewsService#EUserReviewsPurchaseType. Defaults to k_EUserReviewsPurchaseType_Steam.
num_per_pageuint32Number of reviews to return per page. Defaults to 20, max 100.
filter_offtopic_activityboolBy default, off-topic reviews (aka "Review Bombs") are filtered out. Pass false to include them. See here.
display_languagestringAPI language code for review_score_desc in the response. Defaults to english.
use_review_qualityboolHelpful filter only. Ranks reviews that Steam has judged to be low quality (ASCII art, memes, off-topic, uninformative, vote farming) below the others. Defaults to true. If false, the Helpful filter sorts by weighted_vote_score and, unless day_range is 0, only returns reviews with a score of at least 0.5 and at least one helpful vote.
date_range_startuint32Unix timestamp. Only return reviews created at or after this time. Ignored unless date_range_end is also set.
date_range_enduint32Unix timestamp. Only return reviews created at or before this time. Ignored unless date_range_start is also set.
date_range_excludeboolIf true, exclude reviews inside the date range instead of returning only them.
playtime_min_hoursuint32Only return reviews whose author had at least this many hours in the app when the review was written.
playtime_max_hoursuint32Only return reviews whose author had at most this many hours in the app when the review was written.
primarily_steam_deckboolOnly return reviews whose author had played more than half their time on Steam Deck when the review was written.
hardware_osstringOnly return reviews written on hardware with this operating system.
hardware_cpustringOnly return reviews written on hardware with this CPU.
hardware_gpustringOnly return reviews written on hardware with this GPU.
hardware_device_typestringOnly return reviews written on this type of device.

Gets a page of public reviews for an app.

This method does not require a key, and anonymous responses may be cached for up to 10 minutes. Calls without a key associated with the app share a lower rate limit; a rate-limited call returns HTTP 429.

Response:
NameTypeDescription
query_summary{message}Totals for the query. num_reviews is the number of reviews on this page. The score fields (review_score, review_score_desc, total_positive, total_negative, total_reviews) are only returned on the first page, and only when review_type is k_EUserReviewsReviewType_All.
reviews{message}[]The reviews on this page. See below.
cursorstringPass this as cursor to get the next page.
day_range_useduint32Helpful filter only. The day range actually searched. Can be wider than day_range when the requested range had no reviews; 0 means no limit.
total_matchinguint32Total number of reviews that match the query.

Each entry in reviews:
NameTypeDescription
recommendationiduint64Unique ID of the review.
author{message}See below.
languagestringAPI language code the review was written in.
reviewstringText of the review.
timestamp_createduint32Unix timestamp when the review was created.
timestamp_updateduint32Unix timestamp when the review was last updated.
voted_upboolTrue if this is a positive review.
votes_upuint32Number of users who found this review helpful.
votes_funnyuint32Number of users who found this review funny.
weighted_vote_scorefloatHelpfulness score.
comment_countuint32Number of comments posted on this review.
steam_purchaseboolTrue if the author purchased the app on Steam.
received_for_freeboolTrue if the author checked the box saying they got the app for free.
written_during_early_accessboolTrue if the review was written while the app was in Early Access.
developer_responsestringText of the developer's response, if any.
timestamp_dev_respondeduint32Unix timestamp when the developer responded.
primarily_steam_deckboolTrue if the author played primarily on Steam Deck when the review was written.
refundedboolTrue if the author was refunded for the app.
hardware{message}The hardware the author chose to show on the review, if any. See below.

The author of each review:
NameTypeDescription
steamidfixed64SteamID of the author.
num_reviewsuint32Number of public reviews the author has written.
playtime_foreveruint32Lifetime playtime in the app, in minutes.
playtime_last_two_weeksuint32Playtime in the last two weeks, in minutes.
playtime_at_reviewuint32Playtime when the review was written, in minutes.
deck_playtime_at_reviewuint32Steam Deck playtime when the review was written, in minutes.
last_playeduint32Unix timestamp when the author last played the app.

The hardware of each review, as reported by the author's Steam client:
NameTypeDescription
osstringOperating system.
cpu_namestringCPU.
adapter_descriptionstringGPU.
system_ramuint64System RAM, in MB.
vram_sizeuint32Video RAM, in MB.

Migrating from /appreviews

store.steampowered.com/appreviews/<appid>?json=1 is deprecated. GetAppReviews takes the same filters, with these differences:

  • Parameters are passed in input_json, and the string values are now enums: filter all/recent/updated is Helpful/Recent/Updated (IUserReviewsService#EUserReviewsAppReviewsFilter), and review_type and purchase_type map to IUserReviewsService#EUserReviewsReviewType and IUserReviewsService#EUserReviewsPurchaseType.
  • language is now languages, a list.
  • There is a new Funny sort, and new date, playtime, Steam Deck and hardware filters.
  • The response has no success field; check the HTTP status instead.
  • author.num_games_owned is no longer returned.
  • weighted_vote_score is a number, not a string.
  • Each review has a new refunded field.
  • hardware has the same fields, but its strings are no longer profanity-filtered.
  • total_matching and day_range_used are new.

Enums

These are enums which are defined for use with IUserReviewsService.

EUserReviewsAppReviewsFilter

How to sort the results of GetAppReviews.

NameValueDescription
k_EUserReviewsAppReviewsFilter_Helpful0Most helpful, within day_range.
k_EUserReviewsAppReviewsFilter_Recent1Most recently created.
k_EUserReviewsAppReviewsFilter_Updated2Most recently updated.
k_EUserReviewsAppReviewsFilter_Funny3Most votes for funny.

EUserReviewsReviewType

NameValueDescription
k_EUserReviewsReviewType_All0All reviews.
k_EUserReviewsReviewType_Positive1Only positive reviews.
k_EUserReviewsReviewType_Negative2Only negative reviews.

EUserReviewsPurchaseType

NameValueDescription
k_EUserReviewsPurchaseType_Steam0Only reviews by users who purchased the app on Steam.
k_EUserReviewsPurchaseType_All1All reviews.
k_EUserReviewsPurchaseType_NonSteamPurchase2Only reviews by users who did not purchase the app on Steam.