Для всех запросов, кроме ServicesList, нужен ваш API-ключ. Передавайте его одним из трёх способов:
HTTP-заголовок X-Api-Key (рекомендуется: ключ не попадает в URL и серверные логи).
Параметр строки запроса key.
Поле key в теле запроса application/x-www-form-urlencoded (только POST).
Ключи, созданные до ноября 2026 года, могут содержать символы + и /: при передаче в строке запроса кодируйте их как URL, иначе + превратится в пробел и ключ будет отклонён. Новые ключи состоят из 64 шестнадцатеричных символов и в кодировании не нуждаются.
Запросы и ответы
Параметры передаются в строке запроса или в теле формы (POST). При успехе возвращается HTTP 200; ошибка бизнес-логики возвращает HTTP 400 с полем error (RegisterOrder дополнительно устанавливает success в false). Если заказ отклонён, средства не списываются.
Лимит: 120 запросов в 1 мин. с одного IP-адреса. При превышении API отвечает HTTP 429 с заголовком Retry-After.
Услуги
Эта таблица обновляется в реальном времени: цены уже включают вашу скидку, а max - это количество, доступное прямо сейчас (оно зависит от остатка наших аккаунтов). Услуга со статусом «Недоступна» отклоняется методом RegisterOrder, пока снова не станет доступной; та же информация содержится в поле active метода ServicesList.
ID
Услуга
Тип
Цена за единицу
Мин. / Макс.
Статус
199825
Steam Like SharedFiles/Screenshots/Guides/Workshop
link: Ссылка на скриншот, иллюстрацию, руководство или предмет Мастерской: steamcommunity.com/sharedfiles/filedetails/?id=... (или /workshop/filedetails/?id=...).
link: Ссылка на скриншот, иллюстрацию, руководство или предмет Мастерской: steamcommunity.com/sharedfiles/filedetails/?id=... (или /workshop/filedetails/?id=...).
Default
$ 0.0152
1 / 4797
Доступна
199827
Steam Group Members
link: Ссылка на публичную группу: steamcommunity.com/groups/yourgroup. Группа должна быть публичной.
Default
$ 0.02
1 / 5467
Доступна
199828
Steam Workshop Followers
link: SteamID64 автора Мастерской (17 цифр, например 76561198307708414) или steamcommunity.com/profiles/SteamID64. Короткие ссылки (/id/name) не принимаются.
link: Ссылка на обзор: steamcommunity.com/id/user/recommended/appid/ или steamcommunity.com/profiles/SteamID64/recommended/appid/. Голоса всегда ставятся как «полезный» (Rate Up).
Default
$ 0.012
1 / 4797
Доступна
199831
Steam Trade Boost (trade offers, 1 gem each)
link: Ссылка для обмена принимающего аккаунта в Steam: steamcommunity.com/tradeoffer/new/?partner=...&token=... Инвентарь должен быть открытым; каждая единица - это одно предложение обмена с 1 самоцветом.
Default
$ 0.0022
1 / 1000
Доступна
199832
Steam Profile Comments (ready-made packages)
link: SteamID64 профиля (17 цифр) или steamcommunity.com/profiles/SteamID64. В профиле должны быть разрешены комментарии. Комментарии берутся из наших готовых пакетов (обязательный параметр package).
link: Ссылка на скриншот, иллюстрацию или предмет Мастерской (steamcommunity.com/sharedfiles/filedetails/?id=...). Комментарии берутся из наших готовых пакетов (обязательный параметр package).
Необязательные параметры: package
Default
$ 0.0264
1 / 10000
Доступна
199834
Steam Group Comments (ready-made packages)
link: Ссылка на публичную группу: steamcommunity.com/groups/yourgroup. Комментарии берутся из наших готовых пакетов (обязательный параметр package).
Необязательные параметры: package
Default
$ 0.0264
1 / 10000
Доступна
199835
Steam Profile Comments (your own comments)
link: SteamID64 профиля или steamcommunity.com/profiles/SteamID64, а также ваши собственные комментарии в параметре comments (по одному в строке). Необязательный параметр delay.
Steam Screenshot/Artwork/Workshop Comments (your own comments)
link: Ссылка на скриншот, иллюстрацию или предмет Мастерской, а также ваши собственные комментарии в параметре comments (по одному в строке). Необязательный параметр delay.
В услугах с готовыми комментариями параметр package обязателен. Он принимает cat:<category>[:<language>] (одобренные комментарии нашей библиотеки из одной категории; без языка — английские плюс комментарии без слов) и lib:<id> (официальный или опубликованный пакет библиотеки либо один из ваших пакетов; до 10 на заказ). Несколько значений разделяйте запятыми: заказ использует до quantity разных комментариев из них, выбранных случайно без повторов (по одному на комментарий), и их должно быть не меньше 5.
Коды языков: en, pt, es, ru, tr, de, pl, zh, ja, fr, it, ko, uk, ar, th, vi, id, ms, tl, hi, he, cs, sk, nl, hu, ro, sv, da, fi, no, el, bg, sr, none, other (none — комментарии без слов, например эмодзи).
Ваши собственные комментарии (параметр comments): один комментарий в строке, до 500 строк по 1000 символов. Пустые строки игнорируются. Передавайте параметр в теле формы, а не в URL.
Услуги со своими комментариями принимают ровно один источник: comments (один комментарий на строку, как выше), comments_json (только в теле формы: JSON-массив строк, один комментарий на элемент; переносы строк и отступы сохраняются; до 999 байт и 30 строк на комментарий, а quantity — не более чем в 25 раз больше числа разных комментариев) или package=lib:<id> (ваши личные пакеты библиотеки, через запятую).
Каждый свой комментарий проверяется до создания заказа. Отклоняется только мошенничество: репутация обменов или доверия, ссылки, контакты вне Steam, выдача себя за поддержку Valve или Steam, фальшивые розыгрыши или реклама, реальные личные данные и сексуальный контент с несовершеннолетними. Шутки, мат, токсичный и взрослый контент разрешены. Если какой-либо комментарий не одобрен, заказ отклоняется и ничего не списывается; отправьте allow_partial=1, чтобы продолжить только с одобренными (по той же цене). Список comments_json, в котором разных комментариев больше, чем quantity, сокращается до случайной выборки (truncatedComments).
Параметр delay (только для собственных комментариев): интервал между двумя комментариями. Допустимые значения: 10 Seconds, 7 Minutes, 15 Minutes, 30 Minutes, 1 Hour, 3 Hours, 6 Hours. По умолчанию: 10 Seconds. Цена за комментарий зависит от выбранного интервала; rate в таблице — это цена для 10 Seconds.
Эндпоинты
GET/ServicesList
Список всех услуг с ID, ценой за единицу, лимитами и форматом ссылки. Аутентификация не требуется.
Описание услуги или инструкция по её использованию.
type
string
Default (link + quantity; для сервисов комментариев также нужен package) или Custom Comments (дополнительно нужен comments, comments_json или package=lib:).
min
integer
Минимальное допустимое количество для услуги.
max
integer
Максимальное допустимое количество для услуги.
active
boolean
false, если услуга отключена или закончился запас: RegisterOrder её отклоняет.
optionalParams
string[]
Необязательные параметры RegisterOrder, которые принимает услуга.
GET/Balance
Текущий баланс кошелька аккаунта, которому принадлежит API-ключ.
Создаёт заказ и сразу списывает средства с кошелька (quantity × rate). Ссылка проверяется до списания; заказ отклоняется без списания средств, если услуга недоступна, количество вне допустимого диапазона, ссылка не подходит для услуги или на балансе недостаточно средств.
Параметры запроса
Параметр
Тип
Описание
key
string
API-ключ для аутентификации.
serviceId
integer
ID услуги.
link
string
Цель заказа: URL, SteamID64 или ссылка для обмена, в зависимости от услуги (см. таблицу услуг).
quantity
integer
Количество единиц для выполнения, от min до max услуги.
comments
string
Только для услуг с собственными комментариями: ваши комментарии, по одному в строке.
comments_json
string
Только для услуг со своими комментариями и только в теле формы: JSON-массив строк, один комментарий на элемент (переносы строк разрешены). Используется вместо comments.
package
string
Только для услуг с комментариями. Обязателен в услугах с готовыми комментариями; несколько значений через запятую. Принимает cat:<category>[:<language>] и lib:<id> (до 10 lib:<id> на заказ). В услугах с собственными комментариями: lib:<id> ваших личных пакетов.
delay
string
Только для услуг с собственными комментариями: интервал между комментариями; цена за комментарий зависит от этого интервала. Необязательный, по умолчанию 10 Seconds.
allow_partial
string
Только для услуг со своими комментариями: 1 — продолжить с одобренными комментариями, если какие-то не одобрены (по той же цене). Необязательный.
Пример запроса
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
-d "serviceId=199825" \
-d "link=https://steamcommunity.com/sharedfiles/filedetails/?id=123456789" \
-d "quantity=100" \
"https://cappiservices.com/api/Reseller/RegisterOrder"
# custom comments (199835): one comment per line, URL-encoded line breaks (%0A) in the form body
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
--data-urlencode "serviceId=199835" \
--data-urlencode "link=76561198307708414" \
--data-urlencode "quantity=20" \
--data-urlencode "delay=7 Minutes" \
--data-urlencode $'comments=Nice profile!\nGreat games.\n+rep' \
"https://cappiservices.com/api/Reseller/RegisterOrder"
# comments_json (199835-199837, form body only): one comment per item, line breaks kept
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
--data-urlencode "serviceId=199835" \
--data-urlencode "link=76561198307708414" \
--data-urlencode "quantity=20" \
--data-urlencode 'comments_json=["Nice profile!","GG WP\nsee you next match"]' \
"https://cappiservices.com/api/Reseller/RegisterOrder"
# library (199832-199834, package required): categories and/or packages, comma separated
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
--data-urlencode "serviceId=199832" \
--data-urlencode "link=76561198307708414" \
--data-urlencode "quantity=20" \
--data-urlencode "package=cat:praise:en,cat:emoji,lib:12" \
"https://cappiservices.com/api/Reseller/RegisterOrder"
Только для заказов со своими комментариями: сколько комментариев из вашего списка одобрено, отклонено, отправлено на ручную проверку, не проверено (повторите позже) и не вошло из-за сокращения до quantity.
rejectedIndexes rejectedReasons
integer[] string[]
Только для заказов со своими комментариями: позиции (с 0) отклонённых комментариев в вашем списке и причина каждого (format, link, contact или policy).
GET/OrderStatus
Статус и данные о выполнении одного из ваших заказов.
{
"status": "Complete",
"charge": 1.52,
"walletReturn": 0.0304,
"mode": "Like_SharedFile",
"sucess": 98,
"success": 98,
"failed": 2,
"quantity": 100,
"remains": 2,
"observation": "Info - Your order was finalized due to a lack of accounts in the database...",
"currency": "USD",
"date": "2026-11-01T14:03:27.1234567Z"
}
Параметры ответа
Параметр
Тип
Описание
status
string
Статус заказа: EnviarParaBackEnd (оплачен, ожидает отправки), NaFila (в очереди), Processing (выполняется) или Complete (завершён: выполнен полностью, частично, не выполнен или отменён).
charge
decimal
Сумма, списанная с кошелька при создании заказа (USD).
walletReturn
decimal
Сумма, возвращённая на ваш кошелёк за единицы, которые не удалось выполнить (USD). Равна 0, пока заказ не перейдёт в статус Complete.
mode
string
Внутреннее название услуги (MODE).
success
integer
Выполненные единицы.
sucess
integer
То же значение, что и success. Сохранено для совместимости (устаревшее написание).
failed
integer
Невыполненные единицы (окончательное значение только при статусе Complete).
quantity
integer
Заказанные единицы.
remains
integer
Единицы, которые ещё предстоит выполнить.
observation
string
Сообщение об итоге (неверная ссылка, закончились аккаунты, отмена...). Пусто, если всё выполнено.
currency
string
Валюта списаний.
date
string
Дата и время создания (UTC).
Жизненный цикл заказа и возвраты
Средства списываются с кошелька при создании заказа. Заказ проходит статусы EnviarParaBackEnd, NaFila, Processing и Complete. Complete - единственный конечный статус: сравните quantity, success и failed, чтобы узнать, выполнен заказ полностью или частично. Единицы, которые не удалось выполнить, автоматически возвращаются на кошелёк при завершении заказа (walletReturn), а observation объясняет причину. Заказы нельзя отменить через API; используйте панель клиента, пока заказ в статусе Processing.
Сообщения об ошибках
Все ошибки возвращаются с HTTP 400 и полем error. Наиболее частые:
{ "error": "Invalid ApiKey." }
error
Описание
Invalid parameters
Отсутствует или неверен key, serviceId, link или quantity.
Invalid ApiKey.
Ключ не принадлежит ни одному аккаунту (проверьте URL-кодирование старых ключей).
Your account has been disabled, please contact support. Before accessing the panel you need to confirm your email.
Аккаунт отключён или e-mail ещё не подтверждён.
Service:{id} Not Found
Неизвестный serviceId.
Service temporarily unavailable.
Услуга сейчас отключена или закончился запас (см. active в ServicesList).
Quantity must be between 1 and {max}.
Количество вне диапазона min/max услуги.
Invalid URL Link Invalid Parameters: Only the user's SteamID64 must be entered, not a URL
Ссылка не соответствует формату, который ожидает услуга.
Insufficient Funds!!
Баланс кошелька меньше quantity × rate. Средства не списаны.
Unknown comments package "..." Unknown comments category "..." Some comments were not approved ... Comment review limit reached, try again later
Комментарии: неизвестный пакет или категория, слишком маленькая выборка, комментарии не одобрены или проверка временно недоступна. Ничего не списывается.
Order not found. Access denied.
Заказ не существует или принадлежит другому аккаунту.
Too many requests... (HTTP 429)
Лимит: 120 запросов в 1 мин. с одного IP-адреса. При превышении API отвечает HTTP 429 с заголовком Retry-After.