API Skins
JSONCS2 buy order API

What every skin sells for right now

The highest buy order of every CS2 item on DMarket, Market.CSGO and Steam, in one JSON answer. The price someone will pay this minute, for arbitrage, instant sell quotes and trading bots.

100 free requests every 30 days for Steam prices · no card · sign in with Steam

Live answer

The other side of every trade.

This is what the API answers right now. The highest buy order is what you get selling at once; the cheapest listing is what you pay buying at once. The gap between them is the trade.

0

marketplaces' buy orders in one answer

0 s

between DMarket updates, about

0¢

is all a robot needs to outbid the best order

0 KB

for every item's orders, gzipped

Routes

One item, many, or all of them

Asked and answered like the price API, with the same key, and providers to keep only the marketplaces you want.

One item

An item's highest buy order on each marketplace: the price to sell it for now.

GET /v1/orders/{market_hash_name}

A batch

Repeat market_hash_name for several items, to quote a whole inventory at once.

GET /v1/orders?market_hash_name=…

Every item at once

Every item with a buy order, streamed and gzipped in about 0.4 MB. Souvenirs, stickers and graffiti included.

GET /v1/orders

Five minutes to the first answer

Plain HTTP. No SDK to learn.

  1. 1Sign in with Steam: the free plan starts at once.
  2. 2Copy your key from the API docs page.
  3. 3Send it in the X-API-KEY header and read the JSON.
type ItemOrders = {
    market_hash_name: string;
    orders: { provider: string; price: number }[];
};

const API_KEY = process.env.APISKINS_API_KEY!;
const market_hash_name = "AK-47 | Redline (Field-Tested)";

const response = await fetch(`https://api.apiskins.com/v1/orders/${encodeURIComponent(market_hash_name)}`, {
    headers: { "X-API-KEY": API_KEY },
});

if (!response.ok) {
    throw new Error(`API Skins answered ${response.status}: ${(await response.json()).error}`);
}

const orders: ItemOrders = await response.json();

Built with it

What people build on buy orders

Arbitrage between marketplaces

Buy where the listing is cheapest, sell into the highest buy order elsewhere, and know the profit before you start.

Instant sell quotes

Show users what their skins sell for this minute, not what they might fetch some day.

Trading bots

Place your own orders one cent above the best, and see when someone outbids you.

Flipping

Find items where the gap between the highest order and the cheapest listing pays for the fees.

Limits

Start free, pay for volume

Compare plans

Free

Free

  • 100 requests / 30 days
  • 60 requests / minute
  • Steam only

Trader

$14.99 / 30 days

  • 5,000 requests / 30 days
  • 120 requests / minute
  • All 22 marketplaces

Pro

$49.99 / 30 days

  • 25,000 requests / 30 days
  • 300 requests / minute
  • All 22 marketplaces

Business

$119.99 / 30 days

  • 100,000 requests / 30 days
  • 300 requests / minute
  • All 22 marketplaces

Questions

What people ask about the buy order API

DMarket's, which it calls targets, read for every item about every 8 seconds, Market.CSGO's, from its own list, and Steam's, from a data partner. Other marketplaces do not publish their buy orders.
It is the price you get for an item right now, selling to the highest bidder. Compared with the cheapest listing from the price API, it tells you the spread of every item.
Yes: price, buy order, sales and item requests share the plan's 30-day limit and per-minute rate. The free plan includes 100 every 30 days, for Steam's buy orders.
Yes: the trading bots for DMarket and Market.CSGO move your buy order one cent over the best, every second, and never past the ceiling you set. The arbitrage tool shows which items are worth it.

Know the exit before you buy.

Every item's highest buy order, one key. The same key runs the price, sales and item APIs too.