Better Fetch

Steam Store Scraper

Search Steam Store games, fetch one app's public store metadata, or collect a bounded page of public user reviews through Steam's public JSON surfaces.

Ecommercev0.1.1~1 credit/runSource on GitHub

Overview

Steam Store Scraper gives agents a bounded, structured route into public Steam Store data. Search by keyword, fetch one Steam app's store metadata, or pull a page of public user reviews using Steam's JSON store and review surfaces. The tool normalizes app IDs, names, store URLs, prices, discounts, genres, categories, supported platforms, developers, publishers, release dates, recommendation counts, Metacritic fields, screenshots, review summaries, review text, vote direction, helpful votes, timestamps, and playtime fields. It is designed for game-market research, price and discount monitoring, review triage, competitive catalog analysis, launch watchlists, ecommerce intelligence, and LLM-ready gaming datasets.

Last validated: Jul 3, 2026

Playground

search = keyword search; details = one Steam app's store page metadata; reviews = one page of public user reviews.

Maximum search results or reviews to return. Details mode returns one app and at most 10 reviews when include_reviews is true.

Keyword query for search mode, such as portal or farming simulator.

Steam app ID or Steam app URL for details and reviews modes, e.g. 620 or https://store.steampowered.com/app/620/Portal_2/.

Steam review cursor. Use * for the first page or pass next_cursor from a previous run.

Two-letter country code for localized pricing, such as US, GB, or AU.

Steam store language code for search/details.

Review sentiment filter.

Purchase-source filter for reviews.

Steam review filter for reviews mode or include_reviews.

In details mode, also fetch a bounded page of reviews and review summary fields.

Steam review language, such as english or all.

Sign in to run this tool

~1 credit per run · runs against your account

Input

mode"search" | "details" | "reviews"default: "search"

search = keyword search; details = one Steam app's store page metadata; reviews = one page of public user reviews.

limitintegerdefault: 10

Maximum search results or reviews to return. Details mode returns one app and at most 10 reviews when include_reviews is true.

querystring

Keyword query for search mode, such as portal or farming simulator.

app_idstring

Steam app ID or Steam app URL for details and reviews modes, e.g. 620 or https://store.steampowered.com/app/620/Portal_2/.

cursorstring

Steam review cursor. Use * for the first page or pass next_cursor from a previous run.

countrystringdefault: "US"

Two-letter country code for localized pricing, such as US, GB, or AU.

languagestringdefault: "en"

Steam store language code for search/details.

review_type"all" | "positive" | "negative"default: "all"

Review sentiment filter.

purchase_type"all" | "steam" | "non_steam_purchase"default: "all"

Purchase-source filter for reviews.

review_filter"recent" | "updated" | "all"default: "recent"

Steam review filter for reviews mode or include_reviews.

include_reviewsbooleandefault: false

In details mode, also fetch a bounded page of reviews and review summary fields.

review_languagestringdefault: "english"

Steam review language, such as english or all.

Output

appobject

Steam app details

app.namestring

App name

app.typestring

App type

app.pricestring

Formatted price overview

app.app_idinteger

Steam app ID

app.genresstring

Comma-separated genres

app.is_freeboolean

Free-to-play flag

app.websitestring

Publisher/developer website

app.platformsstring

Comma-separated supported platforms

app.store_urlstring

Steam Store URL

app.categoriesstring

Comma-separated store categories/features

app.developersstring

Comma-separated developers

app.publishersstring

Comma-separated publishers

app.coming_soonboolean

Coming-soon flag

app.screenshotsstring

Comma-separated screenshot URLs

app.header_imagestring

Steam header image

app.release_datestring

Localized release date

app.required_ageinteger

Required age

app.capsule_imagestring

Steam capsule image

app.metacritic_urlstring

Metacritic URL

app.metacritic_scoreinteger

Metacritic score

app.short_descriptionstring

Short store description

app.recommendations_totalinteger

Steam recommendation count

modestringrequired

Mode used for this run

countintegerrequired

Number of game rows, app records, or reviews returned

gamesobject[]

Search results

querystring

Search query used

app_idinteger

Steam app ID used

countrystringrequired

Country code used for store requests

reviewsobject[]

Public Steam user reviews

languagestringrequired

Store language code used

source_urlstringrequired

Steam URL fetched for the primary request

next_cursorstring

Cursor for the next page of reviews

reviews_urlstring

Steam reviews URL fetched when include_reviews is true

review_summaryobject

Steam review summary totals

review_summary.num_reviewsinteger

Reviews returned in this response

review_summary.review_scoreinteger

Steam review score bucket

review_summary.total_reviewsinteger

Total matching reviews

review_summary.total_negativeinteger

Total negative reviews

review_summary.total_positiveinteger

Total positive reviews

review_summary.review_score_descstring

Review score description

Examples

portal-search

{
  "mode": "search",
  "limit": 3,
  "query": "portal",
  "country": "US",
  "language": "en"
}

portal-details

{
  "mode": "details",
  "app_id": "620",
  "country": "US",
  "language": "en"
}

portal-reviews

{
  "mode": "reviews",
  "limit": 2,
  "app_id": "620",
  "review_language": "english"
}

Use cases

Game catalog research

Search Steam by keyword and return normalized game rows with app IDs, prices, platforms, images, metascores, and store URLs.

Store page monitoring

Fetch one app's public metadata, including release date, developers, publishers, genres, categories, recommendations, price, and screenshots.

Review triage

Collect a bounded page of public Steam reviews with sentiment direction, helpful votes, timestamps, playtime, and review summary totals.

FAQ

Does Steam Store Scraper require a Steam login or API key?

No. Version 0.1 uses public Steam Store JSON and public Steam review endpoints. It only returns data visible through those public surfaces.

Can it download all reviews for a game?

No. This release fetches one bounded review page and returns the next cursor. Full pagination, scheduled monitoring, and large exports are future work.

Is this tool affiliated with Steam or Valve?

No. Better Fetch is not affiliated with Valve, Steam, or Steamworks. The Steam logo mark is used only to identify the public target service.

Use it anywhere

MCP (Claude, Cursor, any client)

# Add the Better Fetch MCP connector (or paste the URL into
# Claude → Settings → Connectors → Add custom connector):
claude mcp add --transport http better-fetch https://betterfetch.co/api/mcp \
  --header "Authorization: Bearer bf_your_key_here"

# Then ask for the tool by name: steam_store_scraper

REST

curl -sS -X POST "https://betterfetch.co/api/tools/steam_store_scraper/run" \
  -H "Authorization: Bearer bf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"input": {"mode":"search","limit":3,"query":"portal","country":"US","language":"en"}}'

Run locally

git clone https://github.com/better-fetch/tools/tree/main/tools/steam-store-scraper && cd steam-store-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"mode":"search","limit":3,"query":"portal","country":"US","language":"en"}'