The Hclout API lets you place and manage orders programmatically, built for resellers and panels. It follows the standard SMM panel API format, so if you have integrated a Perfect Panel style API before it will look familiar: one endpoint, an action parameter, and JSON responses.
Endpoint
Send an HTTP POST with application/x-www-form-urlencoded parameters. Every response is JSON; a failure returns an error field.
POST https://hclout.com/api/v2
Authentication
Every request needs your key (API key). Generate one in your account settings. Treat it like a password: it can place orders and spend your balance.
Add an order
Places a new order, charged to your account balance.
| Parameter | Required | Description |
|---|---|---|
| key | Yes | Your API key |
| action | Yes | add |
| service | Yes | Service id (from the services list) |
| link | Yes | Target link or @username |
| quantity | Yes | Quantity to deliver |
| runs | No | Drip-feed: number of batches to split the order into |
| interval | No | Drip-feed: minutes between batches |
curl https://hclout.com/api/v2 \ -d key=YOUR_API_KEY \ -d action=add \ -d service=1234 \ -d link=https://instagram.com/username \ -d quantity=1000
Example response
{
"order": 100042
}Order status
Check one order by its id.
| Parameter | Required | Description |
|---|---|---|
| key | Yes | Your API key |
| action | Yes | status |
| order | Yes | The order id returned by add |
curl https://hclout.com/api/v2 \ -d key=YOUR_API_KEY \ -d action=status \ -d order=100042
Example response
{
"charge": "1.9800",
"start_count": "1200",
"status": "In progress",
"remains": "300",
"currency": "USD"
}Multiple orders status
Check up to 100 orders at once with a comma-separated list.
| Parameter | Required | Description |
|---|---|---|
| key | Yes | Your API key |
| action | Yes | status |
| orders | Yes | Comma-separated order ids |
curl https://hclout.com/api/v2 \ -d key=YOUR_API_KEY \ -d action=status \ -d orders=100042,100043
Example response
{
"100042": { "status": "Completed", "charge": "1.9800", "start_count": "1200", "remains": "0", "currency": "USD" },
"100043": { "error": "Incorrect order ID" }
}Services
Returns every service you can order, with live prices (per 1,000). average_time is the measured average completion time from recent real orders on that service (null until a service has enough history) — most integrations show it as the delivery-time estimate.
| Parameter | Required | Description |
|---|---|---|
| key | Yes | Your API key |
| action | Yes | services |
curl https://hclout.com/api/v2 -d key=YOUR_API_KEY -d action=services
Example response
[
{
"service": 1234,
"name": "Instagram Followers",
"type": "Default",
"category": "Instagram",
"rate": "1.9800",
"min": "50",
"max": "100000",
"refill": true,
"cancel": true,
"dripfeed": false,
"average_time": "1 hour 20 minutes"
}
]Balance
Returns your current account balance.
| Parameter | Required | Description |
|---|---|---|
| key | Yes | Your API key |
| action | Yes | balance |
curl https://hclout.com/api/v2 -d key=YOUR_API_KEY -d action=balance
Example response
{
"balance": "42.50",
"currency": "USD"
}Refill
Requests a refill on a delivered order (only where the service supports refills). Pass a single order, or a comma-separated orders list to refill many at once (returns an array). The returned refill id can be polled with refill_status.
| Parameter | Required | Description |
|---|---|---|
| key | Yes | Your API key |
| action | Yes | refill |
| order | One of | A single order id |
| orders | One of | Comma-separated order ids |
curl https://hclout.com/api/v2 -d key=YOUR_API_KEY -d action=refill -d order=100042
Example response
{
"refill": 9910
}Multiple orders return one result per order:
[
{ "order": 100042, "refill": 9910 },
{ "order": 100043, "refill": { "error": "This service does not support refills" } }
]Refill status
Checks a refill you requested earlier. Pass a single refill id, or a comma-separated refills list (returns an array). The status is one of Pending, In progress, Completed, Rejected or Error.
| Parameter | Required | Description |
|---|---|---|
| key | Yes | Your API key |
| action | Yes | refill_status |
| refill | One of | A single refill id (returned by refill) |
| refills | One of | Comma-separated refill ids |
curl https://hclout.com/api/v2 -d key=YOUR_API_KEY -d action=refill_status -d refill=9910
Example response
{
"status": "Completed"
}Cancel
Cancels one or more orders. A pending order is canceled and refunded instantly; an in-progress order is sent a best-effort cancel upstream.
| Parameter | Required | Description |
|---|---|---|
| key | Yes | Your API key |
| action | Yes | cancel |
| orders | Yes | Comma-separated order ids |
curl https://hclout.com/api/v2 -d key=YOUR_API_KEY -d action=cancel -d orders=100042,100043
Example response
[
{ "order": "100042", "cancel": 1 },
{ "order": "100043", "cancel": { "error": "Order can no longer be canceled" } }
]Order statuses
The status field is one of: Pending, Processing, In progress, Completed, Partial, Canceled, or Refunded. A partial order is refunded for the undelivered remainder automatically.
Errors
Any failure returns HTTP 200 with an error field, for example { "error": "Invalid API key" } or { "error": "quantity below minimum (50)" }.