Catalog / Social, content & reviews
SOCIAL, CONTENT & REVIEWS
Steam Reviews & Change Monitor
Export Steam game reviews with language, recommendation, date and playtime filters.
About this data
Export Steam game reviews with language, recommendation, date and playtime filters. Collect review text, votes, Steam Deck usage, refunds and developer replies. Track new and edited reviews across scheduled runs.
Buy per call over x402
One endpoint at api.ssh.autos. Each call is one JSON POST, paid in USDC with no account or API key, and answered in the same HTTP response.
Steam Reviews
POST /v1/steam/reviews
Reviews for one Steam game by app ID: review text, votes, Steam Deck usage, refunds and developer replies.
Input
Send a JSON body to POST https://api.ssh.autos/v1/steam/reviews.
| Field | Type | Required | Notes |
|---|---|---|---|
games | array of strings | optional | exactly 1 item; default ["620"] |
language | string | optional | up to 30 characters; default "english" |
maxItems | integer | optional | 1–20; default 5 |
Returned fields
The answer is JSON: records, a list of up to 20, and summary, the run status and counts. Each record has these 31 fields; a field the source does not publish comes back null.
31 fields per record
| Field | Type | Notes |
|---|---|---|
appId | string | — |
reviewId | string | — |
text | string | — |
sourceUrl | string | — |
scrapedAt | string | — |
reviewUrl | string | — |
authorSteamId | string | — |
authorProfileUrl | string | — |
language | string | — |
developerResponse | string | — |
createdAt | string | — |
updatedAt | string | — |
lastPlayedAt | string | — |
developerResponseAt | string | — |
recommended | boolean | — |
authorReviewCount | integer | — |
playtimeForeverMinutes | integer | — |
playtimeAtReviewMinutes | integer | — |
playtimeLastTwoWeeksMinutes | integer | — |
deckPlaytimeAtReviewMinutes | integer | — |
helpfulVotes | integer | — |
funnyVotes | integer | — |
commentCount | integer | — |
weightedVoteScore | number | — |
steamPurchase | boolean | — |
receivedForFree | boolean | — |
earlyAccess | boolean | — |
primarilySteamDeck | boolean | — |
refunded | boolean | — |
hardware | object | — |
changeType | string | one of new, updated |
Example call
npx agentcash@latest fetch https://api.ssh.autos/v1/steam/reviews -m POST -b '{"games": ["620"], "maxItems": 3}'
The example values come from the API spec or the actor’s own sample input. Running it is a paid call.
What is and isn’t charged
You pay the call price for
- An answer, including a definitive “not found” or an empty result.
- Confirmed no matches returns records: [] (charged: it is an answer).
Free
- Invalid input (422), busy (503), source failure (502), timeout (504) and calls whose client hung up are never charged.
- Invalid input and source failures are not charged.
How x402 payment works
- Your client sends the request. The API answers
402 Payment Requiredwith the price and where to pay. - The client pays from its own wallet: USDC on Base or Solana over x402, or over MPP on Tempo. No account, sign-up or API key.
- The client retries with the payment attached and gets the JSON answer in the same call. You are only charged for answers.
The AgentCash CLI in the example does all three steps for you and pays from your AgentCash wallet. Any x402 or MPP client works the same way.
Machine-readable: openapi.json · llms.txt