ActionSeen

ActionSeen API

Order Telegram post views, poll votes / likes and reactions from your own panel or code. Two APIs share one key and one balance: the standard API v2 for SMM panels, and a simple classic API. Responses are always JSON.

Get your free API key

Getting started

  1. Log in to the web panel and open API — or, in @ActionSeenENG_bot, tap 🔌 API. New here? Press Start in the bot first; that creates your account.
  2. Activate the API — it is free and instant. Your key is shown right away.
  3. Top up your API balance with crypto (USDT, TRX, BTC, ETH and more). Coins are added after network confirmation.
  4. Open @AS_APIBOT and press Start once — order messages come from it.

The API balance is separate from your bot coins. Top-ups from 500,000 coins ($2.50) to 300,000,000 coins ($500.01) per invoice.

Prices

Your balance is in API coins: 1 view = 1 coin, 1 reaction or vote = 30 coins. The bigger the top-up, the cheaper every coin — the rate is set by the size of that top-up.

Top-up sizePer 1,000 API coins= 1,000 views= 1,000 reactions / votes
under 1,000,000 coins$0.005 $0.005 $0.15
1,000,000 – 4,999,999 coins$0.003 $0.003 $0.09
5,000,000 – 9,999,999 coins$0.002 $0.002 $0.06
10,000,000+ coins$0.00167 $0.00167 $0.05

API v2 for SMM panels recommended for panels

If you run an SMM panel (Perfect Panel, SmartPanel and similar scripts), use API v2. It is the standard provider format these panels already speak, so there is nothing to code: add ActionSeen as a provider with the URL https://actionseen.com/api/v2 and your API key, and your panel imports our services and prices by itself.

✅ Plug-and-play
Standard actions (services, add, status, cancel, balance), numeric order IDs, errors always with HTTP 200 — exactly what panel scripts expect.
💵 Prices in USD
Services, balance and charges are shown in US dollars, so your panel can apply its own markup directly.
🔢 One service per option
Each view package, the poll / button vote service and every one of the 73 reaction emojis is its own service ID — your customers simply pick it.
🔁 Same balance, same key
v2 and the classic API share one key and one balance. You can use both at the same time.

How charges work

Your API wallet always holds coins. API v2 converts them to dollars with your own average purchase price — what you actually paid per 1,000 coins across your crypto top-ups:

Your average (per 1,000 coins)1,000 views1,000 reactions / votesViews, last 100 posts (per 1,000 per post)
$0.005$0.005 $0.15$0.50
$0.003$0.003 $0.09$0.30
$0.002$0.002 $0.06$0.20
$0.00167$0.00167 $0.05$0.16667

Example: if all your top-ups were 10,000,000+ coins ($0.00167 per 1,000 coins), your panel sees $0.05 per 1,000 reactions and 100,000,000 coins as $166.67 of balance. Accounts without a crypto top-up use the base rate ($0.005).

Which API should I use?

API v2Classic API
Best forSMM panel scriptsYour own code / bots
CurrencyUSD (your average price)API coins
Order IDNumeric (1234)Text (AV12ab34cd)
Choose what to orderservice numberaction + text / row
ErrorsHTTP 200 + {"error": …}HTTP status + {"error": …}
API v2 — full reference SMM panels Endpoint, all services, every action with a request and a response ⌄

Endpoint

https://actionseen.com/api/v2

Send POST form fields (what panels do). GET query strings and a JSON body are accepted too. Every request needs key (your API key) and action. Errors always come with HTTP 200 and {"error": "…"}.

Services

IDNameTypelinkMin – Max
1Telegram Post ViewsDefault post link 10 – 500,000
2Telegram Views - Last 10 Posts (quantity = views per post)Default post link, or public channel link 10 – 500,000
3Telegram Views - Last 20 Posts (quantity = views per post)Default post link, or public channel link 10 – 500,000
4Telegram Views - Last 50 Posts (quantity = views per post)Default post link, or public channel link 10 – 500,000
5Telegram Views - Last 100 Posts (quantity = views per post)Default post link, or public channel link 10 – 500,000
6Telegram Poll Votes / Button LikesPoll post link 1 – 500,000
7Telegram Views - Last 200 Posts (quantity = views per post)Default post link, or public channel link 10 – 500,000
8Telegram Views - Last 500 Posts (quantity = views per post)Default post link, or public channel link 10 – 500,000
9Telegram Views - Last 1000 Posts (quantity = views per post)Default post link, or public channel link 10 – 500,000
10Telegram Mixed Positive Reactions [ 👍❤️🔥🥰👏🎉🤩😍⚡️😎😘🕊 ]Default post link 10 – 500,000
11Telegram Mixed Negative Reactions [ 👎💩🤮😢😱🤬💔😐😭😡 ]Default post link 10 – 500,000
100–172 Telegram Post Reactions — one service per emojiDefaultpost link 1 – 500,000

Reaction service IDs (they never change):

100 👍 101 👎 102 ❤️ 103 🔥 104 🥰 105 👏 106 😁 107 🤔 108 🤯 109 😱 110 🤬 111 😢 112 🎉 113 🤩 114 🤮 115 💩 116 🙏 117 👌 118 🕊 119 🤡 120 🥱 121 🥴 122 😍 123 🐳 124 ❤️‍🔥 125 🌚 126 🌭 127 💯 128 🤣 129 ⚡️ 130 🍌 131 🏆 132 💔 133 🤨 134 😐 135 🍓 136 🍾 137 💋 138 🖕 139 😈 140 😴 141 😭 142 🤓 143 👻 144 👨‍💻 145 👀 146 🎃 147 🙈 148 😇 149 😨 150 🤝 151 ✍️ 152 🤗 153 🫡 154 🎅 155 🎄 156 ☃️ 157 💅 158 🤪 159 🗿 160 🆒 161 💘 162 🙉 163 🦄 164 😘 165 💊 166 🙊 167 😎 168 👾 169 🤷‍♂️ 170 🤷 171 🤷‍♀️ 172 😡

Mixed reactions (10 positive, 11 negative): one order is spread randomly and unevenly over several emojis from the set in the service name (more emojis for bigger orders, up to 8), e.g. 1,000 → 312 ❤️, 240 👍, 198 🔥, 150 🎉, 100 🥰. Same price per reaction as single-emoji services. If the channel does not allow one of the emojis, that part is refunded and the order ends as Partial.

Latest-posts services (2, 3, 4, 5, 7, 8, 9): quantity is the number of views per post, and the cost is multiplied by the number of posts. The link can be a post (we count back from it, the post included) or a public channel (we start from its latest post). If the channel has fewer posts, the order runs on all available posts and you are charged only for those.

services — list services and your prices

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=services
Response
[
  {"service": 1, "name": "Telegram Post Views", "type": "Default", "category": "Telegram Views",
   "rate": "0.00167", "min": "10", "max": "500000", "refill": false, "cancel": true},
  {"service": 103, "name": "Telegram Post Reactions 🔥", "type": "Default", "category": "Telegram Reactions",
   "rate": "0.05000", "min": "1", "max": "500000", "refill": false, "cancel": true},
  …
]

rate is the price per 1,000 in USD with your own average (here: $0.00167 per 1,000 coins).

add — place an order

ParameterDescription
serviceService ID from the list above
linkTelegram post link (latest-posts services: post or public channel link)
quantityHow many — views per post for latest-posts services
runsOptional, views services only — drip-feed: split the order into this many batches
intervalOptional, with runs — minutes between batches
answer_numberService 6 only — the option to vote for, starting at 1 (for button posts: the row)
columnOptional, service 6 — button column for button posts, starting at 1 (default 1)

Post views

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=add&service=1&link=https://t.me/channel/123&quantity=1000
Response
{"order": 1234}

Views on the latest 100 posts of a channel — 100,000 views in total

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=add&service=5&link=https://t.me/channel&quantity=1000
Response
{"order": 1235}

Drip-feed — 1,000 views in 4 batches, one every 30 minutes

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=add&service=1&link=https://t.me/channel/123&quantity=1000&runs=4&interval=30
Response
{"order": 1236}

Reaction — 🔥 is service 103

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=add&service=103&link=https://t.me/channel/123&quantity=500
Response
{"order": 1237}

Poll vote — the second option of the poll

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=add&service=6&link=https://t.me/channel/123&quantity=200&answer_number=2
Response
{"order": 1238}

An error — always HTTP 200

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=add&service=1&link=https://t.me/channel/123&quantity=5
Response
{"error": "Quantity must be between 10 and 500000"}

status — one order

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=status&order=1234
Response
{
  "charge": "0.00167",
  "start_count": "1520",
  "status": "In progress",
  "remains": "0",
  "currency": "USD"
}

status — several orders (up to 100)

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=status&orders=1234,1237,9999
Response
{
  "1234": {"charge": "0.00167", "start_count": "1520", "status": "Completed", "remains": "0", "currency": "USD"},
  "1237": {"charge": "0.02000", "start_count": "0", "status": "Partial", "remains": "100", "currency": "USD"},
  "9999": {"error": "Incorrect order ID"}
}
statusMeaning
PendingAccepted, about to start
In progressRunning (latest-posts orders stay here until every post is finished)
CompletedFully delivered
PartialStopped part-way; the undelivered part (remains) was refunded
CanceledCanceled and fully refunded

cancel

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=cancel&orders=1236,9999
Response
[
  {"order": 1236, "cancel": 1},
  {"order": 9999, "cancel": {"error": "Incorrect order ID"}}
]

A canceled order is refunded automatically; a running one is stopped and the undelivered part is refunded shortly after. Refill is not offered (refill returns an error).

balance

Request
POST https://actionseen.com/api/v2
key=API_KEY&action=balance
Response
{"balance": "166.67000", "currency": "USD"}

Errors

errorMeaning
Incorrect requestkey or action is missing, or the action is unknown
Invalid API keyWrong or disabled key
Incorrect service IDNo service with this ID
Incorrect linklink is empty
Quantity must be between …Outside the service's min / max
answer_number is required (starts at 1)Service 6 without an option
Not enough balanceTop up your API balance
Incorrect order IDNo order with this ID for your key
Too many requests, retry in NsMore than 600 new orders, or 3,000 other requests, per minute
Classic API — full reference GET Simple GET requests in API coins — for your own code and bots ⌄

Base URL

Both forms work. The first has no question mark (the format older clients use); the second is the standard one:

https://actionseen.com/api/key=API_KEY&action=balance
https://actionseen.com/api/?key=API_KEY&action=balance

Services

ServiceCostMinMax
view1 coin per view 10500,000
like30 coins per vote 1500,000
reaction30 coins per reaction 1500,000

List services

The only request that needs no key.

Request
https://actionseen.com/api/action=services
Response
[
  {"service": "view", "name": "Telegram Views", "rate": 1, "currency": "Coin", "min": 10, "max": 500000, "status": "active"},
  {"service": "like", "name": "Telegram Likes / Poll votes", "rate": 30, "currency": "Coin", …},
  {"service": "reaction", "name": "Telegram Reactions", "rate": 30, "currency": "Coin", …}
]

Order views

ParameterDescription
keyYour API key
actionview
linkTelegram post link — raw, not URL-encoded
quantityViews per post
lastxpostOptional. Runs the order on this many latest posts of the channel, counting back from the link (the link included). 1–100: any number (e.g. 52, 87); above 100: multiples of 100 only, up to 1,000 (200, 300 … 1,000). The cost is multiplied by this number.
startdelayOptional, 0–1440 minutes — start after this delay (default 0)
intervalOptional, 1–1440 minutes — send one batch every N minutes (default 1)
vpiOptional, 10–500,000 — views per batch (default: the whole order)

Send none of startdelay, interval, vpi for maximum speed. If you send only some of them, the rest take their defaults — no error. For example, only startdelay=30 starts the order in 30 minutes and then runs at full speed.

Request
https://actionseen.com/api/key=API_KEY&action=view&link=https://t.me/channel/123&quantity=1000
Response
{
  "order": "AV12ab34cd",
  "link": "https://t.me/channel/123",
  "quantity": 1000,
  "charge": 1000,
  "currency": "Coin",
  "status": "In progress"
}

Channel link with lastxpost: when you send lastxpost, link can also be a public channel link without a post number, e.g. https://t.me/channel. We find the channel's latest post and order views for the latest lastxpost posts from there. Without lastxpost, a post link is still required. If the latest post cannot be read (private channel, a group instead of a channel, wrong name), the order is rejected with 422 and nothing is charged.

Request
https://actionseen.com/api/key=API_KEY&action=view&link=https://t.me/channel&quantity=2000&lastxpost=10
Response
{
  "order": "Z65Xrhpi",
  "link": "https://t.me/channel/4821",
  "quantity": 2000,
  "charge": 20000,
  "currency": "Coin",
  "status": "Pending",
  "lastxpost": 10,
  "requested_lastxpost": 10
}

More than 100 posts: use a multiple of 100 up to 1,000, e.g. lastxpost=500. You still get one order code; its status covers all posts and orders lists the code of every post. Other values above 100 (such as 150) are rejected. If the channel has fewer posts than requested, the order runs on all available posts and you are charged only for those: the response shows the real number in lastxpost next to requested_lastxpost.

Request
https://actionseen.com/api/key=API_KEY&action=view&link=https://t.me/channel&quantity=1000&lastxpost=500
Response
{
  "order": "Kq81LmZt",
  "link": "https://t.me/channel/146",
  "quantity": 1000,
  "charge": 146000,
  "currency": "Coin",
  "status": "Pending",
  "lastxpost": 146,
  "requested_lastxpost": 500
}

Order reactions

ParameterDescription
keyYour API key
actionreaction
linkTelegram post link
quantityNumber of reactions
textThe emoji itself, e.g. 👍 — one of the 73 allowed emojis below
speedOptional, one of 1, 2, 5, 15, 30 — 1 means maximum speed, otherwise “one every N minutes” (default 1)

👍 👎 ❤️ 🔥 🥰 👏 😁 🤔 🤯 😱 🤬 😢 🎉 🤩 🤮 💩 🙏 👌 🕊 🤡 🥱 🥴 😍 🐳 ❤️‍🔥 🌚 🌭 💯 🤣 ⚡️ 🍌 🏆 💔 🤨 😐 🍓 🍾 💋 🖕 😈 😴 😭 🤓 👻 👨‍💻 👀 🎃 🙈 😇 😨 🤝 ✍️ 🤗 🫡 🎅 🎄 ☃️ 💅 🤪 🗿 🆒 💘 🙉 🦄 😘 💊 🙊 😎 👾 🤷‍♂️ 🤷 🤷‍♀️ 😡

⚠️ Percent-encode the emoji (%F0%9F%94%A5 for 🔥). It is the only parameter that needs encoding; everything else — especially link — must stay raw. Any other emoji is rejected with 422.

Request
https://actionseen.com/api/key=API_KEY&action=reaction&link=https://t.me/channel/123&quantity=50&text=%F0%9F%94%A5&speed=1
Response
{
  "order": "Rt4Qp9Ws",
  "link": "https://t.me/channel/123",
  "quantity": 50,
  "charge": 1500,
  "currency": "Coin",
  "status": "In progress"
}

Order poll votes / likes

ParameterDescription
keyYour API key
actionlike
linkTelegram post link
quantityNumber of votes
rowButton row (or poll option) — starts at 1
columnButton column — starts at 1 (use 1 for polls)
speedSame as reactions

Rows and columns are counted from 1, not 0. Posts of private channels (t.me/c/…) are not supported for votes.

Request
https://actionseen.com/api/key=API_KEY&action=like&link=https://t.me/channel/123&quantity=25&row=1&column=2&speed=1
Response
{
  "order": "Lk7Vn2Bq",
  "link": "https://t.me/channel/123",
  "quantity": 25,
  "charge": 750,
  "currency": "Coin",
  "status": "In progress"
}

Order status

Use the same action as the order, with order instead of link and quantity. remains is how many coins were refunded for the undelivered part.

Request
https://actionseen.com/api/key=API_KEY&action=view&order=AV12ab34cd
Response
{
  "order": "AV12ab34cd",
  "link": "https://t.me/channel/123",
  "quantity": 1000,
  "charge": 750,
  "remains": 250,
  "currency": "Coin",
  "status": "Partial"
}

Status is one of pending, In progress, Done, Canceled, Partial. Orders with lastxpost are split into one order per post within about a minute; the status then also has orders — the order ID of every post — and stays In progress until all posts are finished. Each post order can be queried or canceled on its own.

Request
https://actionseen.com/api/key=API_KEY&action=view&order=Z65Xrhpi
Response
{"order": "Z65Xrhpi", "quantity": 2000, "charge": 20000, "remains": 0, "currency": "Coin",
 "status": "In progress", "orders": "mgYgmyuy, 6iZbQ7cO, JbeCHWdw, …"}

Cancel an order

Request
https://actionseen.com/api/key=API_KEY&action=cancel&order=AV12ab34cd
Response
{"cancel request": "Sent"}

An order that has not started is canceled at once and refunded immediately; a running order is stopped and the undelivered part is refunded shortly after.

Balance

Request
https://actionseen.com/api/key=API_KEY&action=balance
Response
{"balance": 1250000, "used": 480000, "currency": "Coin"}

Errors

Every error comes with a matching HTTP status and this shape:

Request
https://actionseen.com/api/key=WRONG_KEY&action=balance
Response
{"error": "Invalid API key"}
HTTPMeaning
400A parameter is missing or invalid
401Key missing or invalid
404No order with this ID for your key
422Order rejected — the message says why (balance, link, range)
429Too many requests: more than 600 new orders, or more than 3,000 status / balance / cancel requests, per minute (two separate limits)
MessageMeaning
No API key specifiedkey is missing
Invalid API keyWrong or disabled key, or the account is banned
No action specifiedaction is missing
Invalid actionUnknown action
Not enough balanceYour API balance is too low — top up in the web panel or the bot
Invalid post link…The post link is not valid
View count out of rangeViews outside the allowed range
Quantity out of rangeVotes outside the allowed range
Reaction count out of rangeReactions outside the allowed range
Invalid reaction emojiEmoji not in the allowed list
Invalid speed valueSpeed is not one of the allowed values
Invalid row/column…Wrong button position (counted from 1)
Poll votes need a post in a public channelt.me/c/… links are not supported for votes
Incorrect orderNo order with this ID for you
Already cancelledThe order was already canceled
Not possibleThe order can no longer be canceled
Too many requestsRate limit — wait a little
Open the API page in your panel