# cs2.sh vs Scraping the Official Steam Community Market

> Scrape Valve's official Steam Community Market when raw Steam listings, account actions, or complete control over collection are product requirements. Its Market web routes are undocumented, not an official API. Use cs2.sh when the application needs intraday OHLC, all-item full-depth orderbooks, stored orderbook history, or Steam median sale price and purchase volume going back to 2013 without building and operating that database.

## The official Steam Community Market has no supported price API

Valve operates a documented Steam Web API, but it does not publish a supported Community Market price API. Market collectors use web endpoints behind listing, price-overview, order-histogram, search, and sale-history pages. The open-source [Steam Market API V2](https://github.com/Allyans3/steam-market-api-v2) project demonstrates how much is accessible: listings, prices, order activity, order histograms, sale history, inventories, and trade operations.

That makes a Steam-only collector more approachable than a Youpin scraper. It is still an undocumented integration. The collector owns cookies where required, item-name IDs, request pacing, retries, response parsing, storage, freshness checks, and changes to the Community Market pages.

The free request paths include `priceoverview`, `search/render`, listing render pages, `market/orderbook`, `itemordershistogram`, and history embedded in exact listing pages. Each has a different response shape, failure mode, and identity check.

## Current differences

| Requirement | Own Steam collector | cs2.sh |
| --- | --- | --- |
| Raw Steam listings | Full control over listing-level fields | Public endpoints return item-level prices; live full-depth listings are an Enterprise option |
| Current orderbook | Query and assemble one item at a time | Full-depth bid and ask ladders for the catalog through `/v1/market/steam/latest` |
| Orderbook history | Begins after your collector and storage launch | Full-depth snapshots at `1h` and `1d` since June 9, 2026 |
| Intraday price history | Must be sampled and converted into buckets | OHLC at `5m`, `30m`, `1h`, and `1d` since December 24, 2025 |
| Sale history | Extract, validate, and store the market's graph data | Native Steam median sale price and purchase volume daily since April 26, 2013 and hourly since May 9, 2026 |
| Current top prices | Derive from price or order endpoints | `ask` is the lowest sell listing; `bid` is the highest buy order, with active-order counts |
| Account and trade actions | Available through authenticated community and trade interfaces | No Steam account or trade management |
| Marketplace variants | Steam listings do not distinguish Doppler phases or Case Hardened patterns | Steam source has the same limitation; BUFF, Youpin, and CSFloat provide separate variants |
| Operations | Request pacing, cookies, parsing, storage, and monitoring are yours | Collection and historical storage are included |

## Scrape Steam for raw listings and account workflows

Steam's market request paths are free to call and are the right source when a product needs raw listing IDs, asset descriptions, per-page results, or authenticated inventory, trade, and account behavior. A team that owns the collector can also retain every raw response and define its own filters. Public cs2.sh endpoints return item-level market data; live listing-level Steam data is an Enterprise option.

## Use cs2.sh for depth and retained history

cs2.sh charges for collection and historical coverage, not for access to a secret Steam URL. It provides catalog-wide full-depth orderbooks, stored orderbook snapshots, intraday OHLC, and native Steam median sale price and purchase volume going back to 2013. It also makes the same item available alongside CSFloat completed sales, Youpin sale history, archive supply, and liquidity estimates.

A marketplace tool can scrape Steam for the exact listing or account action it needs and use cs2.sh for the historical and cross-market context. If raw Steam pages are not part of the product, cs2.sh removes the need to operate request pacing, cookies, item-name IDs, storage, and recovery for years of data.

Valve's [Steam Web API terms](https://steamcommunity.com/dev/apiterms) state a 100,000-request daily limit for the documented Web API. The Community Market web endpoints are a different interface, so that published allowance should not be treated as a support or capacity promise for market scraping.

See [cs2.sh](https://cs2.sh/), [current prices](/docs/prices-latest), [native Steam sales](/docs/archive-steam), and [full Steam orderbooks](/docs/market-steam-latest) for the managed Steam data.

## What cs2.sh returns instead

The three things a Steam collector is usually built to produce all arrive as typed JSON.

Current prices and order counts:

```json
"steam": {
  "updated_at": "2026-07-26T18:52:21.42Z",
  "collected_at": "2026-07-26T18:52:56.46Z",
  "ask": 169.14,
  "ask_volume": 70,
  "bid": 155.05,
  "bid_volume": 2951
}
```

Full-depth orderbooks, as parallel arrays where level `n` is `prices[n]` at `volumes[n]`:

```json
"depth": {
  "asks": { "prices": [169.14, 169.4], "volumes": [1, 1] },
  "bids": { "prices": [155.05, 154.88], "volumes": [1, 1] }
}
```

Steam's native sale graph, the series drawn on a Community Market item page:

```json
"data": [
  { "bucket": "2025-01-01T00:00:00Z", "price": 150.23, "volume": 7 }
]
```

| Property | Value |
| --- | --- |
| Sale coverage | Daily from April 26, 2013; hourly from May 9, 2026 |
| Max request range | None on `1h` or `1d` |
| Items per request | 100 |
| Orderbook refresh | About every 5 minutes |
| Variants | Not supported on any Steam endpoint |
| Access | Prices and orderbooks on all plans; sale archive needs Scale or Enterprise |

The values are numbers rather than localized display strings, every source object carries `updated_at` and `collected_at`, and a missing value is `null` rather than an absent key or an HTML page.

Disclosure: this comparison is published by cs2.sh. Valve's terms and the referenced Steam Market API V2 implementation were checked on August 5, 2026.
