TeleBoostPro API
Place Telegram views, reactions, and members orders programmatically.
PerfectPanel-compatible: key + action form fields.
Sign in to generate an API key. Docs below are public.
Read this first
- Form body only. Send
application/x-www-form-urlencoded. Do not send JSON bodies. Do not put the API key in the URL. - Post URL vs Channel URL. 1111 / 1114 need a post link (
t.me/name/123). 1112 / 1113 / 1115 / 1116 / 1118 need a channel link (t.me/name). - Last-post charge (1113 / 1115):
quantityis per post. Total units =quantity × posts. - Never blind-retry
addafter a timeout — you may double-charge. Retry onlystatus,balance, orservices. - Poll
statusevery 10–30 seconds until a final status. Cacheservicesfor a few minutes.
Authentication
Every request must include:
| Parameter | Description |
|---|---|
key | Your API key (POST body only) |
action | services | add | status | balance |
Service list
Parameters: key, action=services
| ID | Name | Rate / 1k | Min | Max | Link |
|---|---|---|---|---|---|
| 1111 | Telegram Views | $0.06 | 10 | 100000 | Post URL |
| 1112 | Telegram Auto Views | $0.06 | 1 | 100000 | Channel URL |
| 1113 | Telegram Views Last Post | $0.06 | 1 | 100000 | Channel URL |
| 1114 | Telegram Reactions | $0.60 | 10 | 100000 | Post URL |
| 1115 | Telegram Reactions Last Post | $0.60 | 10 | 100000 | Channel URL |
| 1116 | Telegram Auto Reactions | $0.60 | 10 | 1000 | Channel URL |
| 1118 | Telegram Members | $2.00 | 200 | 100000 | Channel / invite URL |
Charge: (units / 1000) × rate. For 1113 / 1115, units = quantity × posts.
refill / cancel API actions are not supported (fields may be false).
[
{
"service": 1111,
"name": "Telegram Views",
"type": "Default",
"category": "Telegram Views",
"rate": "0.06",
"min": "10",
"max": "100000",
"refill": false,
"cancel": false,
"link_type": "post",
"requires_posts": false,
"requires_reactions": false
}
]Add order
Success response:
{ "order": 23501 }Link rules
| Type | Valid | Invalid |
|---|---|---|
| Post (1111, 1114) | https://t.me/name/123 |
Channel-only URL, invite links |
| Channel (1112, 1113, 1115, 1116, 1118) | https://t.me/name |
Post URL with message id |
1111 — Telegram Views
| Parameter | Description |
|---|---|
service | 1111 |
link | Post URL |
quantity | 10–100000 |
speed | Optional. instant (default) |
minutes | Optional. Spread delivery over N minutes |
delay | Optional. Seconds between each unit |
curl -X POST https://teleboostpro.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1111" \
-d "link=https://t.me/channel/123" \
-d "quantity=1000"1112 — Telegram Auto Views
Applies views to new (future) posts on the channel until the order ends per panel rules.
| Parameter | Description |
|---|---|
service | 1112 |
link | Channel URL |
quantity | Views per new post (1–100000) |
curl -X POST https://teleboostpro.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1112" \
-d "link=https://t.me/channel" \
-d "quantity=500"1113 — Telegram Views Last Post
| Parameter | Description |
|---|---|
service | 1113 |
link | Channel URL |
quantity | Views per post (1–100000) |
posts | Number of last posts (≥ 1) |
curl -X POST https://teleboostpro.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1113" \
-d "link=https://t.me/channel" \
-d "quantity=100" \
-d "posts=5"1114 — Telegram Reactions
reactions must be a JSON object. Sum of emoji counts must equal quantity.
| Parameter | Description |
|---|---|
service | 1114 |
link | Post URL |
quantity | 10–100000 |
reactions | JSON object, e.g. {"👍":50,"🔥":50} |
speed / minutes / delay | Optional (same as 1111) |
curl -X POST https://teleboostpro.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1114" \
-d "link=https://t.me/channel/123" \
-d "quantity=100" \
--data-urlencode 'reactions={"👍":50,"🔥":50}'1115 — Telegram Reactions Last Post
Reactions map is applied to each selected last post. Charge uses quantity × posts.
| Parameter | Description |
|---|---|
service | 1115 |
link | Channel URL |
quantity | Reactions per post (10–100000) |
posts | Number of last posts (≥ 1) |
reactions | JSON object; sum must equal quantity |
curl -X POST https://teleboostpro.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1115" \
-d "link=https://t.me/channel" \
-d "quantity=100" \
-d "posts=3" \
--data-urlencode 'reactions={"👍":50,"🔥":50}'1116 — Telegram Auto Reactions
Applies to future posts. Max quantity is 1000.
curl -X POST https://teleboostpro.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1116" \
-d "link=https://t.me/channel" \
-d "quantity=100" \
--data-urlencode 'reactions={"👍":60,"❤️":40}'1118 — Telegram Members
| Parameter | Description |
|---|---|
service | 1118 |
link | Channel / group / invite URL |
quantity | 200–100000 |
Rate: $2.00 / 1k.
curl -X POST https://teleboostpro.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1118" \
-d "link=https://t.me/channel" \
-d "quantity=200"Order status
Single
Params: key, action=status, order
{
"charge": "0.06000",
"start_count": "0",
"status": "In progress",
"remains": "900",
"currency": "USD"
}Multiple
Params: orders = comma-separated IDs (up to 100).
Status glossary
| Status | Final? | Meaning |
|---|---|---|
| Pending | No | Queued, not started |
| In progress | No | Delivering |
| Completed | Yes | Fully delivered |
| Partial | Yes | Partially delivered |
| Canceled | Yes | Stopped / canceled |
| Refunded | Yes | Fully refunded |
| Error | Yes | Failed |
Stop polling on final statuses.
Balance
Params: key, action=balance
{
"balance": "100.84292",
"currency": "USD"
}Check balance before large orders. Top up via Add Funds on the website.
Examples
End-to-end flow
action=balance— ensure fundsaction=services— confirm id / min / max / rateaction=add— saveorderid- Loop
action=statusuntil a final status
cURL — balance
curl -X POST https://teleboostpro.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=balance"Python — add + poll
import time
import requests
API = "https://teleboostpro.com/api/v2"
KEY = "YOUR_API_KEY"
def post(**data):
data["key"] = KEY
r = requests.post(API, data=data, timeout=60)
r.raise_for_status()
return r.json()
bal = post(action="balance")
print("balance", bal)
created = post(
action="add",
service=1111,
link="https://t.me/channel/123",
quantity=1000,
)
if "error" in created:
raise SystemExit(created["error"])
oid = created["order"]
print("order", oid)
final = {"Completed", "Partial", "Canceled", "Refunded", "Error"}
while True:
st = post(action="status", order=oid)
print(st)
if st.get("status") in final:
break
time.sleep(15)PHP — add
$ch = curl_init("https://teleboostpro.com/api/v2");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
"key" => "YOUR_API_KEY",
"action" => "add",
"service" => 1111,
"link" => "https://t.me/channel/123",
"quantity" => 1000,
]);
echo curl_exec($ch);Errors
{ "error": "Human readable message" }| HTTP | error | When |
|---|---|---|
| 401 | Invalid API key | Missing / wrong / reset key |
| 400 | Parameter 'action' is required | No action |
| 400 | Incorrect action | Unknown action |
| 400 | JSON body is not supported. Send form fields. | Client sent JSON |
| 400 | Incorrect service ID | Unknown service |
| 400 | Incorrect link | Not a Telegram URL |
| 400 | Link must be a Telegram post URL | 1111/1114 got channel |
| 400 | Link must be a Telegram channel URL | Channel services got post |
| 400 | Parameter 'quantity' must be a whole number | Bad quantity |
| 400 | Minimum order quantity is {min} | Below min |
| 400 | Maximum order quantity is {max} | Above max |
| 400 | Parameter 'posts' is required | 1113/1115 missing posts |
| 400 | Parameter 'posts' must be a whole number | Bad posts |
| 400 | Parameter 'reactions' is mandatory for reaction services | 1114/1115/1116 |
| 400 | Invalid format for 'reactions' (must be valid JSON object) | Bad JSON |
| 400 | Reactions total must equal quantity | Sum mismatch |
| 400 | Not enough funds. Required: $…, Available: $… | Insufficient balance |
| 404 | Incorrect order ID | Unknown order |
| 400 | Parameter 'order' must be a whole number | Bad order id |
| 400 | Not supported | refill / cancel |
Best practices
- Keep the API key on your server only — never ship it in frontend apps.
- Cache
action=services(e.g. 5 minutes). - After
add, save theorderid immediately. - On network failure during
add, check balance / recent orders — do not resend the sameaddautomatically. - Poll
statusevery 15 seconds; backoff to 30s after 2 minutes. - Stop when status is Completed, Partial, Canceled, Refunded, or Error.
- For reaction orders, URL-encode emoji JSON in form posts.
- Top up wallet before placing API orders.