Steam store search

GET https://api.api.sh/steam/v1/search
1 credit / call media & music try it in the playground →

Search the Steam store with its filters: keywords, sort, the store's lists (top sellers, global top sellers, new and trending, coming soon), specials, max price, tags, type, OS, language and feature category. Each result: app/bundle/package id, name, link, release date, review summary with positive percent and review count, price, original price, discount, platforms, tag ids and image. 50 a page; pass next_page back as page.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
q string Keywords (optional when a filter, tags, type, category or specials is given). Example: portal
sort relevance | released | name | price_asc | price_desc | reviews Sort order (default relevance).
filter topsellers | globaltopsellers | popularnew | comingsoon | popularcomingsoon One of the store's lists.
specials string 1 = only discounted items.
max_price string free or the highest price in whole units of the currency.
tags string Comma-separated tag ids that must all match, e.g. 492,19 (Indie, Action).
type games | software | dlc | demos | soundtracks | videos | tools | bundles | hardware Item type.
category string Comma-separated feature category ids, e.g. 2 single-player, 1 multi-player, 9 co-op, 28 controller support.
os string Comma-separated: win, mac, linux.
language string Supported language (Steam language name), e.g. english.
hide_free string 1 = hide free-to-play.
cc string Store country (two letters, default us): prices and availability for that country.
l string Store language (Steam language name, default english), e.g. german, french, schinese, japanese.
page integer Page number (default 1). Pass next_page back; null on the last page.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/steam/v1/search?q=portal" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.