CSGOStash APIcsgostash.com ↗
Fetch live CS2 skin market prices, case contents, weapon catalogs, and collections from CSGOStash via 7 structured endpoints.
What is the CSGOStash API?
The CSGOStash API gives developers access to CS2 skin market data across 7 endpoints, covering weapon skin catalogs, per-wear market prices, case contents, and collection listings. The get_skin_detail endpoint returns pricing objects for every wear condition — Factory New through Battle-Scarred — including median price, number of active listings, and sales volume. Data comes from csgostash.com (stash.clash.gg), one of the most-referenced community price trackers for CS2 items.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/9f6b68a6-010a-4541-89cd-60b5f4b77ec2/get_home' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace csgostash-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""CS2 Stash: browse weapons, inspect skins, and explore cases."""
from parse_apis.cs2_stash_api import CS2Stash, Weapon_, ItemNotFound
client = CS2Stash()
# Browse featured items on the home page.
for item in client.featureditems.list(limit=3):
print(item.name, item.url)
# Construct a weapon by name and browse its skins.
ak47 = client.weapon(name=Weapon_.AK_47)
skin = ak47.skins.list(limit=1).first()
if skin:
print(skin.name, skin.price_range, skin.rarity)
# Drill into full market detail for that skin.
try:
detail = skin.details()
for p in detail.prices[:3]:
print(p.quality, p.price, p.median, p.available)
except ItemNotFound as exc:
print(f"Skin gone: {exc}")
# Browse cases and inspect one.
case = client.cases.list(limit=1).first()
if case:
info = case.details()
print(info.name)
for s in info.skins[:3]:
print(s.name, s.rarity)
# List collections available on the site.
for coll in client.collections.list(limit=3):
print(coll.name, coll.url)
print("exercised: featureditems.list / weapon().skins.list / skin.details / cases.list / case.details / collections.list")
Fetch featured items and new releases from the home page. Returns a mix of cases and skins currently featured on the site. The selection rotates and reflects what the site promotes at any given time.
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of featured item objects with name, url, and image"
}
}About the CSGOStash API
Weapon Skins and Market Prices
Start with list_weapons to retrieve the set of weapon names the API supports, then pass any weapon name (e.g. AK-47, AWP, M4A1-S) to get_skins_by_weapon. That endpoint returns an array of skin objects, each carrying a name, id, slug, price_range, image, and rarity string. Feed the id and slug from those results into get_skin_detail to get the full price breakdown. The prices array in that response contains one object per wear condition, with fields for quality, price, listings, median, volume, and available — covering the data points needed to evaluate market liquidity and price spread.
Cases and Collections
list_cases returns all CS2 cases currently tracked on the site, each with a name, id, slug, url, and image. Pass a case's id and slug to get_case_detail to retrieve every skin inside that case along with each skin's rarity tier, id, and slug — making it straightforward to cross-reference case contents with skin prices. list_collections enumerates skin collections with names, URLs, and images where available, drawn from the site's collection navigation.
Home Feed and Discovery
get_home returns the current featured items and new releases from the site's front page as an array of objects with name, url, and image. This endpoint is useful for tracking what items the community is currently highlighting without querying individual weapons or cases. It returns a mixed set of cases and skins, so the type of each item should be inferred from the url field.
The CSGOStash API is a managed, monitored endpoint for csgostash.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when csgostash.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 csgostash.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?+
- Track live per-wear market prices for specific CS2 skins using
get_skin_detailprice and volume fields - Build a case unboxing value calculator by combining
get_case_detailskin lists with theirget_skin_detailprices - Monitor which skins and cases are currently featured on CSGOStash via the
get_homeendpoint - Generate rarity-filtered weapon skin catalogs using the
rarityfield fromget_skins_by_weapon - Populate a CS2 inventory tool with full weapon coverage by iterating
list_weaponsandget_skins_by_weapon - Compare median prices across wear conditions for a single skin to identify Factory New vs. Battle-Scarred price gaps
- Catalog all active CS2 collections and link each to its constituent skins using
list_collectionsand skin slugs
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does CSGOStash have an official developer API?+
What price fields does `get_skin_detail` return for each wear condition?+
prices array returns a quality label, a price value, number of active listings, a median price, volume of recent sales, and an available flag. Not all skins exist in every wear tier, so the array length varies by skin.Does the API return StatTrak or Souvenir skin pricing separately?+
get_skin_detail endpoint returns prices for standard wear conditions. StatTrak and Souvenir variants are not broken out as separate price rows in the response. You can fork this API on Parse and revise it to add a dedicated endpoint for StatTrak or Souvenir pricing.Can I look up skins by collection rather than by weapon?+
list_collections returns collection names and URLs, but there is no endpoint that accepts a collection identifier and returns its skin list directly. The API covers weapon-based skin lookup via get_skins_by_weapon and case contents via get_case_detail. You can fork this API on Parse and revise it to add a collection-detail endpoint that lists skins by collection.