API
Resell every service on this panel from your own site with a single HTTP endpoint.
https://getfollowers.ai/api/v2Every response uses HTTP 200 — check the JSON body for an `error` field.
- HTTP method
- POST
- Content type
- application/x-www-form-urlencoded
- Response format
- application/json
- Rate limit
- 120/60s
API key
Generate your personal key on the Account page. Send it as the `key` field on every request.
Get your API key →Rate limit
120 requests per minute per API key, counted in a sliding window. Requests over the limit answer with {"error":"Rate limit exceeded"}. The counter lives in the app process, so a multi-instance deployment must move it to a shared store.
Service list
action=servicesReturns every service you are allowed to order, with your personal rate already applied (custom rates and account discount included). `rate` is the price per 1000 units, except for Package services where it is the price of the whole package.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | Required | Your personal API key. Generate it on the Account page. The account must be active. |
| action | string | Required | One of: services, add, status, refill, refill_status, cancel, balance. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=services"Example response
[
{
"service": 1001,
"name": "Instagram Followers — Real | Max 100K | 30 Days Refill",
"type": "Default",
"category": "Instagram Followers",
"rate": "1.35000",
"min": "50",
"max": "100000",
"refill": true,
"cancel": true,
"dripfeed": true
},
{
"service": 1014,
"name": "Instagram Custom Comments | Max 5K",
"type": "Custom Comments",
"category": "Instagram Comments",
"rate": "9.80000",
"min": "5",
"max": "5000",
"refill": false,
"cancel": true,
"dripfeed": false
},
{
"service": 1052,
"name": "Instagram Auto Likes Subscription",
"type": "Subscriptions",
"category": "Instagram Subscriptions",
"rate": "2.10000",
"min": "50",
"max": "10000",
"refill": false,
"cancel": true,
"dripfeed": false
}
]- Cache the response on your side — it changes at most a few times a day.
- `type` tells you which parameters the `add` action expects for that service.
- `dripfeed` tells you whether that service accepts the optional `runs` and `interval` parameters.
Invalid API keyRate limit exceededAdd order
action=addPlaces one order and debits your balance immediately. The parameters depend on the service `type`. Never retry a timed-out `add` automatically — check with `status` first, otherwise you risk a duplicate order.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | Required | Your personal API key. Generate it on the Account page. The account must be active. |
| action | string | Required | One of: services, add, status, refill, refill_status, cancel, balance. |
| service | integer | Required | Service ID from the `services` action. |
Parameters per service type
Pick the block that matches the `type` field of the service you are ordering.
Default
DEFAULTThe standard service. Add `runs` and `interval` to spread the delivery over time (drip-feed) when the service allows it.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service | integer | Required | Service ID from the `services` action. |
| link | string | Required | Full URL of the profile, post, video or channel to deliver to. |
| quantity | integer | Required | Amount to deliver. Must sit between the service `min` and `max`, and be a multiple of the service increment when one is set. |
| runs | integer | Optional | Drip-feed only. Number of runs (2–1000). The quantity above is delivered on every run, so the charge is quantity × runs. |
| interval | integer | Optional | Drip-feed only. Minutes between runs. Required whenever `runs` is sent. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1001" \
-d "link=https://instagram.com/yourprofile" \
-d "quantity=1000"Example response
{
"order": 100234
}Package
PACKAGEA fixed bundle. There is no quantity to choose — the charge is the service rate itself.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service | integer | Required | Service ID from the `services` action. |
| link | string | Required | Full URL of the profile, post, video or channel to deliver to. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1023" \
-d "link=https://instagram.com/yourprofile"Example response
{
"order": 100234
}Custom Comments
CUSTOM_COMMENTSOne comment per line. The quantity is the number of non-empty lines, so do not send `quantity`.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service | integer | Required | Service ID from the `services` action. |
| link | string | Required | Full URL of the profile, post, video or channel to deliver to. |
| comments | list | Required | Comments separated by a newline (\n or \r\n). Empty lines are dropped. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1014" \
-d "link=https://instagram.com/p/CxYzAbCdEf/" \
-d "comments=Great shot!\nLove this\nWhere is this?"Example response
{
"order": 100234
}Mentions
MENTIONSMentions delivered to a list of usernames you supply.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service | integer | Required | Service ID from the `services` action. |
| link | string | Required | Full URL of the profile, post, video or channel to deliver to. |
| quantity | integer | Required | Amount to deliver. Must sit between the service `min` and `max`, and be a multiple of the service increment when one is set. |
| usernames | list | Required | Usernames separated by a newline, without the @ sign. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1031" \
-d "link=https://instagram.com/p/CxYzAbCdEf/" \
-d "quantity=500" \
-d "usernames=user_one\nuser_two\nuser_three"Example response
{
"order": 100234
}Mentions Custom List
MENTIONS_CUSTOM_LISTMentions for exactly the usernames you send — the quantity is the length of the list, so do not send `quantity`.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service | integer | Required | Service ID from the `services` action. |
| link | string | Required | Full URL of the profile, post, video or channel to deliver to. |
| usernames | list | Required | Usernames separated by a newline. The number of lines is the order quantity. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1033" \
-d "link=https://instagram.com/p/CxYzAbCdEf/" \
-d "usernames=user_one\nuser_two\nuser_three"Example response
{
"order": 100234
}Mentions Hashtag
MENTIONS_HASHTAGMentions taken from the audience of a single hashtag.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service | integer | Required | Service ID from the `services` action. |
| link | string | Required | Full URL of the profile, post, video or channel to deliver to. |
| quantity | integer | Required | Amount to deliver. Must sit between the service `min` and `max`, and be a multiple of the service increment when one is set. |
| hashtag | string | Required | One hashtag, with or without the # sign. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1034" \
-d "link=https://instagram.com/p/CxYzAbCdEf/" \
-d "quantity=500" \
-d "hashtag=travel"Example response
{
"order": 100234
}Mentions User Followers
MENTIONS_USER_FOLLOWERSMentions taken from the followers of another account.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service | integer | Required | Service ID from the `services` action. |
| link | string | Required | Full URL of the profile, post, video or channel to deliver to. |
| quantity | integer | Required | Amount to deliver. Must sit between the service `min` and `max`, and be a multiple of the service increment when one is set. |
| username | string | Required | URL of the account whose followers should be mentioned. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1035" \
-d "link=https://instagram.com/p/CxYzAbCdEf/" \
-d "quantity=500" \
-d "username=https://instagram.com/competitor"Example response
{
"order": 100234
}Mentions Media Likers
MENTIONS_MEDIA_LIKERSMentions taken from the people who liked a specific post.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service | integer | Required | Service ID from the `services` action. |
| link | string | Required | Full URL of the profile, post, video or channel to deliver to. |
| quantity | integer | Required | Amount to deliver. Must sit between the service `min` and `max`, and be a multiple of the service increment when one is set. |
| media | string | Required | URL of the post whose likers should be mentioned. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1036" \
-d "link=https://instagram.com/p/CxYzAbCdEf/" \
-d "quantity=500" \
-d "media=https://instagram.com/p/CqWvUtSrQp/"Example response
{
"order": 100234
}Subscriptions
SUBSCRIPTIONSRecurring delivery on every new post of an account. There is no `link` — send the account `username` instead.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service | integer | Required | Service ID from the `services` action. |
| username | string | Required | The account to watch, without the @ sign. |
| min | integer | Required | Minimum quantity delivered per new post. |
| max | integer | Required | Maximum quantity delivered per new post. |
| posts | integer | Optional | How many upcoming posts to cover. Leave it out for an open-ended subscription bounded by `expiry`. |
| old_posts | integer | Optional | How many already published posts to include. |
| delay | integer | Required | Minutes to wait after a post appears. Only these values are accepted: 0, 5, 10, 15, 20, 30, 40, 50, 60, 90, 120, 150, 180, 210, 240, 270, 300, 360, 420, 480, 540, 600. |
| expiry | date | Optional | End date in d/m/Y format, for example 31/12/2026. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1052" \
-d "username=yourprofile" \
-d "min=100" \
-d "max=500" \
-d "posts=10" \
-d "old_posts=2" \
-d "delay=30" \
-d "expiry=31/12/2026"Example response
{
"order": 100234
}- The returned `order` is the numeric order ID used by every other action.
- Services with duplicate-link protection reject a second live order for the same link with "Incorrect link".
- Drip-feed orders are charged up front for all runs: quantity × runs ÷ 1000 × rate.
Incorrect requestIncorrect service IDIncorrect linkIncorrect quantityNot enough fundsInvalid API keyRate limit exceededOrder status
action=statusReads one order with `order`, or up to 100 orders at once with a comma-separated `orders` list. In the multiple form each ID resolves independently, so a bad ID only fails its own entry.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | Required | Your personal API key. Generate it on the Account page. The account must be active. |
| action | string | Required | One of: services, add, status, refill, refill_status, cancel, balance. |
| order | integer | Conditional | Single order ID. Use this or `orders`, not both. |
| orders | list | Conditional | Up to 100 order IDs separated by commas, for example 100234,100235,100236. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=status" \
-d "order=100234"Example response
{
"charge": "1.35000",
"start_count": "3572",
"status": "Completed",
"remains": "0",
"currency": "USD"
}Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=status" \
-d "orders=100234,100235,100999"Example response
{
"100234": {
"charge": "1.35000",
"start_count": "3572",
"status": "Completed",
"remains": "0",
"currency": "USD"
},
"100235": {
"charge": "4.20000",
"start_count": "18904",
"status": "Partial",
"remains": "820",
"currency": "USD"
},
"100999": {
"error": "Incorrect order ID"
}
}- Possible `status` values: Pending, In progress, Processing, Completed, Partial, Canceled.
- Completed, Partial and Canceled are final — stop polling once you see them.
- A Partial order is refunded automatically for the undelivered part (remains ÷ quantity × charge); a Canceled order is refunded in full.
Incorrect requestIncorrect order IDInvalid API keyRate limit exceededCreate refill
action=refillRequests a refill for one order with `order`, or for several with a comma-separated `orders` list. Only services with `refill: true` accept it, and only inside the service refill window.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | Required | Your personal API key. Generate it on the Account page. The account must be active. |
| action | string | Required | One of: services, add, status, refill, refill_status, cancel, balance. |
| order | integer | Conditional | Single order ID. Use this or `orders`, not both. |
| orders | list | Conditional | Order IDs separated by commas. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=refill" \
-d "order=100234"Example response
{
"refill": "cmt6hodsf000fpbe5log8fegi"
}Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=refill" \
-d "orders=100234,100235"Example response
[
{
"order": 100234,
"refill": "cmt6hodsf000fpbe5log8fegi"
},
{
"order": 100235,
"refill": {
"error": "Neither refill nor cancel is possible"
}
}
]- The single form returns the refill ID as a string; keep it for `refill_status`.
- Asking twice for the same order returns "Neither refill nor cancel is possible" while the first request is still open.
Incorrect requestIncorrect order IDNeither refill nor cancel is possibleInvalid API keyRate limit exceededRefill status
action=refill_statusReads the state of one refill with `refill`, or of several with a comma-separated `refills` list.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | Required | Your personal API key. Generate it on the Account page. The account must be active. |
| action | string | Required | One of: services, add, status, refill, refill_status, cancel, balance. |
| refill | string | Conditional | Single refill ID returned by `refill`. |
| refills | list | Conditional | Refill IDs separated by commas. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=refill_status" \
-d "refill=cmt6hodsf000fpbe5log8fegi"Example response
{
"status": "Completed"
}Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=refill_status" \
-d "refills=cmt6hodsf000fpbe5log8fegi,cmt6hp2ta000hpbe5r7k1x4qd"Example response
[
{
"refill": "cmt6hodsf000fpbe5log8fegi",
"status": "Completed"
},
{
"refill": "cmt6hp2ta000hpbe5r7k1x4qd",
"status": {
"error": "Incorrect order ID"
}
}
]- Possible values: Pending, In progress, Completed, Rejected, Error.
Incorrect requestIncorrect order IDInvalid API keyRate limit exceededCancel orders
action=cancelRequests cancellation for a comma-separated `orders` list. Only services with `cancel: true` accept it, and only while the order has not been delivered.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | Required | Your personal API key. Generate it on the Account page. The account must be active. |
| action | string | Required | One of: services, add, status, refill, refill_status, cancel, balance. |
| orders | list | Required | Order IDs separated by commas. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=cancel" \
-d "orders=100234,100235"Example response
[
{
"order": 100234,
"cancel": "1"
},
{
"order": 100235,
"cancel": {
"error": "Neither refill nor cancel is possible"
}
}
]- Cancellation is a request, not a guarantee — poll `status` until the order reports Canceled.
- A cancelled order is refunded in full, a partially delivered one proportionally.
Incorrect requestIncorrect order IDNeither refill nor cancel is possibleInvalid API keyRate limit exceededBalance
action=balanceReturns the current balance of your account and its currency.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | Required | Your personal API key. Generate it on the Account page. The account must be active. |
| action | string | Required | One of: services, add, status, refill, refill_status, cancel, balance. |
Example request
curl -X POST "https://getfollowers.ai/api/v2" \
-d "key=YOUR_API_KEY" \
-d "action=balance"Example response
{
"balance": "98.45000",
"currency": "USD"
}Invalid API keyRate limit exceededAllowed delay values
A Subscriptions order is rejected with Incorrect request when delay is not one of these minute values.
Errors
Every response is returned with HTTP 200. Failures are signalled by an `error` field carrying one of the standard texts below.
| Error | Returned when |
|---|---|
| Incorrect request | Unknown or missing `action`, a missing mandatory field, or a body that could not be parsed. |
| Invalid API key | The `key` field is missing, unknown, or belongs to an account that is not active. |
| Incorrect service ID | The `service` value does not exist, is disabled, or is hidden from your account. |
| Incorrect link | The `link` is empty or malformed, or the service blocks a repeated link that already has a live order. |
| Incorrect quantity | The quantity is outside the service min/max, or is not a multiple of the increment. For Custom Comments and Mentions Custom List the quantity is the number of lines you send, so a list that is shorter than the service minimum fails here too — an entirely missing list is "Incorrect request". |
| Not enough funds | Your balance does not cover the charge. Top up and send the order again. |
| Incorrect order ID | The order, or refill, does not exist or does not belong to your account. |
| Neither refill nor cancel is possible | The service does not offer refill or cancel, the refill window has closed, the order status no longer allows it, or the request already exists. |
| Rate limit exceeded | More than 120 requests in the last 60 seconds with the same API key. |
{
"error": "Not enough funds"
}