store.steampowered.com APIstore.steampowered.com ↗
Access Steam store data via 4 endpoints: search products, fetch app details, read user reviews, and get featured/trending games with pricing and platform info.
curl -X GET 'https://api.parse.bot/scraper/f331f9c3-0690-47f8-8d77-1bae152f6251/search_products?term=elden+ring&count=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Search and list Steam products with filters for category, tags, price, platform, and more. Returns paginated results with pricing, review scores, and platform availability.
| Param | Type | Description |
|---|---|---|
| os | string | OS filter: win, mac, linux |
| tags | string | Tag IDs for genre filtering (comma-separated, e.g. '3959' for roguelike) |
| term | string | Search keyword |
| count | integer | Number of results per page (max 100) |
| start | integer | Pagination offset |
| sort_by | string | Sort order: relevance, released_desc, released_asc, reviews_desc, reviews_asc, price_asc, price_desc, name_asc, name_desc |
| category | string | Product type filter: games, dlc, software, demos, soundtracks, or numeric category ID |
| language | string | Supported language filter |
| specials | boolean | Only show discounted products |
| max_price | string | Max price filter ('free' or numeric value) |
{
"type": "object",
"fields": {
"count": "integer number of results returned in this page",
"start": "integer pagination offset",
"results": "array of product objects with appid, title, url, release_date, review info, pricing, platforms, and tag_ids",
"total_count": "integer total number of matching results"
},
"sample": {
"data": {
"count": 3,
"start": 0,
"results": [
{
"url": "https://store.steampowered.com/app/1245620/ELDEN_RING/",
"appid": "1245620",
"image": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1245620/capsule_231x87.jpg",
"title": "ELDEN RING",
"tag_ids": [
29482,
1695,
4604
],
"platforms": {
"mac": false,
"linux": false,
"windows": true
},
"price_final": "$59.99",
"price_value": "5999",
"release_date": "Feb 24, 2022",
"review_count": 427400,
"price_original": "",
"review_summary": "positive",
"bundle_discount": "0",
"discount_percent": "",
"review_score_label": "Very Positive",
"review_percent_positive": 94
}
],
"total_count": 34
},
"status": "success"
}
}About the store.steampowered.com API
The Steam Store API gives developers access to 4 endpoints covering game listings, app metadata, user reviews, and featured categories from store.steampowered.com. The search_products endpoint alone exposes over a dozen filterable parameters including OS, tags, price sort order, and language, returning structured results with appid, review scores, and platform availability across Windows, Mac, and Linux.
Search and Browse Products
The search_products endpoint accepts keyword terms, tag IDs, OS filters (win, mac, linux), and a category param that accepts either named types (games, dlc, software, demos, soundtracks) or raw numeric category IDs. Results are paginated via start and count (up to 100 per page), and total_count tells you how many matching records exist across all pages. Each result object includes appid, title, url, release_date, review score fields, pricing data, supported platforms, and tag_ids.
App Details and System Requirements
get_app_details takes a Steam appid and an optional country code for localized pricing. The response includes structured fields for genres, categories, developers, publishers, platforms, is_free, metacritic score and URL, and a screenshots array with both thumbnail and full-size paths. System requirements are parsed into individual fields (OS, Processor, Memory, Graphics) rather than returned as a raw HTML blob.
User Reviews
get_app_reviews uses cursor-based pagination — pass * as the cursor to start, then use the returned cursor value for subsequent pages. Filters include language, review_type (positive, negative, all), purchase_type (steam vs. non-Steam), day_range, and filter (recent, updated, all). Each review object contains the full review text, voted_up, votes_up, votes_funny, author metadata, and timestamps. The query_summary field on each response gives aggregate counts: total_positive, total_negative, total_reviews, and a review_score_desc.
Featured and Trending Games
get_featured returns products grouped into four named collections: specials (discounted), top_sellers, new_releases, and coming_soon. Each collection includes a total_count and an items array with pricing and discount data. Pass a category param to retrieve only one collection at a time, and a country code to get region-specific pricing.
- Build a game discovery tool that filters Steam titles by tag ID, OS support, and sort order using
search_products - Track price changes and discount windows across regions by polling
get_app_detailsandget_featuredwith differentcountrycodes - Aggregate user sentiment by pulling
total_positiveandtotal_negativecounts fromget_app_reviewsquery summaries - Populate a game database with structured metadata — genres, developers, publishers, Metacritic scores — from
get_app_details - Monitor the
specialscollection fromget_featuredto alert users when specific games go on sale - Build a review explorer that paginates through all reviews for a given appid using the cursor-based
get_app_reviewsendpoint - Compare platform availability across a game catalog using the
platformsboolean fields returned byget_app_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Steam have an official developer API?+
How does pagination work for `get_app_reviews`?+
cursor=* on the first request. Each response includes a new cursor string; pass that value in the next request to retrieve the following page. num_per_page controls how many reviews come back per call, up to a maximum of 100.Can I retrieve Steam Workshop items or community market listings?+
Is player count or achievement data available through these endpoints?+
What does the `category` param on `search_products` accept, and how does it differ from `tags`?+
category param filters by product type — accepted named values are games, dlc, software, demos, and soundtracks, or you can pass a numeric Steam category ID. The tags param is separate and accepts comma-separated tag IDs (for example, 3959 for roguelikes) that map to genre and gameplay descriptors rather than product types.