Steam Community Market Scraper exports public market item search results with current listing counts, price text, app metadata, item hash names, icon URLs, and diagnostics. Use it to build trading dashboards, monitor item families, compare marketable game assets, and research public Steam marketplace inventory.
What data it exports
- Searches public Steam Community Market item listings by keyword.
- Returns market item identifiers, app/game fields, listing counts, price text, and direct market URLs.
- Supports exact item watchlists for known
appId+marketHashNamepairs. - Adds diagnostics for zero-result searches and failed pages when requested.
Use cases
- Game traders: Watch popular item families, cases, stickers, capsules, and skins.
- Market analysts: Export price/listing snapshots for spreadsheet and BI workflows.
- Game publishers: Monitor public market activity around game items.
- Pricing researchers: Compare availability and price text across keywords and apps.
At a glance
- Search market items: Run one or more Steam Community Market keyword searches.
- Monitor exact items: Submit known
appId+marketHashNameentries for watchlists. - Export clean data: Download CSV, JSON, Excel, XML, or consume results through the Apify API.
- Stay bounded: Limit rows per query and keep duplicate market items out of the dataset.
- Know what happened: Optional diagnostic rows explain empty searches or failed pages.
Input example
{
"queries": ["case"],
"appId": 730,
"maxItemsPerQuery": 10,
"countPerPage": 10,
"dedupe": true,
"includeDiagnostics": true
}
Output example
{
"query": "case",
"rank": 1,
"name": "Dreams & Nightmares Case",
"marketHashName": "Dreams & Nightmares Case",
"appId": 730,
"appName": "Counter-Strike 2",
"sellListings": 348508,
"sellPrice": 185,
"sellPriceText": "$1.85",
"marketUrl": "https://steamcommunity.com/market/listings/730/Dreams%20%26%20Nightmares%20Case",
"status": "ok",
"warnings": [],
"scrapedAt": "2026-07-21T08:00:00.000Z"
}
Input settings
| Key | Type | Description |
|---|---|---|
queries |
string[] | Steam Community Market keywords such as case, ak-47, capsule, or sticker. |
maxItemsPerQuery |
integer | Maximum saved market item rows for each query. |
startPage |
integer | Zero-based page to start from. |
countPerPage |
integer | Search page size, from 1 to 10. |
appId |
integer | Optional Steam app ID filter, for example 730 for Counter-Strike 2. |
exactItems |
object[] | Optional watchlist entries with appId and marketHashName. |
dedupe |
boolean | Skip duplicate appId + marketHashName rows across queries. |
includeDiagnostics |
boolean | Save non-charged diagnostic rows for empty searches and failed pages. |
proxyConfiguration |
object | Optional Apify proxy settings. Leave disabled for normal small runs. |
Input recipes
- CS2 case watchlist:
{"queries":["case"],"appId":730,"maxItemsPerQuery":25,"countPerPage":10} - Keyword discovery:
{"queries":["sticker","capsule"],"maxItemsPerQuery":15,"dedupe":true} - Exact item monitor:
{"exactItems":[{"appId":730,"marketHashName":"Dreams & Nightmares Case"}],"maxItemsPerQuery":5}
Tips and limits
- Steam price text can vary by locale and availability; keep the raw text fields for audits.
- Use small
maxItemsPerQueryvalues for frequent monitoring tasks. - This Actor covers public Community Market item data, not private inventories, trades, wallets, or purchases.
- Empty searches can be valid. Enable
includeDiagnosticswhen building monitoring pipelines.
API usage
Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/steam-community-market-scraper').call({
queries: ['case'],
appId: 730,
maxItemsPerQuery: 10
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
Python
from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('fetch_cat/steam-community-market-scraper').call(run_input={
'queries': ['case'],
'appId': 730,
'maxItemsPerQuery': 10,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~steam-community-market-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"queries":["case"],"appId":730,"maxItemsPerQuery":10}'
MCP and agents
Use this Actor from agents through Apify MCP with the tool-filtered URL:
https://mcp.apify.com/?tools=fetch_cat/steam-community-market-scraper
Claude CLI
claude mcp add apify 'https://mcp.apify.com/?tools=fetch_cat/steam-community-market-scraper'
JSON config
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=fetch_cat/steam-community-market-scraper"
}
}
}
Example prompts
- "Find current Steam Community Market listings for CS2 cases and return listing counts."
- "Monitor Dreams & Nightmares Case and summarize the current price text."
- "Export Steam market item rows for sticker and capsule searches as JSON."
Responsible use
Scrape only public Steam Community Market data. Do not use this Actor to collect private account, inventory, wallet, trade, or purchase information. Respect Steam's terms and run modest, bounded workloads.
Support
Open an issue on the Actor page and include:
- Run ID or reproducible public URL.
- Input JSON you used.
- Expected output.
- Actual output or error message.