Appearance
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
| Parameter | Type | Required | Description |
|---|---|---|---|
appid | number | No | Game ID. Valid: 730, 570, 252490, 440 |
inspect_in_game_password | string | No | Password to include inspect links |
Response Headers
| Header | Description |
|---|---|
X-Last-Update | ISO timestamp of last inventory update |
X-RateLimit-Remaining | Remaining 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
| Field | Type | Required | Description |
|---|---|---|---|
appid | number | No | Game ID filter |
phase | string | No | Doppler phase (e.g., "Phase 1") |
names | string[] | No | Market hash names (max 10) |
item_ids | string[] | No | Internal 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
| Field | Type | Required | Description |
|---|---|---|---|
item_id | string | Yes | Internal listing ID |
assetid | string | Yes | Steam asset ID |
trade_url | string | Yes | Steam trade offer URL |
price | number | Yes | Expected price (1$ = 1000) |
comment | string | null | No | Unique 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
| Field | Type | Required | Description |
|---|---|---|---|
market_hash_name | string | Yes | Steam market hash name |
appid | number | Yes | Game ID |
phase | string | No | Doppler phase filter |
trade_url | string | Yes | Steam trade offer URL |
max_price | number | Yes | Maximum price (1$ = 1000) |
comment | string | null | No | Unique 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
| Field | Type | Required | Description |
|---|---|---|---|
trade_url | string | Yes | Steam trade offer URL |
item_id | string | No | Internal listing ID |
assetid | string | No | Steam 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
| Field | Type | Description |
|---|---|---|
item_id | string | Internal listing ID |
assetid | string | Steam asset ID |
appid | string | Game ID as string |
instanceid | string | Steam instance ID |
classid | string | Steam class ID |
market_hash_name | string | Steam market hash name |
phase | string | null | Doppler phase |
float_value | number | null | Float value (wear) |
paintindex_value | number | Paint index |
paintseed_value | number | Paint seed |
rarity_color | string | null | Hex rarity color |
price | number | Price (1$ = 1000) |
img | string | Steam CDN icon URL |
stickers | array | Sticker array with market_hash_name, img, slot, wear |
inspect_in_game | string | null | Inspect link (requires password) |
account_steamid | string | Bot Steam ID (requires password) |