Steam API endpoint
Runs the Steam store search with pagination and sorting and returns the result rows (appid, title, release date, review summary, price, platforms). Supports start/count paging and sort_by.
/steam/search/resultsQuery parameters:
term (required) — the search term (e.g. roguelike).start (optional, int, default 0) — result offset for pagination.count (optional, int, default 25) — results per page (max 100). Steam serves a minimum of 25 rows per page, so count values below 25 still return 25.sort_by (optional, default Relevance) — sort order. Allowed values: Relevance, Released_DESC, Name_ASC, Price_ASC, Price_DESC, Reviews_DESC.cc (optional, default us) — store country code (ISO); selects the price currency.l (optional, default en) — language code.Returns term, total, start, count, results[] (each: appid, bundleid, packageid, name, url, release_date, review_summary, price, discount_pct, platforms (windows, mac, linux)), and source_url. A term that legitimately matches nothing returns an empty results list, and paging past the last result (start >= total) also returns an empty list. A positive total with zero parsed rows on an in-range page is treated as an upstream error (503), not an empty result.
| Field | Filled in, of 25 checked | Values in the sample |
|---|---|---|
| appid | 25 | |
| name | 25 | “Combolands: Roguelike Citybuilder” and 24 other values |
| url | 25 | store.steampowered.com |
| release_date | 25 | “Aug 24, 2026” and 23 other values |
| review_summary | 20 | Very Positive (7), Positive (4), Mostly Positive (4) and 2 more |
| price | 20 | “$7.99” and 12 other values |
| discount_pct | 6 | “-20%” and 4 other values |
| tag_ids | 25 | |
| platforms | 25 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| term | string | Yes | Search term | roguelike | |
| start | integer | No | Result offset for pagination | ||
| count | integer | No | Results per page (max 100) | ||
| sort_by | string | No | Sort order Allowed values: Relevance, Released_DESC, Name_ASC, Price_ASC, Price_DESC, Reviews_DESC. | ||
| cc | string | No | Store country code (ISO, selects currency) | ||
| l | string | No | Language code | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/steam/search/results?term=roguelike&count=10&sort_by=Relevance" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"term": "roguelike",
"total": 3344,
"start": 0,
"count": 1,
"results": [
{
"appid": "1794680",
"name": "Vampire Survivors",
"url": "https://store.steampowered.com/app/1794680/Vampire_Survivors",
"release_date": "20 Oct, 2022",
"review_summary": "Overwhelmingly Positive",
"price": "$4.99",
"platforms": {
"windows": true,
"mac": true,
"linux": true
}
}
],
"source_url": "https://store.steampowered.com/search/results/?term=roguelike&start=0&count=25&sort_by=Relevance&cc=us&l=en&infinite=1"
}
}Request schema
No body schema
Response schema
#/definitions/steam.searchResultsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | steam.SearchResultsResponse | No | ||||
| data.count | integer | No | Number of rows returned. | |||
| data.results | array | No | Rows of the store search results on this page. | |||
| data.results[].appid | string | No | Steam app id of the row, when the row is an app. | |||
| data.results[].bundleid | string | No | Steam bundle id of the row, when the row is a bundle. | |||
| data.results[].discount_pct | string | No | Discount shown on the row, as text. | |||
| data.results[].name | string | No | Name of the item on the Steam store. | |||
| data.results[].packageid | string | No | Steam package id of the row, when the row is a package. | |||
| data.results[].platforms | object | No | Operating systems the item supports. | |||
| data.results[].platforms.linux | boolean | No | Whether the title supports Linux. | |||
| data.results[].platforms.mac | boolean | No | Whether the title supports macOS. | |||
| data.results[].platforms.windows | boolean | No | Whether the title supports Windows. | |||
| data.results[].price | string | No | Price shown on the row, as text. | |||
| data.results[].release_date | string | No | Release date shown on the row, such as `20 Oct, 2022`. | |||
| data.results[].review_summary | string | No | Review rating label shown on the row, such as `Overwhelmingly Positive`. | |||
| data.results[].tag_ids | array | No | Ids of the item's most-weighted community tags. Resolve their names with the tags list endpoint. | |||
| data.results[].url | string | No | URL of the item's store page. | |||
| data.source_url | string | No | URL the data was read from. | |||
| data.start | integer | No | Offset of the first row returned. | |||
| data.term | string | No | Search term that was used. | |||
| data.total | integer | No | Total number of matches Steam reports for the term. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/steam/search/results?term=roguelike&count=10&sort_by=Relevance" \
-H "x-api-key: $CRAWLORA_API_KEY"