Skip to content
seedingthucong.com
Show money in

USD is for display only — you always pay in coin.

Create account

API docs

Your API key

Sign in to create your API key, see the calls your script made and choose the API currency.

Sign in Create account

Quick start

Standard SMM API v2 — scripts written for other panels usually work here after changing the address and key.

  1. Send a request

    POST https://korea.seedingthucong.com/api/v2

    The body can be a form (application/x-www-form-urlencoded) or JSON. Use POST with key and action in the body. GET also works, but GET puts your key into server logs. A key in the query string of a POST is treated as a wrong key.

  2. Read the result

    HTTP 200 with an error field for every API error; only transport errors (404, 405, 413) keep their HTTP code. No error field means success. Amounts and quantities come back as strings (e.g. "11900") — convert them before calculating.

  3. Currency and limits

    Amounts come back in VND unless the key is switched to USD after signing in. The coin/USD button at the top of the page only changes how the website shows money; it never affects the API. At most 300 requests a minute per API key.

  4. Retry without duplicate orders

    Every add call is a new order and a new charge. Send a unique ref_id with every order. If add times out or the network fails, wait longer than the maximum processing time of 60 seconds, then call status with that ref_id — only send add again if no order exists. Never retry after receiving {"order": …} or a business error.

More connection rules

  • status: at most 100 IDs per call, once a minute is enough. Statuses update every 2–30 minutes. Only ask for orders that are not final yet.
  • orders=",,," (only commas) returns [] for cancel and {} for status.
  • cancel answers per order; cancel can also answer Internal error for one order (safe to call again).
  • updates: without since_id, newest first. With since_id, items come oldest first, up to 100; an item shows up about 10 seconds after it is created.
  • Showing a hidden item again, or changing your own price or tier, is not sent again to a script that already passed that item.
  • JSON without a Content-Type header: at most 64 KB, nesting depth 8.

Actions

Pick an action to see its parameters, sample code and response.

action=servicesServer list

All servers you can use, with your own price per 1,000 units. Call once at start-up and keep it; no need before every order.

Parameters
NameRequiredValue typeMeaningExample
keyYesstringYour API keysk_live_…
actionYesstringAlways servicesservices

                

Shows sk_live_… — sign in and create your API key to get your own.

Response

                    
What each field means
service
Server ID used when ordering. It never changes and is never reused.
name
Server name, in your server name language
category
Group as "Platform - Group"
type
"Default" = link + quantity. "Custom Comments" / "Mentions Custom List" = send the list in comments (or usernames), one item per line; the quantity is the number of non-empty lines
rate
Your price per 1,000 units in your API currency. Order amount = rate × quantity ÷ 1000.
min · max
Smallest / largest quantity per order
cancel
true = can be cancelled with the cancel action
refund
true = the part not delivered is refunded; false = a "no cancel, no refund" server: once started, the order ends as Completed with no refund
refill · dripfeed
Always false — not supported
country
2-letter country code of the audience (vn, th, us…), global = worldwide

action=addPlace order

Creates a new order and charges your balance at once. Every call is a new order — the server does not block duplicates, so always send a ref_id.

Timeout or network error: do not resend straight away. Wait longer than the maximum processing time of 60 seconds, then call status with that order ref_id — only send again if no order exists.
Parameters
NameRequiredValue typeMeaningExample
keyYesstringYour API keysk_live_…
actionYesstringAlways addadd
serviceYesintegerServer ID from services1021
linkYesstring (URL)The link to grow, matching the server platformhttps://www.facebook.com/abc
quantityYesintegerQuantity, within the server min–max. Not needed for Custom Comments servers — ignored there1000
commentsNostringCustom Comments servers only: one comment per line. Quantity = number of non-empty lines (blank lines are not counted, repeated lines are kept and charged). usernames is accepted tooNice!\nLove it
ref_idNostring ≤ 64 charactersYour own order code — send it to find the order again after a network errororder-2291

                

Shows sk_live_… — sign in and create your API key to get your own.

Response

                    
What each field means
order
Our order ID — keep it to ask status or cancel

action=statusOrder status

Send exactly one of: order (one order), orders (several) or ref_id (find by your code). Only ask for orders that are not final yet.

Parameters
NameRequiredValue typeMeaningExample
keyYesstringYour API keysk_live_…
actionYesstringAlways statusstatus
orderOne ofintegerOne order ID → one object100245
ordersOne ofstringUp to 100 IDs separated by commas → an object keyed by order ID100245,100246
ref_idOne ofstringThe ref_id you sent → your orders with it (up to 100 newest; none → {})order-2291

                

Shows sk_live_… — sign in and create your API key to get your own.

Response

                    
Response with order (one order)
What each field means
(key)
With orders / ref_id: the key is the order ID as a string. A wrong ID gets its own error and does not break the call.
charge
Amount charged, in your API currency
start_count
Starting count when the order started; 0 until known
status
One of the 5 statuses in the table below
remains
Quantity not delivered yet
currency
Currency of charge
ref_id
The ref_id you sent; null if none

action=cancelCancel orders

Requests cancellation of one or more orders. The answer is per order; one failing does not affect the others.

Parameters
NameRequiredValue typeMeaningExample
keyYesstringYour API keysk_live_…
actionYesstringAlways cancelcancel
orderOne ofintegerOne order ID100245
ordersOne ofstringUp to 100 IDs separated by commas100245,100246

                

Shows sk_live_… — sign in and create your API key to get your own.

Response

                    
What each field means
order
Order ID
cancel
1 = request received. The part not delivered is refunded once the order stops — follow it with status (Canceled or Partial).
cancel.error
This order cannot be cancelled — see the error table

action=balanceBalance

Your current balance in your API currency.

Parameters
NameRequiredValue typeMeaningExample
keyYesstringYour API keysk_live_…
actionYesstringAlways balancebalance

                

Shows sk_live_… — sign in and create your API key to get your own.

Response

                    
What each field means
balance
Current balance
currency
Your API currency

action=updatesServer updates

Specific to this panel (not in the standard SMM API v2): changes to servers you can use — new server, price change, maintenance, discontinued, min/max change, announcements.

Parameters
NameRequiredValue typeMeaningExample
keyYesstringYour API keysk_live_…
actionYesstringAlways updatesupdates
since_idNointegerOnly items with a larger id — send the largest id you received last time5119

                

Shows sk_live_… — sign in and create your API key to get your own.

Response

                    
What each field means
id
Item ID, increasing — store the largest and send it as since_id
type
One of: new · price_up · price_down · maintenance · resumed · discontinued · limits_changed · announcement
service
Related server ID; null for announcements
title · body
Title and text, in your server name language
old · new
Price items: price per 1,000 units before → after, in your API currency, always as strings. limits_changed: {"min", "max"}, always as strings; other types: null.
created_at
Time, ISO 8601 Vietnam time (+07:00)

Order statuses

Values of the status field. The first two are in progress; the last three are final — they never change, stop asking about that order.

PendingReceived, waiting to start.keep asking
In progressRunning — remains is what is still left.keep asking
CompletedDelivered in full, remains = 0.final
PartialUnder-delivered; the part not delivered (remains) has been refunded to your balance.final
CanceledCancelled; the part not delivered has been refunded (cancelled before starting = full refund).final

Error codes and what to do

The error text is always English and fixed — your script can compare strings.

errorMeaningWhat to do
Invalid API keyThe key is wrong or was replaced by a new one.Copy the key again on this page. More than 20 wrong keys a minute from one IP are refused for up to a minute.
Account disabledYour account is locked.Contact support; do not retry.
API disabledAPI access is turned off for your account.Contact support to turn it on.
Email not verifiedYour email address is not verified yet.Verify your email on the website, then call again.
Too many requestsMore than 300 requests a minute on your key, or too many wrong keys from your IP.Wait a few seconds; ask status for many IDs in one call.
MaintenanceThe system is under maintenance (if only add returns it: new orders are paused).Retry in a few minutes.
Action not supportedThis action is not supported (e.g. refill).Use only the actions on this page.
Drip-feed not supportedruns / interval were sent — drip-feed is not supported.Remove runs and interval.
Incorrect order IDNo such order, or it is not yours.Check the order ID.
Incorrect ref_idref_id is not text or is longer than 64 characters.Send text of at most 64 characters.
Incorrect since_idsince_id is not a whole number of 0 or more.Send the largest id you received, or leave it out.
Internal errorAn unexpected error on our side.Safe to retry the same call after a moment; for add, wait longer than the maximum processing time of 60 seconds and check status by ref_id before sending it again.
Method not allowedOnly GET and POST are accepted; this answer comes with HTTP 405.Use POST.
Request too largeThe request body is too large; this answer comes with HTTP 413.Send fewer IDs or a shorter link.
Not foundWrong address under /api/v2; this answer comes with HTTP 404.Call exactly https://korea.seedingthucong.com/api/v2.
Timed out, order not placedadd could not finish in time (at most 60 seconds); no order was placed and nothing was charged — this is our side, not your request.Not a business error: send add again at once — the same ref_id is fine.
Missing parameter: XParameter X is missing.Add X to the request body.
Too many order IDs (max 100)More than 100 order IDs in one call.Split into several calls of at most 100 IDs.
Incorrect service IDNo such server, or you cannot use it.Call services to get the IDs again.
Service not activeThe server is no longer sold.Choose another server (see the updates action).
Service under maintenanceThe server is under maintenance.Retry later or choose another server.
Service temporarily unavailableThe server is temporarily not taking orders.Retry in a few minutes.
Incorrect quantityquantity is not a positive whole number.Send a whole number, e.g. 1000.
Quantity less than minimal XQuantity is below the minimum.Raise the quantity to at least X.
Quantity more than maximal XQuantity is above the maximum.Lower the quantity or split the order.
Incorrect linkThe link is malformed or not for this server platform.Check the link and the platform.
Not enough funds on balanceNot enough balance.Top up, then order again.
Order amount is below minimumThe order amount is below the minimum.Raise the quantity.
You have active order with this link. Please wait until order being completed.This server does not allow two running orders for the same link.Wait for the earlier order to finish.
Incorrect commentsA “Custom Comments” server got no usable lines in comments / usernames (empty, only blank lines, not text).Send the list as text, one item per line.
Too many commentscomments / usernames is too large to process (over 900 KB once encoded — Vietnamese and emoji count about 3 times).Split the list into several orders.
Line N is longer than X charactersLine N of comments / usernames is longer than this server allows (X characters).Shorten that line, then send again.
Order can't be canceledThe server does not allow cancelling, or the order has finished.Do not retry.
Cancel already requestedA cancel request was already sent.Wait and follow it with status.