Skip to main content
GET
/
listings
Live buyable listings
curl --request GET \
  --url https://csboard.com/v1/listings \
  --header 'Authorization: Bearer <token>'
{
  "items": [
    {
      "id": "itm_8841201",
      "market_hash_name": "AK-47 | Redline (Minimal Wear)",
      "wear": "Minimal Wear",
      "doppler_phase": null,
      "float_value": 0.0912,
      "paint_seed": 412,
      "stickers": [
        {
          "name": "Crown (Foil)",
          "image": "https://cdn.csboard.com/stickers/crown_foil.png",
          "slot": 0,
          "wear": 0
        }
      ],
      "price_usd": 14.37,
      "category": "Rifle",
      "rarity": "Classified",
      "image": "https://cdn.csboard.com/items/ak47_redline_mw.png",
      "inspect_link": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20...",
      "tradable": false,
      "tradable_at": "2026-07-06T12:00:00Z",
      "delivery": "hold"
    }
  ],
  "next_cursor": "eyJpZCI6Iml0bV84ODQxMjAxIn0="
}
The listings endpoint exposes every buyable item currently on the CSBoard marketplace. Each record includes the complete inspection data you need for evaluation — float value, paint seed, applied stickers with their wear — alongside the authoritative asking price in USD. Results are paginated using a keyset cursor so you can reliably walk the full catalog even as new listings arrive. Authentication required. Send your key as Authorization: Bearer csb_pub_....

Query parameters

Full-text match on the item’s market_hash_name, e.g. AK-47 | Redline.
category
string
Filter by item category, e.g. Rifle, Knife, Gloves, Pistol.
wear
string
Filter by wear bucket. One of: Factory New, Minimal Wear, Field-Tested, Well-Worn, Battle-Scarred.
rarity
string
Filter by rarity tier, e.g. Classified, Covert, Extraordinary.
min_price
number
Minimum asking price in USD (inclusive).
max_price
number
Maximum asking price in USD (inclusive).
min_float
number
Minimum float value (inclusive). Accepts values from 0.0 to 1.0.
max_float
number
Maximum float value (inclusive). Accepts values from 0.0 to 1.0.
stat_trak
string
StatTrak™ filter. only returns only StatTrak™ items; exclude removes them from results.
souvenir
string
Souvenir filter. only returns only Souvenir items; exclude removes them from results.
sort
string
default:"id"
Sort order. One of: id (stable default), newest, price_asc, price_desc.
cursor
string
Keyset pagination cursor. Pass the next_cursor value from the previous response to fetch the next page.
limit
integer
default:"50"
Number of results per page. Minimum 1, maximum 200.

Response fields

items
Listing[]
required
Array of listing objects for this page.
next_cursor
string | null
required
Opaque keyset cursor. Pass this as the cursor query parameter to fetch the next page. null on the last page.

Pagination

This endpoint uses keyset pagination. To walk all pages:
  1. Make the initial request (no cursor).
  2. If next_cursor is non-null, repeat the request with cursor=<next_cursor>.
  3. Stop when next_cursor is null — you have reached the last page.
Keyset pagination is stable: new listings appearing during iteration won’t cause duplicates or skipped rows.

Example request

curl "https://csboard.com/v1/listings?category=Rifle&wear=Minimal+Wear&min_float=0.07&max_float=0.12&sort=price_asc&limit=20" \
  -H "Authorization: Bearer csb_pub_..."

Example response

{
  "items": [
    {
      "id": "itm_8841201",
      "market_hash_name": "AK-47 | Redline (Minimal Wear)",
      "wear": "Minimal Wear",
      "doppler_phase": null,
      "float_value": 0.0912,
      "paint_seed": 412,
      "stickers": [
        {
          "name": "Crown (Foil)",
          "image": "https://cdn.csboard.com/stickers/crown_foil.png",
          "slot": 0,
          "wear": 0.0
        }
      ],
      "price_usd": 14.37,
      "category": "Rifle",
      "rarity": "Classified",
      "image": "https://cdn.csboard.com/items/ak47_redline_mw.png",
      "inspect_link": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20...",
      "tradable": false,
      "tradable_at": "2026-07-06T12:00:00Z",
      "delivery": "hold"
    }
  ],
  "next_cursor": "eyJpZCI6Iml0bV84ODQxMjAxIn0="
}

Error codes

HTTP statusCodeMeaning
401unauthorizedMissing or invalid API key.
429rate_limit_exceededOver 30 requests/min. Back off for the number of seconds in the Retry-After header.
price_usd on each listing is the authoritative buy price — it reflects the live asking price at query time and is exactly what you’ll be charged. Do not use the min_price_usd from the /prices endpoint as a buy-price estimate; that value can lag.

Authorizations

Authorization
string
header
required

Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.

Query Parameters

Full-text match on market hash name.

category
string

e.g. Rifle, Knife, Gloves.

wear
enum<string>

Item wear bucket.

Available options:
Factory New,
Minimal Wear,
Field-Tested,
Well-Worn,
Battle-Scarred
rarity
string

e.g. Classified, Covert.

min_price
number

Minimum price in USD.

max_price
number

Maximum price in USD.

min_float
number

Minimum float value.

max_float
number

Maximum float value.

stat_trak
enum<string>

Filter StatTrak™ items.

Available options:
only,
exclude
souvenir
enum<string>

Filter Souvenir items.

Available options:
only,
exclude
sort
enum<string>
default:id

Sort order. Default id.

Available options:
id,
newest,
price_asc,
price_desc
cursor
string

Keyset cursor from next_cursor.

limit
integer
default:50

1–200. Default 50.

Required range: 1 <= x <= 200

Response

A page of listings.

items
object[]
required
next_cursor
string | null
required

Pass back as cursor to fetch the next page. Null on the last page.