> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/steam>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/steam.mdx>

---

# Steam API. Apps, reviews, charts and market.

Look up any public app by id, read its reviews and review history, follow player counts and sales charts, search the store, and price Community Market items. JSON in, JSON out.

- Any public app id
- Reviews and charts
- Country prices

Social Fetch exposes nineteen routes under `/v1/steam`. App routes start from the app id, the number in a Steam store URL: `570` for Dota 2, `620` for Portal 2, `730` for Counter-Strike 2. `GET /v1/steam/apps/{appId}` returns the app record with `name`, `developers`, `publishers`, `genres`, `categories`, `tags`, `languages`, `platforms`, `releaseDate`, `price`, `screenshots`, `trailers`, `reviewSummary`, `antiCheat` and `purchaseOptions`. A full store URL is accepted as the id too.

Reviews have three routes: `GET /v1/steam/apps/{appId}/reviews` for pages of reviews with the author, playtime, helpful votes and shared hardware, `.../reviews/summary` for the totals matching a language or the whole app, and `.../reviews/histogram` for review counts by week or month. Discovery routes cover `GET /v1/steam/apps/search` with the store's filters, `.../apps/browse` for catalogue listings, `.../apps/suggest` for the search box's ten matches, `.../charts` for most played, daily peak and top sellers, and `.../tags` for the tag ids those filters use.

The remaining routes add live and community data: `.../apps/{appId}/players`, `.../apps/{appId}/news`, `.../apps/{appId}/achievements`, `.../apps/{appId}/community`, `.../market/items`, `.../market/item`, `/v1/steam/groups/{name}`, `/v1/steam/featured` and `/v1/steam/hardware-survey`. Every response uses the `{ data, meta }` envelope. App lookups set `data.lookupStatus` to `found` or `not_found`, and `data.incomplete` names any part of a record that is temporarily unavailable.

## What you can get

- App records with genres, tags, platforms, prices, screenshots, trailers, system requirements, anti-cheat and the developer's links.
- Reviews with author, playtime, helpful votes, hardware, developer replies, and filters for language, sentiment, purchase type and playtime.
- Review totals plus a weekly or monthly review history for trend charts.
- Store search with category, tag, price, operating system, language and sale filters, and full catalogue listings.
- Most played, daily peak and weekly top sellers charts, with country, week and previous rank.
- Community Market search and per-item price and volume, community hubs, groups and the hardware survey.

## Steam endpoints

| Endpoint | Request | Credits | Docs |
| --- | --- | --- | --- |
| Reviews | GET /v1/steam/apps/{appId}/reviews | 1 credit Failed requests are free A not-found answer is still charged | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/appid/reviews/get) |
| Review summary | GET /v1/steam/apps/{appId}/reviews/summary | 1 credit Failed requests are free A not-found answer is still charged | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/appid/reviews/summary/get) |
| Review histogram | GET /v1/steam/apps/{appId}/reviews/histogram | 1 credit Failed requests are free A not-found answer is still charged | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/appid/reviews/histogram/get) |
| App | GET /v1/steam/apps/{appId} | 1 credit Failed requests are free A not-found answer is still charged | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/appid/get) |
| Apps by id | GET /v1/steam/apps | 1 credit per app id Up to 100 app ids per request Max 100 credits An id Steam does not know is still charged Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/get) |
| Player count | GET /v1/steam/apps/{appId}/players | 1 credit Failed requests are free A not-found answer is still charged | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/appid/players/get) |
| News | GET /v1/steam/apps/{appId}/news | 1 credit Failed requests are free A not-found answer is still charged | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/appid/news/get) |
| Achievements | GET /v1/steam/apps/{appId}/achievements | 1 credit Failed requests are free A not-found answer is still charged | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/appid/achievements/get) |
| Search | GET /v1/steam/apps/search | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/search/get) |
| Browse | GET /v1/steam/apps/browse | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/browse/get) |
| Suggest | GET /v1/steam/apps/suggest | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/suggest/get) |
| Charts | GET /v1/steam/charts | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/steam/charts/get) |
| Tags | GET /v1/steam/tags | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/steam/tags/get) |
| Featured | GET /v1/steam/featured | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/steam/featured/get) |
| Community hub | GET /v1/steam/apps/{appId}/community | 1 credit Failed requests are free A not-found answer is still charged | [docs](https://www.socialfetch.dev/docs/api/v1/steam/apps/appid/community/get) |
| Market search | GET /v1/steam/market/items | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/steam/market/items/get) |
| Market price | GET /v1/steam/market/item | 1 credit Failed requests are free A not-found answer is still charged | [docs](https://www.socialfetch.dev/docs/api/v1/steam/market/item/get) |
| Group | GET /v1/steam/groups/{name} | 1 credit Failed requests are free A not-found answer is still charged | [docs](https://www.socialfetch.dev/docs/api/v1/steam/groups/name/get) |
| Hardware survey | GET /v1/steam/hardware-survey | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/steam/hardware-survey/get) |

## How to start

1. **Create an API key.** Sign up at Social Fetch and copy a key (`sfk_…`). New accounts get 100 free credits, enough to try a few app, review and chart routes.
2. **Pick the app and route.** Use the app id from the store URL. `GET /v1/steam/apps/620` returns Portal 2 and `GET /v1/steam/apps/570/reviews?language=english&limit=20` returns a page of Dota 2 reviews. Send `x-api-key` on every request.
3. **Branch and page.** Check `data.lookupStatus` before you store a row, follow `page.nextCursor` on reviews and news or `page.page` on search and browse, and bill from `meta.creditsCharged`.

## Pricing

Every Steam route charges credits per completed request, shown on each endpoint page. The batch app lookup charges per app id, and an id Steam does not know is still charged. Each page of a list is its own request. Credits never expire on pay-as-you-go packs, and `meta.creditsCharged` on every response is the billing source of truth.

## Compared with the official API

An app record, a set of reviews, a chart and a market item each carry different fields. Social Fetch gives you one JSON shape under `/v1/steam`: app ids normalized from a number or a store URL, review totals next to the reviews, prices in the country you ask for, typed `not_found` responses, and cursors that keep reviews or news stable while new items arrive. The community routes are rate limited more tightly than the store and app routes, so plan for slower responses there.

## FAQ

### Is there a Steam API for apps, reviews and prices?

Yes. Social Fetch has nineteen Steam routes under /v1/steam: app details, a batch app lookup, store search, catalogue browse, suggestions, reviews, review totals, review history, player counts, news, achievements, community hubs, charts, tags, featured items, market search, market price, groups and the hardware survey. Authenticate with your Social Fetch API key in x-api-key.

### How do I find the app id?

The app id is the number in the store URL: 570 for Dota 2, 620 for Portal 2, 730 for Counter-Strike 2. Pass the number, a numeric string, or the full store URL. For discovery, use apps/search with a query such as portal, then read the id of each result.

### What does an app record include?

On found, data.app carries the app fields: name, type, url, developers, publishers, genres, categories, tags, languages, platforms and device ratings, release date, price, screenshots, trailers, purchase options, review summaries, anti-cheat, the AI disclosure and the developer's links. Trailer entries carry HLS and DASH stream URLs for the full videos and MP4 and WebM URLs for the short silent previews. Review summaries count Steam purchases only; use the review summary route with purchase=all for every purchase type. data.incomplete lists any group that is temporarily unavailable.

### Why is an app not_found in one country?

A country can restrict an app that exists elsewhere. The response then has lookupStatus not_found, unavailableInCountry true and the app's name in data.name, with data.app null. The app's reviews, news and community routes do not depend on the country, so they can still return data.

### How do reviews work?

GET /v1/steam/apps/{appId}/reviews returns up to 100 reviews per page with the author, language, text, recommendation, playtime, helpful and funny votes, reactions, shared hardware and any developer reply. Filter by language, sentiment, purchase type, minimum or maximum playtime, and a date range. Follow page.nextCursor with the same filters for the next page. With sentiment=positive or sentiment=negative, data.summary is null because no totals are available for a filtered list.

### Can I get review totals and review history?

Yes. GET /v1/steam/apps/{appId}/reviews/summary returns totalReviews, positive, negative, score, scoreLabel and percentPositive for one language or all languages. Use purchase=all for every review, or purchase=steam for Steam purchases only, which is the count on an app record. GET /v1/steam/apps/{appId}/reviews/histogram returns periods of positive and negative counts by week or month, plus roughly the last 30 days in recentDays.

### What do the charts return?

GET /v1/steam/charts takes chart=most_played, daily_peak or top_sellers. Entries carry rank, appId, name, url, price, currentPlayers, peakPlayers, lastWeekRank and consecutiveWeeks where they apply. Top sellers also take a country and any date in the week you want; dates after today are refused.

### How is Steam data billed?

Each completed request charges the amount shown on its endpoint page, and each page of a list is a separate request. The batch app lookup charges per requested app id, found or not. Check meta.creditsCharged on every response. Failed requests are free.

### What does lookupStatus mean?

found means the app, group or market item was returned. not_found means the id or name does not exist, or the app exists but is not sold in the requested country; in that second case unavailableInCountry is true and data.name carries the app's name. HTTP 200 only means the request finished, so always branch on data.lookupStatus before writing a row.

### Why is part of an app record empty?

Some parts of an app record can be missing on their own, such as tag names or the extra app fields. data.incomplete names the affected group, for example store_item or tag_names, while the rest of the record is still usable. An empty incomplete array means the record is complete.

### Can I use the Steam routes from MCP or Ask?

Yes. Every Steam route is a typed MCP tool and is reachable through Ask (POST /v1/ask) in plain English. Use the typed routes for production jobs, where the parameters and response shape are fixed.

## Related

- [Steam App API](https://www.socialfetch.dev/platforms/steam/apps-appid): One app's record, price and review summary (`GET /v1/steam/apps/{appId}`).
- [Steam Reviews API](https://www.socialfetch.dev/platforms/steam/apps-appid-reviews): Paged reviews with author, playtime and helpful votes (`GET /v1/steam/apps/{appId}/reviews`).
- [Steam Store Search API](https://www.socialfetch.dev/platforms/steam/apps-search): Search the store with category, tag, price and OS filters (`GET /v1/steam/apps/search`).
- [Steam Charts API](https://www.socialfetch.dev/platforms/steam/charts): Most played, daily peak and weekly top sellers (`GET /v1/steam/charts`).
- [Steam Market API](https://www.socialfetch.dev/platforms/steam/market-items): Search Community Market items and read their prices (`GET /v1/steam/market/items`).
- [Steam Hardware Survey API](https://www.socialfetch.dev/platforms/steam/hardware-survey): Every category and value in the monthly hardware survey (`GET /v1/steam/hardware-survey`).
