Getting started
Base URL, request format, response handling, and a minimal listing request.
Request a market page
curl --get 'https://csfloat.com/api/v1/listings' \
--data-urlencode 'limit=50' \
--data-urlencode 'sort_by=best_deal' \
--data-urlencode 'type=buy_now'Public listing routes need no credentials. Protected routes take a CSFloat API key in the
Authorization header.
Read prices
price, min_price, max_price, balance_offset, and similar monetary integers are USD cents.
const dollars = listing.price / 100;Follow cursors
Cursor endpoints return an opaque cursor. Pass it unchanged on the next request. Do not parse or
construct cursor values.
const first = await fetch(`${base}/listings?limit=50`).then((r) => r.json());
const next = await fetch(
`${base}/listings?limit=50&cursor=${encodeURIComponent(first.cursor)}`,
).then((r) => r.json());Page-number endpoints use zero-based page values. The two pagination models are not interchangeable.