Item Search
List and search the tracked catalog with live pricing. Each result is the same cross-market snapshot as /v1/pricing/:marketHashName, paginated. Filter by search and markets. Prices are integer USD cents.
Discovery + pricing in one call: page through the tracked catalog, optionally filtered by search and markets. search is a tokenized AND-prefix full-text query (every token must prefix-match) across the name, base name, slug, weapon, pattern, rarity, and a combined search text, not a single substring. Each data entry is the same cross-market snapshot as /v1/pricing/:marketHashName, so you can render a list without a second request per item.
Walk pages with pagination (currentPage / lastPage / nextPage). For a one-shot dump of the whole catalog, the /v1/items/all companion returns every item as a bare array (heavier).
Game-scoped variant: GET /v2/items serves both games with a required game=cs2|rust parameter, search / markets / page / perPage (pages 1 to 10,000, up to 100 per page). There is no /v2/items/all - page through instead. See Games: CS2 & Rust.
Parameters
redline ft narrows on both tokens. It is not a single literal substring.1.10.Response fields
Nested and shared shapes link to the API Objects reference.
Errors
Authorization header, unsupported scheme, or a key that is unknown, inactive, expired, or revoked.Companion endpoints
The full catalog in one unpaginated call: a bare JSON array of every tracked item with its latest per-market prices and aggregates (capped at 50,000). Heavy; prefer the paginated endpoint for interactive use.
Full reference →Guides using this endpoint
export SKINPRICER_API_KEY="sp_live_•••"
curl -G "https://pricing.skinpricer.com/v1/items" \
--data-urlencode "search=redline" \
--data-urlencode "perPage=20" \
-H "Authorization: ApiKey $SKINPRICER_API_KEY"// npm i @skinpricer/sdk
import { SkinpricerClient } from "@skinpricer/sdk";
const client = new SkinpricerClient({
apiKey: process.env.SKINPRICER_API_KEY!,
authScheme: "ApiKey",
});
const page = await client.items.search({ search: "redline", perPage: 20 });
console.log(page.data.length, "of", page.pagination.total, "items");import os
import requests
res = requests.get(
"https://pricing.skinpricer.com/v1/items",
params={"search": "redline", "perPage": "20"},
headers={"Authorization": f"ApiKey {os.environ['SKINPRICER_API_KEY']}"},
timeout=10,
)
res.raise_for_status()
print(res.json())Authenticated endpoint: call it with your API key from your own client (see the code sample).
{
"data": [
{
"canonicalItemId": "cmlofca920lka01yozajhixt3",
"name": "Glock-18 | Water Elemental (Factory New)",
"aggregate": {
"minPrice": 6500,
"maxPrice": 8012,
"avgPrice": 7102,
"medianPrice": 7119,
"stdDev": 439.12,
"marketCount": 10,
"freshMarketCount": 9,
"listingCount": 710,
"updatedAt": "2026-06-23T21:59:48.717Z"
},
"markets": [
{
"market": "csfloat",
"price": 6500,
"currency": "USD",
"fetchedAt": "2026-06-23T21:52:27.427Z",
"ingestedAt": "2026-06-23T21:55:56.000Z",
"quoteSize": 132,
"ingestLatencyMs": 208573,
"isStale": false
}
],
"buyOrders": [
{
"market": "buff163",
"price": 6543,
"currency": "USD",
"fetchedAt": "2026-06-23T21:59:48.717Z",
"ingestedAt": "2026-06-23T21:59:48.000Z",
"quoteSize": 45,
"totalQuantity": 45,
"ingestLatencyMs": 0,
"isStale": false
}
],
"bestAsk": {
"market": "csfloat",
"price": 6500,
"updatedAt": "2026-06-23T21:52:27.427Z",
"isStale": false
},
"bestBid": {
"market": "buff163",
"price": 6543,
"updatedAt": "2026-06-23T21:59:48.717Z",
"isStale": false
},
"spreadBps": null,
"marketCount": 10,
"freshMarketCount": 9,
"calculatedAt": "2026-06-23T22:07:15.808Z"
}
],
"pagination": {
"perPage": 1,
"currentPage": 1,
"from": 1,
"to": 1,
"total": 15,
"lastPage": 15,
"prevPage": null,
"nextPage": 2
}
}