/v1/prices/search

GET

Look up a specific skin (across marketplaces)

GET/v1/prices/search

Look up a specific skin across all marketplaces (Basic)

Fetches the current price of a single market_hash_name from every

supported marketplace in one request.

If the query looks like a Doppler or Gamma Doppler skin (case-insensitive

substring doppler), the server strips any existing phase annotation

from the input and queries all phase variants in parallel:

  • Regular Doppler: (Ruby), (Sapphire), (Black Pearl),

(Phase 1)..(Phase 4)

  • Gamma Doppler: (Emerald), (Phase 1)..(Phase 4)

The phase suffix is appended after the exterior, e.g.

Glock-18 | Gamma Doppler (Factory New) (Phase 2).

The response schema therefore differs between the two cases:

  • is_doppler: false → per marketplace either a single item object or null.
  • is_doppler: true → per marketplace an array of matched phase variants (possibly empty).

Clients should branch on the top-level is_doppler flag to select the

correct variant.

Most prices update about every 5 minutes, depending on the marketplace. Doppler phases included.

Parameters

NameInRequiredDescription
market_hash_name
string
queryyesSteam market_hash_name of the skin to look up. For Dopplers / Gamma Dopplers the phase suffix is optional – it will be stripped and every phase variant will be queried.

Example request

curl -s "https://api.cspriceapi.com/v1/prices/search" \
  -H "x-api-key: YOUR_API_KEY"

Example response (shortened)

{
  "market_hash_name": "AK-47 | Redline (Field-Tested)",
  "is_doppler": false,
  "search_variants": [
    "AK-47 | Redline (Field-Tested)"
  ],
  "data": {
    "youpin": {
      "id": 210,
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "stattrak": 0,
      "souvenir": 0,
      "price_rmb": "142.00",
      "change_24h": "0.30",
      "change_7d": "1.10",
      "change_30d": "-0.80",
      "change_90d": "4.20",
      "avg_7d": "141.20",
      "avg_30d": "143.80",
      "avg_90d": "136.00",
      "count": 612,
      "phase": "",
      "updated_at": "2026-04-21T12:06:35.000Z",
      "youpin_template_id": 1021,
      "liquidity": "8.90"
    },
    "buff163": {
      "id": 62235,
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "stattrak": 0,
      "souvenir": 0,
      "exterior": "Field-Tested",
      "price": "138.80",
      "change_24h": "0.10",
      "change_7d": "0.90",
      "change_30d": "-1.10",
      "change_90d": "3.80",
      "avg_7d": "138.20",
      "avg_30d": "140.10",
      "avg_90d": "133.50",
      "count": 1203,
      "updated_at": "2026-04-21T12:20:00.000Z",
      "item_page_url": "https://buff.163.com/goods/35247",
      "liquidity": "9.10"
    },
    "c5game": null,
    "ecosteam": null,
    "skinbaron": {
      "id": 18,
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "stattrak": 0,
      "souvenir": 0,
      "exterior": "Field-Tested",
      "price": "17.90",
      "change_24h": "-0.20",
      "change_7d": "0.80",
      "change_30d": "-1.40",
      "change_90d": "2.90",
      "avg_7d": "17.85",
      "avg_30d": "18.10",
  …

Responses

  • 200Successful response. Payload shape depends on `is_doppler`.
  • 400Missing or invalid query parameter.
  • 401Missing, invalid, disabled or expired API key.
  • 403The API key is valid but is not allowed to call this endpoint (endpoint ACL).
  • 429Rate limit exceeded (10 requests per second per key). Retry after 1 second.
  • 500Internal server error – temporary upstream failure, etc.

Interactive explorer

Try requests with your API key and browse the full request/response schemas.

Loading endpoint…

This endpoint as Markdown (.md)