Steam

List Steam app reviews

List the user reviews of a Steam app, filtered by language, sentiment, playtime and date.

GET/v1/steam/apps/{appId}/reviews
x-api-keystringheader

API key (`sfk_...`)

Parameters
12
appIdintegerrequiredpath

Steam app id, the number in the store URL, e.g. `570` for Dota 2. A store app URL is also accepted.

≥ 1 · ≤ 2147483647

languagestringoptionalquery

Language the reviews are written in, as a Steam name or short code such as `english` or `en`, or `all`. Default: `all`.

sortstringoptionalquery

`recent` is newest first and reaches the first review; `updated` is by last edit; `helpful` is Steam's helpfulness ranking and only looks at the last `days` days. Default: `recent`.

one of: recent, updated, helpful

sentimentstringoptionalquery

Only reviews that recommend (`positive`) or don't recommend (`negative`) the app. Default: `all`.

one of: all, positive, negative

purchasestringoptionalquery

`steam` is reviews by people who bought on Steam, `other` is activated keys and free copies. Default: `all`.

one of: all, steam, other

minPlaytimeHoursnumberoptionalquery

Only reviews by players with at least this many hours in the app. Must not exceed `maxPlaytimeHours`.

≥ 0 · ≤ 1000000

maxPlaytimeHoursnumberoptionalquery

Only reviews by players with at most this many hours in the app. Must be at least `minPlaytimeHours`.

≥ 0 · ≤ 1000000

fromstringoptionalquery

Only reviews written on or after this date (UTC). Must be on or before `to`.

pattern: ^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{1,3})?)?(?:Z|[+-]\d{2}:\d{2}))?$

tostringoptionalquery

Only reviews written on or before this date (UTC). Must be on or after `from`.

pattern: ^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{1,3})?)?(?:Z|[+-]\d{2}:\d{2}))?$

daysintegeroptionalquery

With `sort=helpful`: how many days back to rank, 1 to 365. Default: 365.

≥ 1 · ≤ 365

limitintegeroptionalquery

Reviews per page, 1 to 100. Default: 20.

≥ 1 · ≤ 100

cursorstringoptionalquery

Pass `page.nextCursor` from the previous response, with the same filters, to get the next page.

min 1 chars · max 512 chars · pattern: ^[A-Za-z0-9_-]+$

Response fields
57

Endpoint-specific response payload.

datalookupStatus
string

Whether the app was found.

one of: found, not_found

dataappId
integer

Steam app id, the number in the store URL, e.g. `570` for Dota 2. A store app URL is also accepted.

≥ 1 · ≤ 2147483647

Totals for the reviews that match the filters; null when the app wasn't found, or when `sentiment` is `positive` or `negative` because no totals are available for a filtered list.

datasummarytotalReviews
integer

Reviews matching the filters.

datasummarypositive
integer

Matching reviews that recommend the app.

datasummarynegative
integer

Matching reviews that don't recommend the app.

datasummaryscore
integernullable

Steam's review score for the matching reviews, 0 to 9.

datasummaryscoreLabel
stringnullable

Steam's label for the score, e.g. `Very Positive`.

Reviews on this page, in the requested order.

datareviews[]id
string

Review id.

datareviews[]url
string

Link to the review on Steam.

datareviews[]language
string

Language the review is written in, as Steam names it, e.g. `english` or `schinese`.

datareviews[]text
stringnullable

Review text; null when the review has none.

datareviews[]recommended
boolean

Whether the reviewer recommends the app.

datareviews[]createdAt
stringnullable

When the review was first written (ISO 8601 UTC).

datareviews[]updatedAt
stringnullable

When the review was last edited (ISO 8601 UTC).

datareviews[]helpfulVotes
integer

Players who found the review helpful.

datareviews[]funnyVotes
integer

Players who found the review funny.

datareviews[]helpfulScore
numbernullable

Steam's weighted helpfulness score, 0 to 1.

datareviews[]commentCount
integer

Comments on the review.

datareviews[]steamPurchase
boolean

Whether the reviewer bought the app on Steam.

datareviews[]receivedForFree
boolean

Whether the reviewer got the app for free.

datareviews[]earlyAccess
boolean

Whether the review was written while the app was in Early Access.

datareviews[]primarilySteamDeck
boolean

Whether the reviewer mostly played on a Steam Deck.

datareviews[]refunded
boolean

Whether the reviewer's purchase was refunded.

Reactions (awards) the review received.

datareviews[]reactions[]type
integer

Steam's numeric reaction (award) type.

datareviews[]reactions[]count
integer

How many times it was given.

Hardware the reviewer chose to share with the review; null when none.

datareviews[]hardwareos
stringnullable

Operating system the reviewer shared.

datareviews[]hardwarecpu
stringnullable

Processor the reviewer shared.

datareviews[]hardwaregpu
stringnullable

Graphics card the reviewer shared.

datareviews[]hardwareramMb
integernullable

System memory in MB.

datareviews[]hardwarevramMb
integernullable

Video memory in MB.

The developer's reply to the review; null when there is none.

datareviews[]developerResponsetext
string

The developer's reply.

datareviews[]developerResponserespondedAt
stringnullable

When the developer replied (ISO 8601 UTC).

The reviewer.

datareviews[]authorid
string

Reviewer's 64-bit Steam id.

datareviews[]authorname
stringnullable

Reviewer's display name.

datareviews[]authorurl
stringnullable

Reviewer's profile URL.

datareviews[]authoravatarUrl
stringnullable

Reviewer's avatar image URL.

datareviews[]authorgamesOwned
integer

Games the reviewer owns, as Steam reports it.

datareviews[]authorreviewCount
integer

Reviews the reviewer has written.

datareviews[]authorplaytimeMinutes
integer

Minutes the reviewer has played the app.

datareviews[]authorplaytimeAtReviewMinutes
integer

Minutes played when the review was written.

datareviews[]authorplaytimeLastTwoWeeksMinutes
integer

Minutes played in the last two weeks.

datareviews[]authordeckPlaytimeAtReviewMinutes
integernullable

Minutes played on Steam Deck when the review was written; null when not reported.

datareviews[]authorlastPlayedAt
stringnullable

When the reviewer last played the app (ISO 8601 UTC).

Pagination state for the current page.

datapagehasMore
boolean

Whether another page is available.

datapagenextCursor
stringnullable

Cursor to pass in the next request when more pages exist; null on the last page.

Metadata describing the request and billing outcome.

metarequestId
string

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integer

Credits charged for this request.

≥ 0

metaversion
string

Public API version that served the response.

one of: v1

Code example

curl "https://api.socialfetch.dev/v1/steam/apps/620/reviews?language=english&limit=20" \
  -H "x-api-key: YOUR_API_KEY"

Responses

Review listing.