REST API

SteamSmm API Documentation

Base URL: https://steamsmm.ru/api

Authentication

Create an API key in your account. For all requests to protected methods, pass the key in the Authorization header. Send POST request bodies as JSON.

Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json

Request Example

curl "https://steamsmm.ru/api/user/balance" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
Important: do not share your API key with third parties or include it in client-side JavaScript. Store the key on the server only.

Key Management

MethodPurposeAuthorization
POST /api/token/generateCreate a key. Optional field: name.Active website session
POST /api/token/refreshReplace the current key with a new one. Optional field: password.Bearer token
GET /api/token/listGet a list of your keys without secret values.Bearer token

Boosting

The common /order/price and /order/create methods are used to calculate and create standard orders.

Available Service Types

action_typeServiceRequired Link
comment+rep commentsSteam profile with public comments
comment_rep-rep commentsSteam profile with public comments
comment_randomRandom commentsSteam profile with public comments
comment_premiumDelayed premium commentsSteam profile with public comments
likeLikesSupported Steam Community page
disDislikesSupported Steam Community page
subscribeGroup membersSteam group link
reviewReview likesSteam review link
favoriteAdd to favoritesSteam Workshop item URL

Common Parameters

ParameterTypeRequiredDescription
action_typestringYesService code from the table above.
quantityintegerYesNumber of actions: 10 to 2,000.
target_linkstringOn creation onlyFull link to the required steamcommunity.com page.

POST /api/order/price - price calculation

POST /api/order/price

{
  "action_type": "comment",
  "quantity": 100
}

This method does not charge the balance. The response returns price_per_item, total_cost and currency.

POST /api/order/create - create order

POST /api/order/create

{
  "action_type": "comment",
  "quantity": 100,
  "target_link": "https://steamcommunity.com/id/username"
}

Add to Favorites

Use the same automatic order endpoint with action_type favorite. Workshop items, screenshots, artwork, and guides are supported.

POST /api/order/create

{
  "action_type": "favorite",
  "quantity": 100,
  "target_link": "https://steamcommunity.com/sharedfiles/filedetails/?id=1234567890"
}

Premium Comments

Three additional parameters are available for comment_premium. If omitted, the comment type is random, and the delay range is 5 to 120 minutes.

ParameterTypeRequiredAllowed Values
comment_variantstringNoplus, minus or random. Default: random.
delay_min_minutesintegerNoMinimum delay, at least 5 minutes.
delay_max_minutesintegerNoMaximum delay, no more than 120 minutes and no less than delay_min_minutes.
POST /api/order/create

{
  "action_type": "comment_premium",
  "quantity": 50,
  "target_link": "https://steamcommunity.com/id/username",
  "comment_variant": "plus",
  "delay_min_minutes": 10,
  "delay_max_minutes": 30
}

Successful Response

{
  "status": "success",
  "data": {
    "order_id": "API_1_...",
    "action_type": "comment_premium",
    "quantity": 50,
    "cost": 100.0,
    "status": "processing",
    "balance_after": 900.0
  }
}
Charge: the amount is charged when the order is created. If the fulfillment system rejects the order, the funds are automatically returned to the balance.

Steam Awards API

This is a separate automatic delivery service, not a boosting action. Price: RUB 1.00 per award. Payment is charged from the API user balance.

POST /api/order/create

{
  "action_type": "reward_pack",
  "quantity": 10,
  "target_type": "profile",
  "target_link": "https://steamcommunity.com/profiles/76561198000000000"
}
ParameterTypeRequiredDescription
action_typestringYesreward_pack
quantityintegerYesAward quantity, 1–2000. Types are distributed automatically.
target_typestringYesprofile / content
target_linkstringYesSteam profile or content URL.

Check status: GET /api/order/status/{order_id}.

CS2 Commends

friendly, teacher and leader are set separately. The price is based on the highest value. A 15/5/10 combination costs the same as 15 commends.

Before creating an order, the player must join the 185.9.145.248:24673 server. Promotional balance cannot be used.

Parameters

ParameterTypeRequiredDescription
targetstringFor validation and creationSteamID64 or a profile link. The steam_id and target_link fields are also accepted.
friendlyintegerNoNumber of Friendly commends. Default: 0.
teacherintegerNoNumber of Teacher commends. Default: 0.
leaderintegerNoNumber of Leader commends. Default: 0.

At least one value must be greater than zero. The highest of the three values must be between 15 and 7,500.

POST /api/commend/check - player validation

POST /api/commend/check

{"target": "https://steamcommunity.com/id/username"}

Check the data.on_server field. You can create an order only when it is true.

POST /api/commend/price - price calculation

POST /api/commend/price

{
  "friendly": 15,
  "teacher": 5,
  "leader": 10
}

The response contains bots_required, price_per_bot, total_cost and the applied volume discount.

POST /api/commend/create - creation

POST /api/commend/create

{
  "target": "76561198000000000",
  "friendly": 15,
  "teacher": 5,
  "leader": 10
}

On success, the response returns order_id, session_id, the normalized steam_id, commend counts, cost, status, and remaining balance. You can also create an order through POST /api/order/create with action_type: "commend_cs2".

Status and Logs

GET /api/commend/{order_id}?logs_limit=100

logs_limit is optional; the allowed range is 1 to 200. The response contains progress, completed and failed bot counts, the remote status, and logs.

Restarting the Unfulfilled Remainder

POST /api/commend/{order_id}/restart

Restart is available only for a cancelled order. If the player leaves the server, the order continues automatically after reconnecting.

Steam Accounts

Steam accounts have a dynamic catalog and inventory. Always retrieve the current category_id immediately before calculating or purchasing.

GET /api/autoreg/products - catalog

GET /api/autoreg/products
Authorization: Bearer YOUR_API_TOKEN

Products are located in data.groups.*.items. Each product includes:

FieldDescription
category_idProduct identifier used for calculation and purchase.
title, region, descriptionProduct title, region, and description.
stockCurrent inventory.
min_count, max_countAllowed quantity per request.
price_per_itemPrice per account in rubles.

POST /api/autoreg/price - price calculation

POST /api/autoreg/price

{
  "category_id": 2450503,
  "quantity": 10
}

category_id and quantity are required and must be integers. The method checks current inventory and does not charge the balance.

POST /api/autoreg/create - purchase and delivery

POST /api/autoreg/create

{
  "category_id": 2450503,
  "quantity": 10
}

Accounts are delivered directly in the response through the data.accounts array and the data.accounts_text string. The response also returns a download_url for a TXT file.

{
  "status": "success",
  "data": {
    "order_id": "APIAUTOREG_...",
    "ordered_quantity": 2,
    "quantity": 2,
    "status": "completed",
    "accounts": ["login:password:email:email_password"],
    "accounts_text": "login:password:email:email_password",
    "balance_after": 500.0
  }
}
Security: save delivered accounts immediately and do not write the full response to public logs. If the supplier delivers fewer accounts than ordered, the API charges only for the quantity actually delivered and returns the warning field.

Purchasing is also supported through POST /api/order/create with action_type: "steam_autoreg", category_id and quantity.

Minecraft Capes

Keys are delivered immediately. Specify the product using a current catalog category_id or cape_type: home or builder.

GET /api/minecraft/capes/products - catalog

GET /api/minecraft/capes/products

data.items returns category_id, cape_type, the title, inventory, allowed quantity, and price per key.

POST /api/minecraft/capes/price - price calculation

POST /api/minecraft/capes/price

{"cape_type": "builder", "quantity": 3}

POST /api/minecraft/capes/create - purchase

POST /api/minecraft/capes/create

{"cape_type": "home", "quantity": 1}

Specify quantity and one of these fields: cape_type or category_id. On success, the keys are returned in the data.keys array and the data.keys_text string.

Important: promotional balance cannot be used to purchase keys. Do not publish delivered keys or the full API response in logs.

Purchasing is also supported through POST /api/order/create with action_type: "minecraft_cape".

Orders and Balance

GET /api/order/status/{order_id}

Returns the order type, target, cost, public and internal statuses, progress, errors, and dates. Commend orders also return the count of each type; premium comment orders return the variant and delays.

GET /api/order/list

GET /api/order/list?page=1&per_page=50&status=completed
ParameterDefaultDescription
page1Page number.
per_page50Number of orders per page.
statusAllOptional status filter.

The response contains the orders array and a pagination object with the page, pages, total, has_next and has_prev fields.

GET /api/user/balance

{
  "status": "success",
  "data": {
    "balance": 1000.0,
    "regular_balance": 800.0,
    "promo_balance": 200.0,
    "currency": "RUB"
  }
}

balance - total balance, regular_balance - regular funds, and promo_balance - promotional funds that can be used only for boosting.

GET /api/user/stats

Returns total and completed order counts, total spending, average order value, and current balance.

Statuses: pending, processing, paused, completed, failed, cancelled.

Error Format

{
  "status": "error",
  "code": "ERROR_CODE",
  "message": "Error description"
}

Main HTTP Status Codes

CodeMeaning
200 / 201Request completed successfully.
400A parameter is missing or has an invalid format.
401The API key is missing, invalid, or expired.
402Insufficient eligible balance.
404Order or product not found.
409State conflict, for example, the player is not on the server or already has an active commend order.
500 / 502 / 503Temporary website or external fulfillment system error.
Recommendation: always check the HTTP status code, then the status field. Do not consider an order created until you receive status: "success" and data.order_id.