LogoLogo
Back

API Documentation

Followir SMM Panel API v2: endpoints, parameters, example requests and responses.

Followir exposes a simple HTTP API that follows the common SMM Panel API v2 format, so most reseller panels and scripts work with it as they are. All responses are JSON.

Getting started

  1. Create an account and add funds.
  2. Open the API page in your account and generate your API key. Keep it private.
  3. Optional: add the IP addresses allowed to use your key (leave empty to allow any IP).

Endpoint

URLhttps://followir.com/api/v2
MethodPOST (GET also works)
FormatForm parameters in, JSON out
Required in every callkey (your API key) and action

Actions

actionParametersWhat it does
serviceskeyList all available services with prices and limits
addkey, service, link, quantity (runs, interval for drip-feed)Place a new order
statuskey, order or orders (comma separated)Order status, one or many
cancelkey, order or orders (comma separated)Cancel orders on services that allow it
refillkey, order or orders (comma separated)Request a refill on eligible orders
refill_statuskey, refillStatus of a refill request
balancekeyYour current balance and currency

services

curl -X POST "https://followir.com/api/v2" -d "key=YOUR_API_KEY" -d "action=services"
[
  {
    "service": "1",
    "name": "Instagram Followers",
    "type": "Default",
    "category": "Instagram",
    "rate": "0.9000",
    "min": "100",
    "max": "100000",
    "refill": true,
    "cancel": false
  }
]

rate is the price per 1000. refill and cancel tell you whether the service supports them.

add

curl -X POST "https://followir.com/api/v2" \
  -d "key=YOUR_API_KEY" -d "action=add" \
  -d "service=1" -d "link=https://instagram.com/username" -d "quantity=1000"
{ "order": 850758 }

For drip-feed services you can also send runs (at least 2) and interval (minutes, 1 to 1440). They are ignored on other services.

status

curl -X POST "https://followir.com/api/v2" -d "key=YOUR_API_KEY" -d "action=status" -d "order=850758"
{
  "charge": "0.9000",
  "start_count": "3572",
  "status": "In progress",
  "remains": "400",
  "currency": "USD"
}

Several orders at once: send orders=850758,850759. The reply is an object keyed by order number. Possible status values: Pending, In progress, Completed, Partial, Canceled, Refunded.

cancel

curl -X POST "https://followir.com/api/v2" -d "key=YOUR_API_KEY" -d "action=cancel" -d "order=850758"
{ "status": "Success" }

Some cancellations wait for confirmation, and then the reply shows "status": "Pending". With several orders you get a list of { "order": ..., "cancel": ... } items.

refill and refill_status

curl -X POST "https://followir.com/api/v2" -d "key=YOUR_API_KEY" -d "action=refill" -d "order=850758"
{ "refill": "12" }

curl -X POST "https://followir.com/api/v2" -d "key=YOUR_API_KEY" -d "action=refill_status" -d "refill=12"
{ "refill": "12", "status": "Pending" }

balance

curl -X POST "https://followir.com/api/v2" -d "key=YOUR_API_KEY" -d "action=balance"
{ "balance": "25.50", "currency": "USD" }

Errors

When something goes wrong the reply has an error field:

{ "error": "Not enough funds" }
MessageMeaning
API key is requiredThe key parameter is missing
Action is required / Incorrect actionMissing or unknown action
Invalid API keyThe key is wrong, disabled, or your IP is not on the whitelist
Incorrect service ID / Service not foundThe service number does not exist or is disabled
Link is required / Incorrect quantityMissing link, or quantity is not a valid number
Quantity must be between ...Outside the service minimum and maximum
Not enough fundsYour balance is too low for this order
Order not foundThe order does not exist on your account
Cancel is not available for this serviceThis service cannot be cancelled

Code examples

PHP

$ch = curl_init("https://followir.com/api/v2");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
    'key'    => 'YOUR_API_KEY',
    'action' => 'add',
    'service'  => 1,
    'link'     => 'https://instagram.com/username',
    'quantity' => 1000,
]));
$response = json_decode(curl_exec($ch), true);
print_r($response);

Python

import requests

r = requests.post("https://followir.com/api/v2", data={
    "key": "YOUR_API_KEY",
    "action": "status",
    "order": 850758,
})
print(r.json())

Good to know

  • Order numbers are the same ones you see on your orders page.
  • Placing many orders for the same link at once may be rejected until the first one finishes.
  • Every call is logged on your account. If you think your key leaked, regenerate it from the API page.
  • Need help integrating? Open a ticket on the support page.

Back