Skip to main content

Market

The market endpoints return items currently available for purchase. This is what you show users when they want to withdraw (buy) skins.

Fetching Market Items

GET https://api.assetpay.gg/client/market?game=730&page=1&perPage=50
Authorization: CLIENT_TOKEN
Response:
{
  "requestId": "...",
  "success": true,
  "data": {
    "items": [
      {
        "id": "e5f6g7h8-...",
        "name": "AWP | Dragon Lore",
        "marketHashName": "AWP | Dragon Lore (Factory New)",
        "type": "Sniper Rifle",
        "iconUrl": "IzMF03bk9WpSBq-S-ekoE33L-iLqGFHVaU25ZzQNQcXdEHOQ6UFc5FT_0NqFMOBBN-s...",
        "appid": 730,
        "tradable": true,
        "marketPrice": 1850.00,
        "offer": {
          "price": 1720.50,
          "reference": "ref_market_456",
          "delivery": "standard"
        },
        "exterior": "Factory New",
        "wear": "0.01234",
        "rarity": "Covert",
        "color": "#EB4B4B",
        "paintSeed": 661,
        "stickers": [],
        "charm": null
      }
    ],
    "count": 1523
  }
}

Query Parameters

ParameterTypeDefaultDescription
gamestring730"730" for CS2 or "252490" for Rust
searchstring-Search by item name (max 100 chars)
sortstring-relevance, priceAsc, priceDesc, nameAsc, or nameDesc
minPricenumber-Minimum price filter (USD)
maxPricenumber-Maximum price filter (USD)
pagenumber1Page number
perPagenumber50Items per page (min 1, max 1000)

Search Suggestions

For building an autocomplete search box, use the suggestions endpoint:
GET https://api.assetpay.gg/client/market/suggestions?q=drag
Authorization: CLIENT_TOKEN
This returns a lightweight list of matching item names, faster than a full market search.

Item Listings

To get all available listings for a specific item type:
GET https://api.assetpay.gg/client/market/item?itemId=ITEM_ID&delivery=any
Authorization: CLIENT_TOKEN
ParameterTypeDefaultDescription
itemIdstringRequired*The marketplace item ID returned by /client/market or /client/market/suggestions
marketHashNamestringRequired*Exact market hash name, resolved to the catalog item id. Use instead of itemId; itemId wins when both are sent
deliverystringany"any", "standard", or "instant" — filters listings by delivery mode
phasestring-Doppler phase ("Ruby", "Phase 1", etc.) — returns only that phase’s listings; combinable with delivery
floatMinnumber-Lower bound on the item float/wear value (01)
floatMaxnumber-Upper bound on the item float/wear value (01)
pagenumber1Page number
perPagenumber50Listings per page (max 100)
* Provide either itemId or marketHashName. This returns individual listings with different float values, stickers, and prices for the same item type. Useful when you want to let users pick a specific skin rather than just the cheapest one. Use phase and the floatMin/floatMax range to narrow to a specific Doppler phase or wear band.

Pricing in Market Items

For market items (withdrawals), the offer.price is what it costs to buy this item. This is the amount that gets deducted from the merchant’s wallet balance. The delivery field indicates how the item will be sourced:
  • "standard" – the bot sources the item from a marketplace supplier when the purchase is approved, then sends a Steam trade offer to the user
  • "instant" – the item is already pre-positioned on the bot and the trade offer is sent immediately
In both cases, the final delivery to the user is via a Steam trade offer they must accept. Pass the item’s id and offer.price when initiating the withdrawal — AssetPay routes the purchase to the correct marketplace supplier internally.

Keeping Prices Updated

Market prices change frequently. You have two options to keep your UI current:
  1. Polling: Refetch market data periodically (every 30-60 seconds is reasonable)
  2. WebSocket: Subscribe to price update events for real-time changes (see WebSocket)
When a user clicks “Buy”, always validate that the price hasn’t changed since they last loaded the page. If it has, show them the updated price before proceeding.

Fetching Bulk Prices

If you need pricing data without item details (for example, to update prices in your own database), use the /secure/prices endpoint with your API key:
GET https://api.assetpay.gg/secure/prices?game=730
api-key: YOUR_API_KEY
This returns a compact list of market hash names with their current prices. See the API Reference for the full response format.