# Steam Autocomplete — Zapi reference > Steam store suggestions — returns games with app ids, prices and art, not just query strings. **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ status, message, content }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/autocomplete/steam - Endpoint catalog: https://zpi.web.id/category/autocomplete - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## Steam Autocomplete **Category:** autocomplete · **Slug:** `steam` **Detail page:** https://zpi.web.id/api/autocomplete/steam Steam store suggestions — returns games with app ids, prices and art, not just query strings. **Tags:** steam, games, store, suggest ### Autocomplete Store completions for a seed query. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/autocomplete:steam/autocomplete` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed text to complete | | `country` | string | query | no | Store country, sets the currency. Default ID | | `count` | number | query | no | Cap the list. Default: everything the upstream returns | **cURL:** ```bash curl "https://api.zpi.web.id/v1/autocomplete:steam/autocomplete?q=counter&country=ID&count=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/autocomplete:steam/autocomplete?q=counter&country=ID&count=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/autocomplete:steam/autocomplete?q=counter&country=ID&count=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 5, "items": [ { "url": "https://store.steampowered.com/app/730/", "text": "Counter-Strike 2", "appId": 730, "image": "https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/730/942c04efaa5bc87afb6f2a97dbf17ac614c8a84d/capsule_sm_120.jpg?t=1784564069", "price": "Free To Play" }, { "url": "https://store.steampowered.com/app/10/", "text": "Counter-Strike", "appId": 10, "image": "https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/10/capsule_sm_120.jpg?t=1745368572", "price": "Rp 69 999" }, { "url": "https://store.steampowered.com/app/240/", "text": "Counter-Strike: Source", "appId": 240, "image": "https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/240/capsule_sm_120.jpg?t=1745368575", "price": "Rp 90 999" }, { "url": "https://store.steampowered.com/app/3418500/", "text": "CS Manager", "appId": 3418500, "image": "https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/3418500/14db6902ac3f032e4d01366ea6234c1f69b6699b/capsule_sm_120.jpg?t=1784552493" }, { "url": "https://store.steampowered.com/app/2678630/", "text": "Counter-Strike 2 Soundtrack", "appId": 2678630, "image": "https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/2678630/capsule_sm_120.jpg?t=1698860153", "price": "Free To Play" } ], "query": "counter", "country": "ID", "provider": "steam" } ``` --- ### Expand Enumerate games — the seed with every letter appended, deduplicated. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/autocomplete:steam/expand` - **Cache TTL:** 1800s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed to expand | | `modifiers` | enum(all|alphabet|questions|prepositions|digits) | query | no | Which modifier sets to append. Default all | | `lang` | enum(id|en) | query | no | Language for the question and preposition sets. Default en | | `count` | number | query | no | Cap the returned list. Default: every unique result found | **cURL:** ```bash curl "https://api.zpi.web.id/v1/autocomplete:steam/expand?q=counter&modifiers=all&lang=en&count=200" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/autocomplete:steam/expand?q=counter&modifiers=all&lang=en&count=200", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/autocomplete:steam/expand?q=counter&modifiers=all&lang=en&count=200", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "seed": "counter", "count": 62, "items": [ { "via": "seed", "text": "Counter-Strike 2" }, { "via": "seed", "text": "Counter-Strike" }, { "via": "seed", "text": "Counter-Strike: Source" }, { "via": "seed", "text": "CS Manager" }, { "via": "seed", "text": "Counter-Strike 2 Soundtrack" }, { "via": "alphabet", "text": "Command & Conquer Red Alert™, Counterstrike™ and The Aftermath™" }, { "via": "alphabet", "text": "Graviteam Tactics: Counter Blow" }, { "via": "alphabet", "text": "Battle Simulator: Counter Terrorist" } ], "locale": "en", "provider": "steam", "modifiers": "alphabet", "truncated": false, "variantsTried": 27, "variantsFailed": 0 } ``` --- _Generated: 2026-08-02T14:22:50.402Z_