TGLUX · SMM Panel API · v2

Connect TGLUX to your panel

TGLUX supplies its own Telegram, X (Twitter) and YouTube services wholesale over the standard SMM API v2 — the protocol Perfect Panel and most reseller panels already speak. Add TGLUX as a provider with the URL below and your API key, then import the services.

API URL
https://smmtglux.com/api/v2
Method
POST, form fields
Response
JSON
Currency
USD
API key
Sign up or log in

Before you start

Every request
Send key and action as POST form fields, URL-encoded or multipart. JSON request bodies are not read, and a GET is refused.
Your key
Create an account or log in, then generate a key on the API page of your dashboard (/api). It is shown once, so store it then. Generating a new key retires the old one immediately.
Errors
Always HTTP 200, with a body of the form {"error": "…"}. Check for the error field, not the status code.
Numbers
Money and counts arrive as JSON strings — "0.0025", "1000000" — with up to 7 decimal places and trailing zeros trimmed. IDs are integers; the dripfeed, refill and cancel flags are booleans.
Order IDs
Large integers such as 43613751. Store them exactly as returned.
Rate limit
120 requests per 60 seconds per key.
Batches
orders and refills take up to 100 comma-separated IDs. Anything after the first 100 is ignored.
Names
Service and category names are returned in English and do not change with the site's language. Non-ASCII characters arrive as \u escapes, which any JSON parser decodes.

Rates are per 1,000

That second line is the order used in the examples below: 10 post views on service 4.

The one exception is a service whose type is Package: its rate is the price of one whole package, an order is always one package, and the charge is the rate itself.

action=balance

Returns your balance. Panels usually call it first, to confirm the key works.

No fields besides key and action.

Request
curl -X POST https://smmtglux.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=balance
Response live
{
  "balance": "0.999975",
  "currency": "USD"
}

action=services

Returns every service you can order, priced for your account. Import from this list, and read each service's flags before offering drip-feed, refill or cancel on it.

No fields besides key and action.

Request
curl -X POST https://smmtglux.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=services
Response live one entry
[
  {
    "service": 4,
    "name": "Seen Post👁",
    "type": "default",
    "category": "Cheap Telegram Views",
    "rate": "0.0025",
    "min": "10",
    "max": "1000000",
    "dripfeed": false,
    "refill": false,
    "cancel": true
  }
]

Fields

FieldTypeMeaning
serviceintegerThe ID to send as service when you place an order.
namestringService name.
typestringdefault: an order needs link and quantity, nothing else. Package: one fixed bundle per order; an order needs only link, and its quantity is always 1. Compare the value without regard to case.
categorystringCategory name.
ratestringYour price per 1,000, in USD. For a Package, the price of one whole package.
min, maxstringThe quantity limits an order must fall inside. A Package is always ordered with quantity 1.
dripfeedbooleanAccepts runs and interval.
refillbooleanOrders can be refilled.
cancelbooleanOrders can be canceled.

Right now the API lists 1,137 services. Their types are Default, default; 909 support cancel, 13 offer refill, and none offers drip-feed. No service is a Package right now. Treat the flags as the source of truth — they change when the catalogue does.

action=add

Places an order. The charge is taken from your balance the moment the order is accepted; an error response means nothing was charged.

Fields

FieldRequiredValue
servicerequiredA service ID from services.
linkrequiredWhere to deliver: the channel, post or profile URL.
quantityrequired*Between that service's min and max. *Not needed for a Package: leave it out, or send 1.
runsoptionalDrip-feed: how many deliveries to split the order into.
intervaloptionalDrip-feed: minutes between deliveries.

Drip-feed. Send runs and interval together, and only to a service whose dripfeed flag is true. Otherwise the order is refused rather than placed without them. No service offers drip-feed right now.

Packages. A service whose type is Package is one fixed bundle per order, so the order needs only service and link: leave quantity out or send 1, and any other quantity is refused. The charge is that service's rate, the price of the whole package. Drip-feed does not apply to a package. No service is a Package right now.

Request
curl -X POST https://smmtglux.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=add \
  -d service=4 \
  -d link=https://t.me/yourchannel/15 \
  -d quantity=10
Response live
{
  "order": 43613751
}
Request for a Package format
curl -X POST https://smmtglux.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=add \
  -d service=SERVICE_ID \
  -d link=YOUR_LINK

action=status

Returns the state of one order, or of up to 100 at once.

Fields

FieldRequiredValue
orderone ofA single order ID.
ordersone ofUp to 100 comma-separated order IDs.
Request
curl -X POST https://smmtglux.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=status \
  -d order=43613751
Response live
{
  "charge": "0.000025",
  "start_count": "0",
  "status": "In progress",
  "remains": "10",
  "currency": "USD"
}
Several orders format
{
  "43613751": {
    "charge": "0.000025",
    "start_count": "0",
    "status": "In progress",
    "remains": "10",
    "currency": "USD"
  },
  "43613752": {
    "error": "Incorrect order ID"
  }
}

Response fields

FieldTypeMeaning
chargestringWhat the order cost. Falls if the order ends Partial.
start_countstringThe count at the link when delivery began. "0" until it has been reported.
statusstringOne of the order statuses.
remainsstringQuantity not delivered yet.
currencystringCurrency of charge.

How often to poll. TGLUX refreshes order state every two minutes, so asking more often returns the same answer. Poll in batches of up to 100, and stop polling an order once its status is final.

action=cancel

Asks for one or more orders to be canceled.

Fields

FieldRequiredValue
ordersrequiredUp to 100 comma-separated order IDs. A single order is also accepted.
Request
curl -X POST https://smmtglux.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=cancel \
  -d orders=43613751
Response live
[
  {
    "order": 43613751,
    "cancel": 1
  }
]

"cancel": 1 means the request was accepted, not that the order is canceled yet. Delivery may already be under way. When the cancel goes through, the order's status becomes Canceled and the charge is returned to your balance automatically. An ID that could not be canceled carries its own error in place of 1.

action=refill

Asks for a refill on orders that dropped after delivery. Available only where the service's refill flag is true, and only for orders that are Completed or Partial.

Fields

FieldRequiredValue
orderone ofA single order ID. Returns one refill ID.
ordersone ofUp to 100 comma-separated order IDs. Returns a list.
Request
curl -X POST https://smmtglux.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=refill \
  -d order=43613751
Response format
{
  "refill": 118
}
For a service without refill live
{
  "error": "Refill not available for this service"
}
Several orders format
[
  {
    "order": 43613751,
    "refill": 118
  },
  {
    "order": 43613752,
    "refill": {
      "error": "Incorrect order ID"
    }
  }
]

action=refill_status

Returns the state of refills, by the refill IDs that refill gave you.

Fields

FieldRequiredValue
refillone ofA single refill ID.
refillsone ofUp to 100 comma-separated refill IDs.
Request
curl -X POST https://smmtglux.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=refill_status \
  -d refill=118
Response format
{
  "status": "Pending"
}
Several refills format
[
  {
    "refill": 118,
    "status": "Pending"
  },
  {
    "refill": 119,
    "status": {
      "error": "Refill not found"
    }
  }
]

Order statuses

What status can return, and what each state means for the money. Five of them are final: once an order reaches one, it will not change again.

StatusMeaningState
PendingAccepted and charged; delivery has not started.open
In progressBeing delivered. remains counts down.open
ProcessingBeing delivered — reported instead of In progress by some delivery systems.open
CompletedDelivered in full. remains is "0".final
PartialDelivery stopped short. remains is what was not delivered; that share is refunded automatically and charge falls to match.final
CanceledCanceled. The charge is refunded in full, automatically.final
RefundedReversed, and the charge refunded in full.final
FailedCould not be placed. The charge is refunded in full, automatically.final

Errors

Every message the API returns, word for word, so a panel can match on them.

MessageWhen
Every request
Only POST is acceptedThe request was not a POST.
API is currently disabledTGLUX has switched the API off.
Missing API keyNo key field arrived — including when the body was sent as JSON.
Invalid API keyThe key is unknown or has been replaced, or the account is not active.
Rate limit exceeded. Slow down.More than 120 requests in 60 seconds with this key.
Invalid actionaction is missing, or is not one of the seven above.
add
Service not found or disabledNo orderable service has that ID.
Link is requiredlink was empty.
Quantity must be between 10 and 1000000The quantity is outside the limits; the numbers are that service's own min and max.
This service is sold as a package: the quantity must be 1A quantity other than 1 was sent to a Package service. Leave quantity out, or send 1.
Insufficient balanceYour balance is below the order's charge.
This quantity cannot be fulfilled right now. Try a different amount.Nothing can deliver that quantity at the moment.
This service can only be ordered from the website, not via the API.The service is website-only. No current service is.
Drip-feed needs both runs and intervalOnly one of the two was sent.
Drip-feed is not available for this serviceruns and interval were sent to a service whose dripfeed flag is false, or to a Package.
status and cancel
Incorrect order IDThe value is not an order number of this site.
Order not foundNo order with that number belongs to your account.
No valid order IDsorders held nothing usable.
Order cannot be canceled at this stageThe order is already Completed, Partial, Canceled or Refunded.
Cancel could not be requested for this order. Please contact support.The cancel was refused further along the delivery chain. Contact support with the order ID.
refill and refill_status
Refill not available for this serviceThe service's refill flag is false.
Order is not eligible for refillOnly Completed and Partial orders can be refilled.
Refill could not be requested for this order. Please contact support.The refill was refused further along the delivery chain. Contact support with the order ID.
Refill not foundNo refill with that ID belongs to your account.
No valid refill IDsrefills held nothing usable.
Telegram ChannelWhatsApp Sup💬Telegram Sup