If you run a reselling business, an agency, or a growth tool, placing orders by hand does not scale. The SMM panel API lets your own website, Telegram bot or app send orders, check status, read your balance and pull the live service list automatically — no manual clicking required. This guide is a practical, developer-friendly walkthrough of the standard API v2 that most modern panels (including EthicalSMM) implement, complete with real request examples in cURL, PHP and Python.
We will cover authentication, the four core endpoints (services, add, status, balance), the extra actions for refills and multi-status, error handling, and a clean integration checklist. If you are still deciding which platform to build on, our overview of the best SMM panel in India and our how to choose an SMM panel guide will help you pick a stable, well-documented API before you write a line of code.
How the SMM Panel API v2 works
The v2 API is deliberately simple: a single HTTP POST endpoint that accepts form-encoded parameters and returns JSON. Every request carries your secret API key plus an action that tells the panel what to do. There are no complex OAuth flows — the API key is your credential, so keep it server-side and never expose it in front-end code.
Base URL and authentication
All calls go to one endpoint, typically https://ethicalsmm.in/api/v2. You will find your personal key on your account's API page after you create a free account. Every request must include:
key— your private API key (treat it like a password).action— one ofservices,add,status,balance,refill, and so on.- Additional parameters that depend on the action (for example
service,link,quantity).
The core endpoints at a glance
Four actions cover 90% of what any integration needs. Here is the map before we dive into examples.
| Action | Purpose | Key parameters | Returns |
|---|---|---|---|
services | List all services, prices, min/max | key, action | Array of service objects |
add | Place a new order | key, action, service, link, quantity | order ID |
status | Check one order's progress | key, action, order | charge, start count, status, remains |
balance | Read your wallet balance | key, action | balance, currency |
1. Fetch the service list
Start here. The services action returns every service you can sell, with its ID, category, rate (per 1,000), minimum and maximum. You will cache this locally and refresh it periodically so your storefront always shows accurate prices.
curl -X POST "https://ethicalsmm.in/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=services"
A typical response looks like this:
[
{
"service": 101,
"name": "Instagram Followers - Real & Non-Drop",
"type": "Default",
"category": "Instagram Followers",
"rate": "18.00",
"min": "100",
"max": "100000",
"refill": true,
"cancel": true
},
{
"service": 205,
"name": "YouTube Views - High Retention",
"type": "Default",
"category": "YouTube",
"rate": "40.00",
"min": "500",
"max": "1000000",
"refill": false,
"cancel": true
}
]
The rate is your wholesale price per 1,000 units. That is the number you mark up when reselling — the exact logic we break down in the reseller SMM panel guide.
2. Place an order with the add action
Once you know a service ID, placing an order is a single call. Send the service ID, the target link, and the quantity.
# PHP example using cURL
<?php
$post = [
'key' => 'YOUR_API_KEY',
'action' => 'add',
'service' => 101,
'link' => 'https://instagram.com/yourhandle',
'quantity' => 1000,
];
$ch = curl_init('https://ethicalsmm.in/api/v2');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
echo "Order ID: " . $data['order'];
?>
The panel replies with a new order ID that you store against your customer's order:
{ "order": 84421 }
Services that need extra parameters
Some service types accept additional fields. A drip-feed order uses runs and interval; a comments service uses comments (newline-separated); a poll service uses answer_number. Always read the service type from the services list so you know which parameters to send.
# Drip-feed order in Python (requests)
import requests
payload = {
"key": "YOUR_API_KEY",
"action": "add",
"service": 101,
"link": "https://instagram.com/yourhandle",
"quantity": 1000,
"runs": 10, # deliver in 10 batches
"interval": 60 # 60 minutes between batches
}
r = requests.post("https://ethicalsmm.in/api/v2", data=payload)
print(r.json())
Drip-feed is essential for natural-looking growth at scale — we cover the strategy in depth in our bulk social media services guide.
3. Check order status
After placing an order, poll the status action to track progress. It returns the charge, the starting count, the current status, and how many units remain.
curl -X POST "https://ethicalsmm.in/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=status" \
-d "order=84421"
{
"charge": "18.00",
"start_count": "5230",
"status": "In progress",
"remains": "620",
"currency": "INR"
}
Common status values are Pending, In progress, Completed, Partial, Processing and Canceled. For efficiency, you can check many orders at once by sending a comma-separated list of IDs with the orders parameter (a multi-status action), which keeps you well within rate limits.
4. Read your account balance
Before you place high-volume orders, confirm you have funds. The balance action is a one-liner.
curl -X POST "https://ethicalsmm.in/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=balance"
{ "balance": "1540.75", "currency": "INR" }
Because pricing is in ₹ (INR) and top-ups accept UPI, cards and crypto, keeping a working balance funded is effortless — a big reason resellers favour a cheap, well-stocked panel for their automation.
Refill and cancel actions
For services that support it, you can request a refill on a dropped order or cancel one that has not started. This lets you build a self-service guarantee into your own storefront.
# Request a refill
curl -X POST "https://ethicalsmm.in/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=refill" \
-d "order=84421"
Step-by-step: integrating the API into your site
Here is the clean path from zero to a live, automated storefront.
- Get your key. Register, fund a small test balance, and copy the API key from your dashboard.
- Sync the service list. Call
serviceson a schedule (for example hourly via cron) and store the results in your database. - Apply your markup. Add your reseller margin on top of each
ratebefore displaying prices to customers. - Wire the checkout. When a customer pays, your backend calls
add, stores the returnedorderID, and links it to the customer. - Poll for status. Run a background job that calls the multi-status endpoint and updates each order's progress.
- Handle edge cases. Catch
errorresponses, validate minimum and maximum quantities, and confirm the balance before ordering. - Go live. Test end to end with a real low-cost order, then open your storefront.
Error handling and best practices
A robust integration expects failure. When something is wrong, the API returns an error object instead of the usual payload:
{ "error": "Neworder quantity is not valid" }
- Always check for an
errorkey before assuming success. - Validate quantity against the service
minandmaxbefore callingadd. - Store the returned order ID immediately so a payment can never be lost even if a later step fails.
- Respect rate limits by batching status checks with the multi-status action.
- Cache the service list rather than calling
serviceson every page load.
Pros and cons of building on an SMM API
| Pros | Cons |
|---|---|
| Fully automated, hands-free fulfilment | Requires basic backend development |
| Scales to thousands of orders a day | You must handle errors and edge cases yourself |
| Instant delivery keeps customers happy | API key security is your responsibility |
| Same JSON format across most panels — portable code | Service IDs differ per panel, so mappings need maintenance |
Once your automation is live, the same code powers growth across every network — Instagram, YouTube, TikTok and more. If you want to understand the bigger picture of what these platforms enable, read our overview of the social media marketing panel, then browse live prices on our services page.
Frequently Asked Questions
What is an SMM panel API?
It is an interface that lets your own software place and manage social media orders programmatically. Instead of clicking through a dashboard, your website or bot sends HTTP requests to add orders, check status, read your balance and pull the service list automatically.
Is the SMM Panel API v2 the same on every panel?
The core structure — a single POST endpoint, an API key, and actions like add, status, balance and services — is standardised across most modern panels, so code is largely portable. Service IDs and a few optional parameters differ per panel, so you maintain a mapping for each provider.
Which programming language should I use?
Any language that can send an HTTP POST works: PHP, Python, Node.js, Java, Go and more. The API returns simple JSON, so you only need an HTTP client and a JSON parser, both of which every modern language provides.
How do I keep my API key secure?
Store it server-side only and never expose it in browser code or a mobile app. Proxy all calls through your own backend, and regenerate the key immediately from your dashboard if you suspect it has leaked.
Can I place bulk and drip-feed orders through the API?
Yes. The add action accepts large quantities for mass orders, and drip-feed services accept runs and interval parameters to spread delivery over time for a more natural growth pattern.
What happens if an order fails?
The API returns an object with an error key describing the problem, such as an invalid quantity or insufficient balance. Your integration should check for that key before treating a request as successful and surface a clear message to the customer.
Conclusion: automate your growth with the API
The SMM panel API turns a manual side hustle into a real, scalable business. With just four endpoints — services, add, status and balance — you can build a storefront that sells and fulfils orders around the clock. EthicalSMM ships a full v2 API, instant automatic delivery, cheapest-provider routing, refill support and 24/7 help, so your integration stays fast, cheap and reliable as you grow. Grab your key and start building today.