Every CS2 item, described as JSON
What every skin, sticker, agent, charm and case is: weapon, wear and float range, StatTrak™ and Souvenir, rarity, collections, the cases it drops from and its picture. One record per market_hash_name, ready to filter.
Paid plans from $14.99 / 30 days · sign in with Steam
Live answer
Know what you are pricing.
This is what the API answers for these items. The same market_hash_name joins it to the price, buy order and sales APIs.
0
items, one record each
0
types, from skins to cases
0
filters you can combine
0
request for the whole catalog
Routes
One item, many, or every page
The same key and the same 30-day limit as the other APIs: one request, however many items its page holds.
One item
Everything about one item, by the name every marketplace uses.
GET /v1/items/{market_hash_name}A batch
Repeat market_hash_name for several items, to describe a whole inventory at once.
GET /v1/items?market_hash_name=…Every item
The whole catalog in one answer, or pages of it, filtered by type, weapon, collection, case, rarity and quality.
GET /v1/items?type=skin&weapon=awpFive minutes to the first answer
Plain HTTP. No SDK to learn.
- 1Sign in with Steam and pick a paid plan.
- 2Copy your key from the API docs page.
- 3Send it in the X-API-KEY header and read the JSON.
type Item = {
market_hash_name: string;
name: string;
type: "skin" | "sticker" | "agent" | "charm" | "patch" | "music_kit" | "graffiti" | "collectible" | "container";
category: string | null;
weapon: { id: string; name: string } | null;
pattern: string | null;
wear: { id: "fn" | "mw" | "ft" | "ww" | "bs"; name: string } | null;
min_float: number | null;
max_float: number | null;
quality: "Normal" | "StatTrak™" | "Souvenir" | "★" | "★ StatTrak™";
stattrak: boolean;
souvenir: boolean;
rarity: { id: string; name: string; color: string } | null;
label: string | null;
team: "both" | "ct" | "t" | null;
collections: { id: string; name: string }[];
containers: { id: string; name: string }[];
details: Record<string, string>;
image: string | null;
url: string;
};
const API_KEY = process.env.APISKINS_API_KEY!;
const market_hash_name = "StatTrak™ AWP | Asiimov (Field-Tested)";
const response = await fetch(`https://api.apiskins.com/v1/items/${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 item: Item = await response.json();Built with it
What people build on item data
Marketplaces and shops
Filters by weapon, wear, rarity and collection without keeping a catalog of your own.
Search and inventories
Turn a market_hash_name into a picture, a rarity colour and a float range in one request.
Trading bots
Trade only the kinds of items you want: no stickers, only knives, only one collection.
Fan sites and tools
Collection and case pages, trade-up calculators and loadout builders, from one source.
Limits
Included in every paid plan
Free
Free
- 100 requests / 30 days
- 60 requests / minute
- Not included
Trader
$14.99 / 30 days
- 5,000 requests / 30 days
- 120 requests / minute
- Included
Pro
$49.99 / 30 days
- 25,000 requests / 30 days
- 300 requests / minute
- Included
Business
$119.99 / 30 days
- 100,000 requests / 30 days
- 300 requests / minute
- Included
One key
The same key opens every API
Item API
What every item is: wear, float range, rarity, collections
Questions
What people ask about the item API
The whole catalog, on every paid plan.
Every item described, one key. The same key runs the price, buy order and sales APIs too.