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
- Failed requests aren't charged
Teams running monitoring, research, and enrichment pipelines
Why Social Fetch
Steam data as JSON. You build the product.
Live Steam data in one response shape, with platform changes handled for you.
Steam, plus every other platform
One key and one response envelope for Steam and 56 more platforms.
Pricing you can reason about
One request, one credit. Know how far your balance will go before you run your next batch.
Live data on every request
Fetch public data when you ask for it.
Nothing to maintain
We handle platform changes and breakages.
Built for production jobs
Run concurrent workloads with explicit statuses and request IDs.
Regular jobs. Better rates.
Running lookups every month? Get lower per-credit rates with a monthly plan. For occasional projects, choose pay as you go.
What Steam data can you get?
19 endpoints, one API key. Every response comes back as live JSON in the same envelope.
Reviews
Apps
Players, news & achievements
Search & catalogue
Charts & tags
- +1 more community & market endpoints
Community & market
Browse all 19 Steam endpoints
Reviews
Apps
Players, news & achievements
Search & catalogue
Charts & tags
Community & market
What teams build with Steam data
Monitoring, enrichment, research and content workflows on Steam data, on the same API as every other platform.
How it works
Your first request in three steps.
Use TypeScript or your automation tool of choice.
Sources
+ 51 more platforms
One request
GET/v1/tiktok/profiles/
x-api-key: sk_live_••••••••
Same JSON shape
{
"data": {
"lookupStatus": "found",
"profile": {
"platform": "tiktok",
"handle": "charlidamelio",
"displayName": "charli d’amelio",
"verified": true
},
"metrics": {
"followers": 160263648
}
}
}Step 1
Create your free account
Get an API key with 100 requests included.
Step 2
Choose an endpoint
Pass a username, URL, keyword, or post ID.
Step 3
Get clean JSON
Use the response immediately or send it into your pipeline.
Works with your stack
Code, automate, or connect your AI.
TypeScript
n8n
- Make
- Apify
- MCP
- AI clients
Pricing
Social data, priced simply.
Start with 100 free credits. Monthly plans give you predictable volume and lower per-request rates.
Starter
18,000credits
$1.61 per 1k · $0.00161 per request
- Top up from $1.61 / 1k if you run out
- Up to 25 monitors
Growth
50,000credits
$1.58 per 1k · $0.00158 per request
- Top up from $1.58 / 1k if you run out
- 5 team seats
- Up to 100 monitors
Scale
150,000credits
$1.50 per 1k · $0.00150 per request
- Top up from $1.50 / 1k if you run out
- 25 team seats
- Up to 250 monitors
- Cancel anytime
- 30-day money-back guarantee
- Price locked while you stay
Need 1M+ credits, invoicing, or volume rates? Talk to us
Trust signals
DevHunt
Product Hunt
Uneed
Customers
Teams building on Social Fetch.
“Our TikTok and Instagram scrapers broke constantly. Social Fetch took us off that rotation — we ship product again.”
“Transcripts at volume from one endpoint. No broken scrapers for our small team to maintain.”
“Live profile data on every request. We never flag accounts from a stale cache.”
“Heavy concurrent load, no rate limits to negotiate. The rare API I haven't wrapped in retries.”
Steam API: common questions
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.
The Steam API in detailHow the Steam routes work, what they cost, and how they differ from the official API.
Why teams use Social Fetch for Steam
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.
How to call the Steam API
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/620returns Portal 2 andGET /v1/steam/apps/570/reviews?language=english&limit=20returns a page of Dota 2 reviews. Sendx-api-keyon every request.3. Branch and page
Check
data.lookupStatusbefore you store a row, followpage.nextCursoron reviews and news orpage.pageon search and browse, and bill frommeta.creditsCharged.
What each Steam route returns
- 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.
How much does the Steam API cost?
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.
Social Fetch vs the official Steam 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.
Pull your first Steam data.
Run a live Steam request in the playground. 100 free credits, no card, JSON back in seconds.
No credit cardSign up in 30 seconds withGoogleGitHub
