API Documentation

API Documentation

Authorization

Methods that work with your account (balance, createOrder, statuses) use Bearer token authentication. Register, open your personal cabinet and press "Create API token". The token is shown only once, store it safely. Creating a new token disables the previous one. The services and categories lists are public and need no token.

Base URL: https://likes-shop.top/api. All responses are JSON. Errors have the form {"error": "message"} with a matching HTTP status: 400 invalid parameters, 401 invalid or missing token, 402 insufficient balance, 404 not found, 422 quantity or amount out of the allowed range, 429 too many requests.

cURL
PHP
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://likes-shop.top/api/balance

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://likes-shop.top/api/balance");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer YOUR_ACCESS_TOKEN"
]);

$response = curl_exec($ch);
curl_close($ch);
echo $response;
                

Services list

Returns all available services with our prices, order limits and the category ID. This method is public, no token is required. Prices are given per 1000 units in USD (rate) and in UAH at the current exchange rate (rate_uah). Responses are cached for 5 minutes.

GET https://likes-shop.top/api/services
Optional parameters: category_id (return only one category), lang (ru, uk or en, default ru).

cURL
PHP
Response
curl "https://likes-shop.top/api/services?lang=en"
curl "https://likes-shop.top/api/services?category_id=8"

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://likes-shop.top/api/services?lang=en");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($response['services'][0]);
                
{
  "currency": "USD",
  "per": 1000,
  "usd_to_uah": 41.5,
  "count": 2172,
  "services": [
    {
      "id": 9,
      "category_id": 8,
      "name": "TikTok - Live Likes ~ 1k-10k/days",
      "rate": 0.5,
      "rate_uah": 20.75,
      "min": 50,
      "max": 10000
    }
  ]
}

rate is the price per 1000 in USD, rate_uah is the same price in UAH, min and max are the allowed order quantity (max is null when there is no upper limit), category_id matches the id from the categories list below.

Categories list

Returns all categories with their IDs. Use id to match category_id of a service. This method is public.

GET https://likes-shop.top/api/categories
Optional parameter: lang (ru, uk or en, default ru).

cURL
Response
curl "https://likes-shop.top/api/categories?lang=en"
{
  "count": 575,
  "categories": [
    { "id": 8, "parent_id": null, "name": "Tiktok" }
  ]
}

Order limits

Every service has its own minimum and maximum quantity (min and max in the services list). The quantity of an order must be within these limits, otherwise it is rejected.

Getting Balance

Returns the balance of the authenticated user in USD. Orders placed through the API are paid from this balance.
GET https://likes-shop.top/api/balance

cURL
Response
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://likes-shop.top/api/balance
{
  "balance": 25.5,
  "currency": "USD"
}

Placing an Order

Creates an order and pays it from your balance.
POST https://likes-shop.top/api/createOrder

Parameters: service (service id from the services list), link (http or https link to the profile or post), quantity (must be between min and max of the service). The minimum order amount is 5 UAH. The order price is rate / 1000 × quantity, rounded up to 0.01 USD. Up to 30 orders per minute are accepted for one account.

cURL
PHP
Response
curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d "service=9&link=https://example.com/post/1&quantity=1000" \
https://likes-shop.top/api/createOrder

$ch = curl_init();

$data = [
    'service' => 9,
    'link' => 'https://example.com/post/1',
    'quantity' => 1000
];

curl_setopt($ch, CURLOPT_URL, "https://likes-shop.top/api/createOrder");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer YOUR_ACCESS_TOKEN",
    "Content-Type: application/x-www-form-urlencoded"
]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

$response = curl_exec($ch);
curl_close($ch);
echo $response;
                
{
  "success": true,
  "order": 1234,
  "charge": 0.5,
  "currency": "USD",
  "balance": 25.0
}

// insufficient balance, HTTP 402
{
  "error": "Insufficient balance",
  "balance": 0.1,
  "required": 0.5,
  "currency": "USD"
}

Order statuses

Returns the status of your orders (up to 100 per request). Use the order numbers returned by createOrder.
POST https://likes-shop.top/api/statuses, parameter order_ids (array or comma separated list). Statuses: new, paid, in_process, closed.

cURL
Response
curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d "order_ids=1234,1235" \
https://likes-shop.top/api/statuses
{
  "1234": {
    "status": "in_process",
    "status_code": 2,
    "start_count": 1500,
    "remains": 400,
    "total": 20.75,
    "currency": "UAH",
    "created_at": "2026-10-06 12:00:00"
  },
  "1235": { "error": "Order not found" }
}