uploop

SMM panel API documentation

The Uploop API follows the format most SMM panels already use with their providers. Send a POST request with your key and an action, and read JSON back.

  • POST https://uploopsmm.com/api/v2
  • JSON responses
  • 120 requests per minute

Basics

Endpointhttps://uploopsmm.com/api/v2
MethodPOST, form-encoded or JSON body
Authenticationkey parameter. api_token is accepted as an alias. Generate the key under Account › API.
Rate limit120 requests per minute per key. Repeated invalid keys from one IP are blocked for a minute.
Batch sizeUp to 100 IDs in status, refill, refill_status and cancel.
CurrencyUS dollars. Rates are per 1,000 units.
Not supportedDrip-feed (runs, interval) and custom comment or username lists. Requests that send them are rejected.

action=services

List every active service with your rate per 1,000.

ParameterDescription
actionservices
keyYour API key

Example response

[
  {
    "service": 1,
    "name": "Instagram Followers [Standard]",
    "type": "Default",
    "category": "Instagram Followers",
    "rate": "0.9000",
    "min": "100",
    "max": "50000",
    "refill": true,
    "cancel": true,
    "dripfeed": false
  }
]

action=add

Place an order. The price is charged from your balance.

ParameterDescription
actionadd
keyYour API key
serviceService ID from services
linkPublic link or @handle of the destination
quantityWhole number between min and max

Example response

{
  "order": 23501
}

action=status

Status of one order (order) or up to 100 orders (orders, comma separated).

ParameterDescription
actionstatus
keyYour API key
orderOrder ID
ordersOptional: up to 100 IDs separated by commas

Example response

{
  "charge": "0.450000",
  "start_count": "3572",
  "status": "Partial",
  "remains": "157",
  "currency": "USD"
}

action=balance

Your current balance.

ParameterDescription
actionbalance
keyYour API key

Example response

{
  "balance": "100.840000",
  "currency": "USD"
}

action=refill

Request a refill for an order whose service carries a refill window.

ParameterDescription
actionrefill
keyYour API key
orderOrder ID
ordersOptional: up to 100 IDs separated by commas

Example response

{
  "refill": "1"
}

action=refill_status

Status of a refill request.

ParameterDescription
actionrefill_status
keyYour API key
refillRefill ID
refillsOptional: up to 100 IDs separated by commas

Example response

{
  "status": "Completed"
}

action=cancel

Cancel orders that have not started, where the service allows it.

ParameterDescription
actioncancel
keyYour API key
ordersUp to 100 IDs separated by commas

Example response

[
  {"order": 23501, "cancel": 1}
]

Errors

Errors come back as JSON with a single error field, for example {"error": "Not enough funds on balance"} or {"error": "Quantity less than minimal 100"}. A 429 status means the rate limit was hit: wait and retry rather than looping.

Example request

curl -X POST https://uploopsmm.com/api/v2 \
  -d key=YOUR_KEY \
  -d action=add \
  -d service=1 \
  -d link=https://www.instagram.com/yourbrand \
  -d quantity=1000

Poll status on an interval, not in a tight loop, and batch IDs with orders when you track many orders at once.