HaloSkins API
P2P CS2 marketplace — we read the peer-to-peer book only, with per-phase Doppler floors. Get HaloSkins's lowest ask and listing count for 27,852 CS2 items, refreshed every 5 minutes — in the same response as Steam and 10 other marketplaces. Grab a free key or read the docs.
Why read HaloSkins through this API
HaloSkins runs two books side by side — a bot-stocked instant market and a peer-to-peer market where sellers deliver from their own inventories — and when both list an item, the P2P ask is the lower one about seven times in eight. We read that book only, so the price you get is a real seller’s live ask rather than a warehouse markup.
HaloSkins’ open platform publishes the whole CS2 catalog in one response, with the lowest ask and the stock split by book; we keep the P2P figures every five minutes. Phases are not in that feed, so we also read every P2P listing of the Doppler and Gamma Doppler knives — each carries its phase — and store the lowest ask and listing count per phase.
The point of a single API is that you are not maintaining 11 integrations. HaloSkins arrives in the
same shape as every other market: minor units, a currency, a listing count and a capture timestamp. Switch
?currency=EUR and every market converts together.
What you get for each HaloSkins item
- Lowest ask — the cheapest live listing, in integer minor units (no floats, no rounding drift).
- Listing count — how many listings sit behind that price, so you can tell a real floor from one lucky listing.
- Capture timestamp — when we last read it, per market. Never a silently stale number.
- Cross-market best — the cheapest venue for that item across all 12 sources, computed for you.
- Doppler phase prices — 580 phase-level quotes from HaloSkins.
- Your currency — 30+ currencies via daily ECB reference rates.
Example: HaloSkins in a cross-market response
One request returns every market's live price for an item. Prices below were true when this page was built:
curl "https://steamdataapi.com/api/v1/items/AK-47%20%7C%20Redline%20(Field-Tested)/markets" \
-H "Authorization: Bearer sdk_YOUR_KEY"
{
"currency": "USD",
"best": { "market": "csfloat", "price": 2682 },
"spread": 274,
"markets": [
{ "market": "csfloat", "price": 2682, "quantity": 3759, "capturedAt": "2026-08-26T18:25:01Z" },
{ "market": "c5game", "price": 2777, "quantity": 2933, "capturedAt": "2026-08-26T18:20:21Z" },
{ "market": "youpin", "price": 2797, "quantity": 10000, "capturedAt": "2026-08-26T18:20:21Z" },
{ "market": "haloskins", "price": 2804, "quantity": 2412, "capturedAt": "2026-08-26T18:25:07Z" },
{ "market": "buff163", "price": 2818, "quantity": 10671, "capturedAt": "2026-08-26T18:20:21Z" }
]
}
At build time HaloSkins was asking $28.04 for that item with 2,412 listings, against $26.82 at the cheapest venue (csfloat). That gap is exactly what the best and spread fields hand you without comparing anything yourself.
Tracking HaloSkins prices over time
A single ask tells you today; a series tells you whether today is unusual. Every market accrues a daily lowest-ask point, so you can pull HaloSkins's own history and compare it against Steam's median-sale series — which reaches back to 2013-08-13 and totals 16,444,511 daily points across the catalog.
curl "https://steamdataapi.com/api/v1/items/AK-47%20%7C%20Redline%20(Field-Tested)/history?source=markets&days=90" \
-H "Authorization: Bearer sdk_YOUR_KEY"
The two series answer different questions. Steam's median is what items actually sold for, which lags but cannot be moved by one optimistic listing. HaloSkins's daily low is what you could have bought at. Traders generally want both: the sale price to value a position, the ask to act on one.
From a HaloSkins price to a portfolio total
The same prices drive inventory valuation. Give the inventory endpoint a public SteamID and every item comes back priced — at the Steam ask and at cross-market real value, with HaloSkins included in the comparison — plus float, paint seed and Doppler phase where they apply, and a portfolio total in your currency.
const res = await fetch(
"https://steamdataapi.com/api/v1/inventory/76561198000000000?game=cs2¤cy=EUR",
{ headers: { Authorization: "Bearer sdk_YOUR_KEY" } },
);
const { totalValue, items } = await res.json();
HaloSkins versus the other markets we read
Item coverage differs a lot by venue. These counts are live from our own catalog:
| Marketplace | Items priced | Games |
|---|---|---|
| HaloSkins (this page) | 27,852 | CS2 |
| Skinport | 29,834 | CS2 + Rust |
| CSFloat | 27,939 | CS2 |
| Buff163 | 16,206 | CS2 |
| DMarket | 24,891 | CS2 + Rust |
| Waxpeer | 27,744 | CS2 + Rust |
| Lis-Skins | 27,324 | CS2 + Rust |
| SkinBaron | 21,189 | CS2 |
| WhiteMarket | 27,709 | CS2 |
| YouPin898 | 15,668 | CS2 |
| C5Game | 15,885 | CS2 |
Steam itself is the ninth source: 30,320 CS2 and 5,435 Rust items carry a Steam ask, with median-sale history back to 2013 — 16,444,511 daily points in total.
Frequently asked questions
Does the HaloSkins API cover Rust as well as CS2?
HaloSkins lists CS2 items only, so this endpoint returns CS2 prices. For Rust, prices come from Steam, Skinport, Waxpeer, Lis-Skins and DMarket — see the Rust API.
How fresh are HaloSkins prices?
HaloSkins is re-read every 5 minutes. Every price carries a capturedAt timestamp so you can see exactly how old it is rather than guessing.
Do I get HaloSkins prices for Doppler phases?
Yes — HaloSkins quotes phases per listing, and we hold 580 phase prices across 113 knives from it. Ruby, Sapphire, Black Pearl, Emerald and Phase 1–4 are priced separately.
Can I get historical HaloSkins prices?
Yes. Every market accrues a daily lowest-ask series, so /history?source=markets returns HaloSkins's day-by-day price next to the others. Steam's median-sale series reaches back to 2013-08-13 and is on the same endpoint with ?source=steam.
What happens when HaloSkins stops listing an item?
It drops out of that item's markets array once its last capture ages past seven days, rather than showing a price nobody is offering. The cross-market real value keeps its last known figure, so a delisting does not turn your valuations into nulls.
Is this an official API?
No. This is an independent API that reads public marketplace data and serves it in one normalised shape. We are not affiliated with HaloSkins, Valve or Steam.
Start reading HaloSkins prices
Free key, no card. Create one, then call
/api/v1/items/{name}/markets. Full reference in the docs,
limits on pricing.