General
General Information
Generate a signature
Deposits
Getting started
Create a deposit
Create a deposit without redirection (iframe)
Deposit notification (webhook)
Check an deposit status
Get a list of deposits
Deposits without 8-day waiting period (Steam Trade Protection)
Deposit approval with 8-day hold
Get failed webhook notifications
Deposits without SkinsBack UI
Create a deposit without SkinsBack UI (API)
Get user's inventory
Skins Withdraw
Skins price list
Skins search
Buy skin
Bulk buy skins
Get skin purchase info
Skin purchase history
Other
Get the project balance
Get the history of withdrawals and deposits of money
Get currencies and rates
Server status
Events real-time: websockets
Events real-time: webhooks
Bulk purchase of skins and send to user
Bulk purchase of skins and send them to user.
The required parameters are highlighted in blue.
Send a POST request to API Endpoint with the following parameters:
method
string
market_batch_buy
partner
string
'partner' value from the user's Trade URL
token
string
'token' value from the user's Trade URL
items
array
Array of items for purchasing skins
items[][id]
int
Skin ID from price list or search
items[][max_price]
float
The maximum cost of a skin for purchase (in USD). Used as a cost limiter
items[][custom_id]
string
Unique ID in your system. Used to prevent double purchase
Response from the server:
If successful, a JSON object with the following contents will be sent in response:
purchased
array
Array containing a list of purchased skins, description below
unavailable
array
Array containing a list of unavailable skin IDs and reasons:
- insufficient_funds (error_code: 4) — Insufficient funds on the project balance
- skin_unavailable (error_code: 5) — Skin is not available for purchase
- skins_not_found_at_specified_price (error_code: 6) — There are no skins whose cost is <= 'max_price'
- custom_id_already_exists: (error_code: 7) — 'custom_id' already exists in our system
- insufficient_funds (error_code: 4) — Insufficient funds on the project balance
- skin_unavailable (error_code: 5) — Skin is not available for purchase
- skins_not_found_at_specified_price (error_code: 6) — There are no skins whose cost is <= 'max_price'
- custom_id_already_exists: (error_code: 7) — 'custom_id' already exists in our system
Array of 'purchased'
item
object
An object containing information about the purchased skin
— item.id
int
Skin ID
— item.name
string
Skin name
— item.price
float
Skin price in USD
— item.classid
string
Class ID of skin
buy_id
int
Purchase ID. Will be needed later to check the status of the skin
offer_status
string
Skin purchase status:
1. 'creating_trade' — trade in the process of creation
2. 'waiting_accept' — waiting for trade accept
3. 'accepted' — trade accepted
4. 'canceled' — the trade was rejected by the user
5. 'timeout' — timeout (10 minutes)
6. 'invalid_trade_token' — invalid trade token
7. 'user_not_tradable' — the user has trade restrictions
8. 'trade_create_error' — error of creating a trade (try again)
9. 'rollback_user' — skin has been returned by user (Steam Trade Protection)
10. 'rollback_supplier' — skin has been returned by supplier (Steam Trade Protection)
This method can only contain creating_trade. Other statuses in market_getinfo / market_history methods.
1. 'creating_trade' — trade in the process of creation
2. 'waiting_accept' — waiting for trade accept
3. 'accepted' — trade accepted
4. 'canceled' — the trade was rejected by the user
5. 'timeout' — timeout (10 minutes)
6. 'invalid_trade_token' — invalid trade token
7. 'user_not_tradable' — the user has trade restrictions
8. 'trade_create_error' — error of creating a trade (try again)
9. 'rollback_user' — skin has been returned by user (Steam Trade Protection)
10. 'rollback_supplier' — skin has been returned by supplier (Steam Trade Protection)
This method can only contain creating_trade. Other statuses in market_getinfo / market_history methods.
balance_debited_sum
float
The amount debited from the project's balance (USD)
Successful response example:
{
"status":"success",
"purchased":{
"62696971":{
"item":{
"id":"62696971",
"name":"'The Doctor' Romanov | Sabre",
"price":8.28,
"classid":"3608084106",
"instanceid":"0"
},
"buy_id":129112705,
"offer_status":"creating_trade",
"steamid":"76561198050648523",
"date":"1748862060",
"balance_debited_sum":8.28,
"custom_id":"10000"
},
"62697425":{
"item":{
"id":"62697425",
"name":"'The Doctor' Romanov | Sabre",
"price":8.03,
"classid":"3608084106",
"instanceid":"0"
},
"buy_id":129112706,
"offer_status":"creating_trade",
"steamid":"76561198050648523",
"date":"1748862060",
"balance_debited_sum":8.03,
"custom_id":"10001"
}
},
"unavailable":{
"62696979":{
"error_code":5,
"error_message":"skin_unavailable"
},
"62697480":{
"error_code":5,
"error_message":"skin_unavailable"
}
}
}
List of possible errors:
8
invalid_partner_value
Invalid 'partner' value
9
invalid_token_value
Invalid 'token' value. Request new Trade URL from user
10
too_many_failed_attempts_for_user
Too many failures when sending skins to the user (invalid Trade URL, user does not accept skins at the given time, user is not able to trade skins). Try later
-6
market_disabled
Market is off
standard errors:
-1
please_use_post_method
Need to use the POST method
-2
invalid_shopid
Project Client ID not found in the system
-3
invalid_signature
Invalid signature
-4
shop_not_active
Project inactive
-5
invalid_method
Invalid API method
-7
request_limit_reached
API requests limit reached (500/per minute)
-8
invalid_ip_address
Specify IP address in merchant panel
-9
under_maintenance
Site under maintenance
-10
invalid_client_secret
Invalid X-CLIENT-SECRET header