Steam API endpoint
Returns a catalog slice for a community tag / category, carrying each item's WEIGHTED community tags, review-score breakdown, developer/publisher credits, release date, platforms and price. The slug is a numeric tag id or a tag name (case- and separator-insensitive, e.g. rogue_like); resolve ids via /steam/tags/list. Ordering is Steam's default relevance — for sorted or os/price-faceted browse use /steam/tags.
/steam/category/{slug}Returns a catalog slice for a community tag / category. Unlike the faceted store search, each item carries the weighted community-tag taxonomy (each tag's crowd weight), the review-score breakdown, developer/publisher credits, release date, platforms, and price — the enrichment that appdetails genres and the Steam games dataset lack.
Path parameter:
slug (required) — a community tag id (numeric, e.g. 1716) or a tag name slug (case- and separator-insensitive, so rogue_like, Rogue-like and roguelike all resolve to the same tag). Use /steam/tags/list to discover ids. A non-numeric slug that matches no popular tag returns 404.Query parameters:
free (optional, bool, default false) — only free titles.released_only (optional, bool, default false) — only already-released titles.coming_soon_only (optional, bool, default false) — only unreleased / coming-soon titles. Mutually exclusive with released_only.start (optional, int, default 0) — result offset for pagination.count (optional, int, default 25) — results per page (max 100).cc (optional, default us) — store country code (ISO); selects the price currency.l (optional, default english) — Steam store language name.Returns slug, tag_id, tag_name, total, start, count, items[] (each: appid, name, url, short_description, developers, publishers, release_date_unix, review_summary, review_count, review_percent_positive, platforms, price_overview, and tags[] with tagid+weight), and source_url.
Ordering is Steam's default relevance — for sorted or os/price-faceted browse use /steam/tags. Pagination runs the full match set; paging past total returns an empty items list.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| appid | 20 | |
| name | 20 | “Oops! Zombie Swarm” and 19 other values |
| url | 20 | store.steampowered.com |
| short_description | 20 | median 222 characters |
| developers | 20 | median 1 entry |
| publishers | 20 | median 1 entry |
| release_date_unix | 13 | 2020-06-04 to 2026-01-29 |
| review_summary | 20 | No user reviews (9), Mostly Positive (3), 3 user reviews (2) and 5 more |
| review_count | 11 | 1 to 51, median 13 |
| review_percent_positive | 10 | 33 to 100, median 78 |
| platforms | 20 | |
| price_overview | 10 | |
| tags | 20 | median 20 entries |
| type | 2 | 1 to 4, median 1 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug (path) | string | Yes | Community tag id (numeric) or tag name slug | rogue_like | |
| free | boolean | No | Only free titles | ||
| released_only | boolean | No | Only already-released titles | ||
| coming_soon_only | boolean | No | Only unreleased / coming-soon titles | ||
| start | integer | No | Result offset for pagination | ||
| count | integer | No | Results per page (max 100) | ||
| cc | string | No | Store country code (ISO, selects currency) | ||
| l | string | No | Steam store language name | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/steam/category/rogue_like?free=true&released_only=true&coming_soon_only=true&count=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"slug": "rogue_like",
"tag_id": 1716,
"tag_name": "Rogue-like",
"total": 31544,
"start": 0,
"count": 1,
"items": [
{
"appid": 1623730,
"name": "Palworld",
"url": "https://store.steampowered.com/app/1623730/Palworld",
"short_description": "Fight, farm, build and work alongside mysterious creatures called Pals.",
"developers": [
"Pocketpair"
],
"publishers": [
"Pocketpair"
],
"release_date_unix": 1705651175,
"review_summary": "Very Positive",
"review_count": 361068,
"review_percent_positive": 94,
"platforms": {
"windows": true,
"mac": false,
"linux": false
},
"price_overview": {
"initial": 2999,
"final": 2099,
"discount_percent": 30,
"initial_formatted": "$29.99",
"final_formatted": "$20.99"
},
"tags": [
{
"tagid": 1695,
"weight": 942
},
{
"tagid": 1662,
"weight": 852
}
]
}
],
"source_url": "https://api.steampowered.com/IStoreQueryService/Query/v1/?input_json=..."
}
}Request schema
No body schema
Response schema
#/definitions/steam.categoryBrowseResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | steam.CategoryBrowseResponse | No | ||||
| data.count | integer | No | ||||
| data.items | array | No | CategoryItem record, 25 fields: appid, developers, name, platforms, price_overview, publishers, release_date_unix, review_count, review_percent_positive, review_summary, short_description, tags and 2 more. Described under Steam Batch Store Items API. | |||
| data.slug | string | No | ||||
| data.source_url | string | No | ||||
| data.start | integer | No | ||||
| data.tag_id | integer | No | ||||
| data.tag_name | string | No | ||||
| data.total | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/category/rogue_like?free=true&released_only=true&coming_soon_only=true&count=10" \
-H "x-api-key: $CRAWLORA_API_KEY"