Skip to content

Get Inventory

POST /api/v1/merchant/inventory

Fetches a user's Steam inventory with competitive pricing. Used in the API-only integration flow.

Request

Headers

HeaderRequiredDescription
X-Api-KeyYour merchant API key
Content-Typeapplication/json

Body

ParameterTypeRequiredDescription
gamestringGame code: csgo, rust, dota2, tf2
partnerintegerSteam trade partner ID
tokenstringSteam trade token (exactly 8 characters)

Response

json
{
  "success": true,
  "message": "Inventory fetched successfully",
  "data": {
    "items": [
      {
        "id": "38029384123",
        "name": "AK-47 | Redline (Field-Tested)",
        "price": 12.45,
        "image_url": "https://community.cloudflare.steamstatic.com/economy/image/...",
        "exterior": "Field-Tested",
        "rarity": "Classified",
        "rarity_color": "#d32ce6"
      }
    ],
    "total": 47,
    "sum": 284.90,
    "game": "csgo"
  }
}

Response Fields

FieldTypeDescription
itemsarrayList of tradeable inventory items with prices
items[].idstringAsset ID — use this in create-deposit
items[].namestringItem market name
items[].pricenumberBest available price (USD)
items[].image_urlstringSteam CDN image URL
items[].exteriorstring | nullItem wear: Factory New, Minimal Wear, Field-Tested, Well-Worn, Battle-Scarred
items[].raritystring | nullItem rarity tier
items[].rarity_colorstring | nullHex color for the rarity
totalintegerTotal number of tradeable items
sumnumberTotal value of all items
gamestringGame code

Example

bash
curl -X POST https://api.skinslink.com/api/v1/merchant/inventory \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "game": "csgo",
    "partner": 378049039,
    "token": "qPFEAtZR"
  }'

Performance

This endpoint fetches and prices the user's inventory in real time. Typical response times:

  • Cached: ~100–200ms
  • Fresh fetch: ~1–4 seconds

WARNING

Prices are point-in-time and may change between inventory fetch and deposit creation. Items are re-priced at deposit time.

Errors

StatusMessageCause
400invalid request bodyMalformed JSON
400validation errorMissing or invalid fields (see data array for details)
401missing authorization headerX-Api-Key header not provided
401invalid API keyAPI key not found or inactive
403merchant account is disabledMerchant account deactivated
403invalid IP: <ip>Request IP not in whitelist
408timeout errorInventory fetch timed out — retry
500internal errorSomething went wrong on our side