2026-08 — SDK v3.1.0: feed streaming and portfolio value fields
An additive release covering everything the API gained since v3.0.0. No methods were renamed or removed, so upgrading needs no code changes.- Python:
pip install cs2cap==3.1.0 - Node/TypeScript:
npm install cs2cap@3.1.0
FeedStream, a streaming client for the real-time feeds. It handles the SSE connection, skips heartbeats, and yields decoded events with typed item changes.skinswap_tjoins the provider enum.currency,price_provider,total_value, andchange_24h_pcton the portfolio list model, plus theincludeparameter that fills the last two in.priceson the Steam import request, so an import can carry cost basis.- Liquidity score field descriptions now match the current scoring model.
FeedStream is the supported way to consume the feeds from the SDKs. The generated
FeedApi class reads a whole response before returning, which never completes on a
stream. See the Feed API reference for the event catalog and
reconnect guidance.
2026-08 — Portfolio list valuation and import cost basis
GET /portfolio now accepts include=value, which adds total_value and
change_24h_pct to every portfolio in the response. It is opt-in because valuing each
portfolio costs an extra lookup. The list model also returns currency and
price_provider so you can tell how a portfolio is being valued.
POST /portfolio/{id}/import accepts a prices map keyed by Steam asset ID. Each
imported asset with a price also gets a matching buy transaction, so imported items
arrive with cost basis instead of needing a second pass.
2026-08 — Liquidity score rebalanced around confirmed sales
The liquidity score now weighs evidence differently. The range stays0-100 and no field
names change, but scores move for some items — recompute anything you cached or
threshold against.
Requests for a
7d or 30d liquidity horizon are normalized to the canonical 24h score,
which already smooths 24h, 7d, and 30d sales evidence. See the
liquidity score guide for the full model.
2026-07 — Best bid excludes same-provider bids above the ask
best_bid in market analytics now ignores bids from the same provider that sit at or
above that provider’s current ask. Those entries were arbitrage artifacts rather than
offers you could actually sell into.
2026-07 — Real-time price and bid feeds
Two Server-Sent Events endpoints replace polling/prices and /bids on a timer:
GET /feed/prices— price changes as providers refreshGET /feed/bids— buy-order changes
providers, item_ids, and market_hash_names filters, and are
available on the Quant tier. Delivery is fire-and-forget with no event history, so
re-fetch current state before reconnecting. See the
Feed API reference.
2026-07 — New provider: SkinSwap Trade
skinswap_t is accepted anywhere a provider key is, and appears in provider lists
alongside the existing skinswap marketplace.
2026-07 — SDK v3.0.0: new repositories and renamed methods
Both SDKs move to dedicated repositories with independent versioning, and method names change to a consistent verb-first convention. This is a breaking SDK release; the REST API itself is unchanged. New homes- Python:
CS2Cap/cs2cap-python—pip install cs2cap==3.0.0 - Node/TypeScript:
CS2Cap/cs2cap-node—npm install cs2cap@3.0.0 - The former
CS2Cap/SDKsrepository is archived.
The bundled SDK examples were removed; the docs are the
canonical usage reference.