Skip to content

Items API (Deprecated API Backward Compatibility)

Drop-in replacement for the deprecated Items API. Uses the same request/response format for easy migration.

Base path: /api/Items

INFO

This is the compatibility layer. If you're building a new integration, consider using the native Items API instead.

Get All Items On Sale

GET /api/Items/GetAllItemsOnSale

Also supports HEAD requests (returns headers only).

Returns all items currently for sale in deprecated API format.

Query Parameters

ParameterTypeRequiredDescription
appidnumberNoGame ID. Valid: 730, 570, 252490, 440
inspect_in_game_passwordstringNoPassword to include inspect links

Response Headers

HeaderDescription
X-Last-UpdateISO timestamp of last inventory update
X-RateLimit-RemainingRemaining requests in window

Rate Limit

60 requests per minute per user.

Cache

10 seconds per appid

bash
curl -X GET "https://market.vpsbot.io/api/Items/GetAllItemsOnSale?appid=730" \
  -H "x-api-key: YOUR_API_KEY"
js
const { data } = await client.get('/api/Items/GetAllItemsOnSale', {
  params: { appid: 730 }
});

Example Response

json
{
  "success": true,
  "last_update": "2024-01-15T10:00:00.000Z",
  "msg": null,
  "data": [
    {
      "item_id": "abc123",
      "assetid": "30000000001",
      "appid": "730",
      "instanceid": "302028390",
      "classid": "310776560",
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "phase": null,
      "float_value": 0.2531,
      "paintindex_value": 282,
      "paintseed_value": 412,
      "rarity_color": "#D2D2D2",
      "price": 1245,
      "img": "https://steamcdn-a.akamaihd.net/...",
      "stickers": [
        {
          "market_hash_name": "Sticker | Natus Vincere",
          "img": "https://steamcdn-a.akamaihd.net/...",
          "slot": 0,
          "wear": null
        }
      ],
      "inspect_in_game": null,
      "account_steamid": null
    }
  ]
}

Search Items

POST /api/Items/SearchItems

Search items by names or item IDs in deprecated API format.

Request Body

FieldTypeRequiredDescription
appidnumberNoGame ID filter
phasestringNoDoppler phase (e.g., "Phase 1")
namesstring[]NoMarket hash names (max 10)
item_idsstring[]NoInternal item IDs (max 25)

WARNING

At least one of names or item_ids must be provided. Max 10 names and 25 item IDs.

Rate Limit

150 requests per minute per user.

bash
curl -X POST "https://market.vpsbot.io/api/Items/SearchItems" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "appid": 730,
    "names": ["AK-47 | Redline (Field-Tested)"]
  }'
js
const { data } = await client.post('/api/Items/SearchItems', {
  appid: 730,
  names: ['AK-47 | Redline (Field-Tested)']
});

Example Response

json
{
  "success": true,
  "msg": null,
  "data": [
    {
      "item_id": "abc123",
      "assetid": "30000000001",
      "appid": "730",
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "price": 1245,
      "float_value": 0.2531,
      "stickers": []
    }
  ]
}

Get Removed From Sale

GET /api/Items/GetRemovedFromSaleLastTime

Returns asset IDs of items removed from sale in the last 10 seconds.

Cache

10 seconds

TIP

Use this endpoint to keep your local inventory cache in sync by removing items that are no longer available.

bash
curl -X GET "https://market.vpsbot.io/api/Items/GetRemovedFromSaleLastTime" \
  -H "x-api-key: YOUR_API_KEY"
js
const { data } = await client.get(
  '/api/Items/GetRemovedFromSaleLastTime'
);

Example Response

json
[
  "30000000001",
  "30000000042",
  "30000000099"
]

INFO

This endpoint returns a raw array, not wrapped in the standard { success, data } envelope.


Buy Item

POST /api/Items/Buy

Purchase a specific item by asset ID in deprecated API format.

Request Body

FieldTypeRequiredDescription
item_idstringYesInternal listing ID
assetidstringYesSteam asset ID
trade_urlstringYesSteam trade offer URL
pricenumberYesExpected price (1$ = 1000)
commentstring | nullNoUnique comment for tracking
bash
curl -X POST "https://market.vpsbot.io/api/Items/Buy" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "item_id": "abc123",
    "assetid": "30000000001",
    "trade_url": "https://steamcommunity.com/tradeoffer/new/?partner=XXXXX&token=YYYYY",
    "price": 1245,
    "comment": "order-001"
  }'
js
const { data } = await client.post('/api/Items/Buy', {
  item_id: 'abc123',
  assetid: '30000000001',
  trade_url: 'https://steamcommunity.com/tradeoffer/new/?partner=XXXXX&token=YYYYY',
  price: 1245,
  comment: 'order-001'
});

Example Response

json
{
  "trade_id": "uuid-trade-id",
  "status": "created",
  "assetid": "30000000001",
  "price": 1245,
  "comment": "order-001"
}

Buy Item by Name

POST /api/Items/BuyByName

Purchase the cheapest available item by market hash name in deprecated API format.

Request Body

FieldTypeRequiredDescription
market_hash_namestringYesSteam market hash name
appidnumberYesGame ID
phasestringNoDoppler phase filter
trade_urlstringYesSteam trade offer URL
max_pricenumberYesMaximum price (1$ = 1000)
commentstring | nullNoUnique comment for tracking
bash
curl -X POST "https://market.vpsbot.io/api/Items/BuyByName" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "market_hash_name": "AK-47 | Redline (Field-Tested)",
    "appid": 730,
    "trade_url": "https://steamcommunity.com/tradeoffer/new/?partner=XXXXX&token=YYYYY",
    "max_price": 1500,
    "comment": "order-002"
  }'
js
const { data } = await client.post('/api/Items/BuyByName', {
  market_hash_name: 'AK-47 | Redline (Field-Tested)',
  appid: 730,
  trade_url: 'https://steamcommunity.com/tradeoffer/new/?partner=XXXXX&token=YYYYY',
  max_price: 1500,
  comment: 'order-002'
});

Example Response

json
{
  "trade_id": "uuid-trade-id",
  "status": "created",
  "assetid": "30000000001",
  "market_hash_name": "AK-47 | Redline (Field-Tested)",
  "price": 1245,
  "comment": "order-002"
}

Check Can Buy

POST /api/Items/CheckCanBuy

Check if an item can be purchased.

Request Body

FieldTypeRequiredDescription
trade_urlstringYesSteam trade offer URL
item_idstringNoInternal listing ID
assetidstringNoSteam asset ID
bash
curl -X POST "https://market.vpsbot.io/api/Items/CheckCanBuy" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "trade_url": "https://steamcommunity.com/tradeoffer/new/?partner=XXXXX&token=YYYYY",
    "assetid": "30000000001"
  }'
js
const { data } = await client.post('/api/Items/CheckCanBuy', {
  trade_url: 'https://steamcommunity.com/tradeoffer/new/?partner=XXXXX&token=YYYYY',
  assetid: '30000000001'
});

Example Response

json
{
  "can_buy": true,
  "account_steamid": "76561198...",
  "reason": null
}

Deprecated API Item Object Schema

FieldTypeDescription
item_idstringInternal listing ID
assetidstringSteam asset ID
appidstringGame ID as string
instanceidstringSteam instance ID
classidstringSteam class ID
market_hash_namestringSteam market hash name
phasestring | nullDoppler phase
float_valuenumber | nullFloat value (wear)
paintindex_valuenumberPaint index
paintseed_valuenumberPaint seed
rarity_colorstring | nullHex rarity color
pricenumberPrice (1$ = 1000)
imgstringSteam CDN icon URL
stickersarraySticker array with market_hash_name, img, slot, wear
inspect_in_gamestring | nullInspect link (requires password)
account_steamidstringBot Steam ID (requires password)

Need help? Contact our support team