SteamAnalyst APIcsgo.steamanalyst.com ↗
Access CS2 skin prices, 30-day price history, market trends, weapon cases, and collections from SteamAnalyst via 11 structured endpoints.
What is the SteamAnalyst API?
The SteamAnalyst API exposes 11 endpoints covering CS2 skin search, pricing, market trends, and case contents from csgo.steamanalyst.com. Call get_skin_price_history to retrieve a 30-day daily price series in cents USD for any skin and wear condition, or use list_variant_prices to page through cross-market average prices keyed to exact Steam market hash names — including StatTrak and Souvenir variants.
curl -X GET 'https://api.parse.bot/scraper/5282c6cf-4984-4dd8-a8ee-dd953ccb9dfe/search_skins?page=1&query=ak-47' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search across all CS2 skins by keyword. Matches weapon name, skin name, and collection. Returns paginated results sorted by price descending, with pricing metadata and float ranges for each matching item. Each result includes a canonical slug suitable for the skin detail endpoint.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| queryrequired | string | Search keyword (e.g. 'ak-47', 'dragon lore', 'asiimov') |
{
"type": "object",
"fields": {
"page": "integer current page number",
"total": "integer total number of matching results",
"results": "array of skin objects with id, market_name, canonical slug, type, model, quality, price info, collection, and float range",
"totalPages": "integer total number of pages"
},
"sample": {
"data": {
"page": 1,
"total": 67,
"results": [
{
"id": 307162902,
"img": "https://community.akamai.steamstatic.com/economy/image/...",
"name": "Wild Lotus",
"type": "Rifle",
"model": "AK-47",
"phase": null,
"price": null,
"quality": "Covert",
"souvenir": "n",
"stattrak": "n",
"canonical": "ak-47-wild-lotus",
"max_float": 0.9999999999,
"min_float": 0,
"price_max": 17631.55,
"price_min": 3927.37,
"collection": "The St. Marc Collection",
"market_name": "AK-47 | Wild Lotus (Factory New)",
"market_name_wo_ext": "AK-47 | Wild Lotus",
"markets_based_price": 1763155,
"has_stattrak_variant": false
}
],
"totalPages": 3
},
"status": "success"
}
}About the SteamAnalyst API
Search and Skin Detail
The search_skins endpoint accepts a keyword — weapon name, skin name, or collection term — and returns paginated results sorted by price descending. Each result carries an id, market_name, canonical slug, type, model, quality, price info, collection, and float range. That slug feeds directly into get_skin_detail, which returns a schema.org Product object with name, description, image, sku, category, offers (an AggregateOffer with lowPrice, highPrice), aggregateRating, and a supplemental skin_metadata block. The wear parameter accepts one of five slugs: factory-new, minimal-wear, field-tested, well-worn, or battle-scarred.
Pricing and History
get_skin_market_prices narrows the product response to just the AggregateOffer — lowPrice, highPrice, and offerCount — making it efficient for bulk price checks. For time-series data, get_skin_price_history returns an array of {date, price} objects covering the past 30 days, with prices as integers in cents USD. list_variant_prices pages over the full item catalogue and returns one row per Steam market hash name, giving the site's cross-market markets_based_price in USD alongside wear and variant (normal, StatTrak, Souvenir) fields — useful for building price sheets keyed to exact Steam identifiers.
Market Trends and Weapon Catalogues
get_market_trends_overview returns site-wide stats (tracked_items, trending_up, trending_down, stable, total_volume) plus per-weapon aggregates: avg_price, volume, total_value, and a 30-day trend percentage. get_top_gainers filters that dataset to the top N weapons by trend increase. get_weapon_skins lists all skins for a given weapon slug with current lowest price per item, while list_skins pages the full catalogue of every tracked item type — knives, gloves, stickers, capsules, agents — with price range and metadata.
Collections and Cases
list_collections returns the complete collection catalogue as {label, href} pairs. get_case_detail accepts a case slug (e.g. revolution-case) and returns the case's full contents as schema.org ListItems with position, url, and skin name, a case_name string, number_of_items (all wear variants counted), and a faq array of Question objects with accepted answers.
The SteamAnalyst API is a managed, monitored endpoint for csgo.steamanalyst.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when csgo.steamanalyst.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official csgo.steamanalyst.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a CS2 portfolio tracker that pulls daily
get_skin_price_historydata to chart 30-day value changes per skin and wear condition. - Generate Steam trade offer price sheets using
list_variant_pricesto map exact market hash names to cross-market average prices. - Alert users when a weapon's 30-day trend from
get_market_trends_overviewcrosses a threshold, indicating a potential buy or sell signal. - Populate a CS2 case simulator by fetching
get_case_detailcontents, including all skin names and positions for a given case slug. - Build a weapon comparison tool using
get_weapon_skinsto list all skins per weapon with lowest current prices for budget-range filtering. - Index the full CS2 skin catalogue with
list_skinsto power autocomplete search, filtering by item type (knife, glove, sticker, agent). - Track top-gaining weapons over 30 days using
get_top_gainersto surface investment opportunities by trend percentage.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does SteamAnalyst have an official developer API?+
What does `list_variant_prices` return and how does it differ from `get_skin_market_prices`?+
list_variant_prices pages over the entire catalogue and returns one row per Steam market hash name — including the exact market_hash_name string with wear and StatTrak/Souvenir prefix, the site's markets_based_price in USD, and wear and variant fields. This makes it suited for bulk price lookups keyed to Steam identifiers. get_skin_market_prices targets a single skin by slug and wear, returning an AggregateOffer with lowPrice, highPrice, and offerCount from a specific product page.Does the price history endpoint cover more than 30 days?+
get_skin_price_history returns a 30-day daily series only. Longer historical ranges are not currently exposed. You can fork this API on Parse and revise it to add an endpoint that targets a different time-range parameter if the source exposes one.Are individual marketplace listing prices (e.g. per seller on Buff163 or Skinport) available?+
lowPrice, highPrice, offerCount, and the site's cross-market average — rather than per-seller or per-marketplace breakdowns. You can fork this API on Parse and revise it to add an endpoint that exposes individual marketplace offer data if that detail is available on the source.How is pagination handled across catalogue endpoints?+
search_skins, list_skins, list_variant_prices, get_weapon_skins) accept a 1-based page integer. list_skins and list_variant_prices return has_more, total_pages, and total_items fields so you can iterate programmatically. Requesting a page past the last returns an empty results array rather than an error.