Instagram SMM Panel API Integration India: Complete Guide for Resellers (2026)

If you are manually logging into a panel dashboard to place orders for each client, you are spending time that the API can save. The TrueSMMPanel API allows you to place orders, check status, and manage your balance programmatically — from any system, script, or dashboard you build.


This guide covers how the API works, the core endpoints you will use daily as an Indian reseller, working code examples in Python and PHP, how to handle the errors that come up in Indian development environments, and how to build a simple automated workflow for managing multiple client accounts.


This guide assumes basic programming knowledge (you have written code before, but you are not an experienced API developer). If you are not a developer at all, skip to the "Non-Developer Alternatives" section at the end.




What the SMM Panel API Actually Does

The API (Application Programming Interface) is a standardized way for your code to talk to TrueSMMPanel's systems without using the web dashboard.

Instead of:

  1. Open browser → Log in → Find service → Enter Instagram URL → Enter quantity → Pay → Check delivery

You write code that does:

  1. Send HTTP request to API endpoint → Get response in JSON format → Done

Once the code is written, one line runs all client orders. No login, no manual navigation, no human error.

What the TrueSMMPanel API lets you do:

  • Get your current account balance in rupees
  • List all available services and their current prices
  • Place a new order for any service
  • Check the status and delivery progress of any order
  • Get the order history for your account

What the API does NOT let you do:

  • Add funds (still done manually via UPI/dashboard for security)
  • Change account settings
  • Access client Instagram accounts (the API only communicates with TrueSMMPanel systems)




The Two API Integration Approaches

Approach 1: Direct API ordering from TrueSMMPanel (most common for Indian resellers)You write scripts or connect existing tools directly to TrueSMMPanel's API. Your script places orders for client accounts. No separate panel software needed.

This is the approach covered in detail in this guide.

Approach 2: Child panel with API backend (for running your own branded panel)You install SMM panel software (Perfect Panel, WHMCS with SMM plugin, etc.) and connect it to TrueSMMPanel's API as the backend provider. Your clients interact with your branded frontend; orders route automatically to TrueSMMPanel.

Approach 2 requires panel software installation and is covered in our reseller business guide. This guide focuses on Approach 1.




Getting Your API Key

Before writing any code, you need your API key from TrueSMMPanel.

  1. Log into your TrueSMMPanel account
  2. Navigate to API → API Information (or check your account settings for "API Key")
  3. Copy your API key — this is a unique string that authenticates all your API requests

Security note: Your API key is equivalent to your account password for API purposes. Do not share it, do not commit it to public GitHub repositories, and do not put it directly in frontend code that users can view. Store it as an environment variable or in a private configuration file.




Core API Endpoints

The TrueSMMPanel API uses HTTP POST requests to a single endpoint URL. The action parameter in each request determines what the call does.

Base URL: https://truesmmpanel.com/api/v2

All requests send these minimum parameters:

  • key — Your API key
  • action — What you want to do


Endpoint 1: Check Your Balance
POST https://truesmmpanel.com/api/v2
Parameters: key=YOUR_API_KEY&action=balance

Response:

json

{
 "balance": "2847.50",
 "currency": "INR"
}

Use this before placing large orders to ensure sufficient balance.


Endpoint 2: List Available Services
POST https://truesmmpanel.com/api/v2
Parameters: key=YOUR_API_KEY&action=services

Response (excerpt):

json

[
 {
   "service": 1,
   "name": "Instagram Followers - Indian Targeted",
   "type": "Default",
   "rate": "0.25",
   "min": "100",
   "max": "50000",
   "category": "Instagram"
 },
 {
   "service": 45,
   "name": "Instagram Reels Views - Indian",
   "type": "Default",
   "rate": "0.06",
   "min": "100",
   "max": "100000",
   "category": "Instagram"
 }
]

The service number is what you use in order placement. The rate is per 1,000 units in rupees. Call this endpoint once and cache the service list — you do not need to call it before every order.


Endpoint 3: Place an Order
POST https://truesmmpanel.com/api/v2
Parameters: key=YOUR_API_KEY&action=add&service=1&link=https://instagram.com/clientaccount&quantity=500

Parameters for order placement:

  • service — Service number from the services list
  • link — The Instagram profile URL (for followers) or post URL (for likes/views)
  • quantity — Number of units to order

Response:

json

{
 "order": 87463
}

Save the order number — you will use it to track delivery status.


Endpoint 4: Check Order Status
POST https://truesmmpanel.com/api/v2
Parameters: key=YOUR_API_KEY&action=status&order=87463

Response:

json

{
 "charge": "0.13",
 "start_count": "1234",
 "status": "In progress",
 "remains": "337",
 "currency": "INR"
}

Status values you will encounter: Pending, In progress, Completed, Partial, Cancelled

  • start_count — Follower/view count when order began delivery
  • remains — How many units are still to be delivered


Endpoint 5: Check Multiple Orders (Bulk Status)
POST https://truesmmpanel.com/api/v2
Parameters: key=YOUR_API_KEY&action=status&orders=87463,87464,87465

Pass a comma-separated list of order IDs to check multiple orders in one call. Use this for monitoring active client orders efficiently.




Python Code Examples

These examples use Python's requests library. Install with: pip install requests


Check Balance and Place Order (Python)

python

import requests

API_KEY = "your_api_key_here"
API_URL = "https://truesmmpanel.com/api/v2"

def check_balance():
   response = requests.post(API_URL, data={
       "key": API_KEY,
       "action": "balance"
   })
   data = response.json()
   return float(data["balance"])

def place_order(service_id, instagram_url, quantity):
   response = requests.post(API_URL, data={
       "key": API_KEY,
       "action": "add",
       "service": service_id,
       "link": instagram_url,
       "quantity": quantity
   })
   data = response.json()
   if "order" in data:
       return data["order"]
   else:
       raise Exception(f"Order failed: {data}")

def check_order_status(order_id):
   response = requests.post(API_URL, data={
       "key": API_KEY,
       "action": "status",
       "order": order_id
   })
   return response.json()

# Example: Check balance then place follower order
balance = check_balance()
print(f"Current balance: ₹{balance}")

if balance > 50:  # Only order if sufficient balance
   order_id = place_order(
       service_id=1,
       instagram_url="https://instagram.com/clientaccount",
       quantity=500
   )
   print(f"Order placed. Order ID: {order_id}")
else:
   print("Insufficient balance. Add funds via dashboard.")

Multi-Client Automated Monthly Orders (Python)

This script takes a list of clients and places their monthly follower orders automatically:

python

import requests
import json
from datetime import datetime

API_KEY = "your_api_key_here"
API_URL = "https://truesmmpanel.com/api/v2"
LOG_FILE = "orders_log.json"

# Define your client list
# Each client: name, instagram_url, service_id, monthly_quantity
CLIENTS = [
   {"name": "Mumbai Restaurant ABC", "url": "https://instagram.com/restaurantabc", "service": 1, "qty": 200},
   {"name": "Delhi Salon XYZ", "url": "https://instagram.com/salonxyz", "service": 1, "qty": 300},
   {"name": "Bangalore Gym Brand", "url": "https://instagram.com/gymbrand", "service": 45, "qty": 5000},
]

def place_order(service_id, url, quantity):
   response = requests.post(API_URL, data={
       "key": API_KEY,
       "action": "add",
       "service": service_id,
       "link": url,
       "quantity": quantity
   })
   return response.json()

# Run monthly orders for all clients
log_entries = []
for client in CLIENTS:
   result = place_order(client["service"], client["url"], client["qty"])
   log_entry = {
       "date": datetime.now().isoformat(),
       "client": client["name"],
       "instagram": client["url"],
       "quantity": client["qty"],
       "result": result
   }
   log_entries.append(log_entry)
   print(f"{client['name']}: {result}")

# Save log to file
with open(LOG_FILE, "a") as f:
   for entry in log_entries:
       f.write(json.dumps(entry) + "\n")

print(f"\nAll orders placed. Log saved to {LOG_FILE}")

Run this script on the 1st of each month (or automate with a cron job on Linux or Task Scheduler on Windows) to process all client monthly orders without manual intervention.




PHP Code Examples

Many Indian developers building their own panel or website use PHP. Here is the equivalent implementation:


Place Order (PHP)

php

<?php
$api_key = 'your_api_key_here';
$api_url = 'https://truesmmpanel.com/api/v2';

function place_order($api_url, $api_key, $service, $link, $quantity) {
   $post_data = [
       'key' => $api_key,
       'action' => 'add',
       'service' => $service,
       'link' => $link,
       'quantity' => $quantity
   ];
   
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $api_url);
   curl_setopt($ch, CURLOPT_POST, true);
   curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
   $response = curl_exec($ch);
   curl_close($ch);
   
   return json_decode($response, true);
}

function check_order_status($api_url, $api_key, $order_id) {
   $post_data = [
       'key' => $api_key,
       'action' => 'status',
       'order' => $order_id
   ];
   
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $api_url);
   curl_setopt($ch, CURLOPT_POST, true);
   curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   $response = curl_exec($ch);
   curl_close($ch);
   
   return json_decode($response, true);
}

// Example usage
$result = place_order($api_url, $api_key, 1, 'https://instagram.com/clientaccount', 500);
if (isset($result['order'])) {
   echo "Order placed successfully. Order ID: " . $result['order'];
   // Save order ID to your database here
} else {
   echo "Order failed: " . print_r($result, true);
}
?>


Error Handling for Indian Resellers

These are the most common errors you will encounter when working with the TrueSMMPanel API in an Indian development context:

Error: "Incorrect request"Usually means a required parameter is missing or incorrectly formatted. Check that your link parameter is a valid public Instagram URL (not a private account, not a shortened URL).

Error: "Not enough funds"Your balance is insufficient for the order. Add funds via the dashboard before the script runs. For automated monthly orders, set a balance alert — check balance at the start of the script and send yourself a notification (via Telegram Bot or email) if balance falls below your threshold.

Error: SSL certificate errors (common on Indian hosting)Some Indian shared hosting providers have outdated SSL configurations. If you see SSL peer certificate or SSH remote key was not OK, add curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false) temporarily for debugging, but fix the root SSL issue before going to production. Never disable SSL verification in production.

Error: Timeout or connection refusedIndian mobile data connections can have intermittent connectivity. Add retry logic:

python

import time

def place_order_with_retry(service_id, url, quantity, max_retries=3):
   for attempt in range(max_retries):
       try:
           response = requests.post(API_URL, data={...}, timeout=15)
           return response.json()
       except requests.exceptions.Timeout:
           if attempt < max_retries - 1:
               time.sleep(5)
               continue
           raise Exception("API timeout after 3 attempts")

Error: "Order already exists for this link"Some services prevent duplicate active orders for the same Instagram account. Check if an order is already active before placing a new one.




Building a Simple Order Tracker (Without a Full Database)

For Indian resellers who are not ready to build a complete system, a Google Sheets-based tracker with API integration can handle most needs:

Setup:

  1. Create a Google Sheet with columns: Client Name | Instagram URL | Service ID | Quantity | Order Date | Order ID | Status | Last Checked
  2. Use Google Apps Script (JavaScript-based, runs in Google Sheets) to:Place orders through the TrueSMMPanel API
    Update the Status and Last Checked columns automatically
    Send you an email or WhatsApp notification when orders complete

Google Apps Script can call external HTTP APIs (including TrueSMMPanel's) using UrlFetchApp.fetch(). This gives you a functional order tracking dashboard without setting up servers or databases.

Contact a local Indian developer on Internshala or Fiverr to build this script for ₹500 to ₹2,000 if you are not comfortable with JavaScript.




Rate Limiting: How Many API Calls Can You Make?

SMM panel APIs typically implement rate limiting to prevent abuse. For TrueSMMPanel specifically:

  • Do not make more than 60 API requests per minute from the same account
  • For bulk order checking (checking multiple clients at once), use the multi-order status endpoint (comma-separated order IDs) instead of individual calls per order
  • Add a 1 to 2 second delay between individual order placements when processing large client batches

If you hit rate limits, you will receive an error response indicating the limit was exceeded. In your code, handle this with exponential backoff — wait 2 seconds, retry; if it fails again, wait 4 seconds, retry; and so on.




Non-Developer Alternatives for API-Level Automation

If you are not a developer and cannot write the code yourself, here are practical alternatives:

Option 1: Hire an Indian freelancerInternshala, Fiverr, and WorkIndia have many Python/PHP developers in India who can build a basic order automation script for ₹2,000 to ₹8,000 as a one-time project.

Option 2: Use Zapier or Make (Integromat)These no-code automation tools can make HTTP requests (including API calls). You can build a basic order automation workflow without writing code — triggering orders from a Google Sheet or form submission. They have free tiers sufficient for small-scale reseller operations.

Option 3: n8n (self-hosted, free)An open-source automation tool that can run on Indian hosting providers. More setup required than Zapier but no monthly cost for unlimited automation runs.




Getting API Access from TrueSMMPanel

API access at TrueSMMPanel is available to registered accounts. Contact support through your dashboard to:

  • Request API documentation specific to your account
  • Get your API key generated
  • Ask about rate limits for your account tier
  • Get sample code for the specific integrations you need




Related Reading

Last updated August 2026. API endpoints and parameters may change — refer to TrueSMMPanel's official API documentation for current specifications.