API Documentation

Thanks to our API service, you can use our services quickly and cost-effectively.

POST https://morethanpanel.com/api/v2
JSON
Example of PHP code
Guide

Overview

The Morethanpanel API is a single POST endpoint that gives you the whole service catalog, order placement, order status, refills, cancellations and your account balance in JSON.

Single API Endpoint All API operations are handled through one POST endpoint.
Complete API Services, orders, statuses, refills, cancellations and balance.
JSON Responses Every API response is returned in JSON format.
Standard SMM Panel v2
The API follows the standard SMM panel v2 convention. Integrations written against another compatible panel can usually be adapted by changing the endpoint URL and API key.
Guide

Getting Started

Four steps from generating your API key to placing and monitoring your first order.

  1. Generate an API key from your Account page. The key identifies your account and carries your balance and prices.
  2. Call services once and store the result. It returns each service with its ID, rate, minimum and maximum quantity.
  3. Place a small test order using add. Using the service minimum keeps the test as small as the service allows.
  4. Read the order using status. When polling multiple orders, use the batched status form with up to 100 order IDs.
Guide

Authentication

Every request carries your API key in the POST body using the key parameter.

Keep your API key private
There is no header authentication, OAuth step or refresh token. Because the key is sent in the body of a server-side request, it should never appear in browser code, mobile application bundles or public repositories.
Parameter Description
key Your API authentication key.
Guide

Rate Limits

The platform does not publish a per-key or per-IP request limit, and responses do not contain rate-limit headers.

Practical guidance
Measured on September 4, 2026, sequential requests showed no throttling in the documented test. Concurrency had a greater effect on response time than request volume.
  • Send requests sequentially where practical.
  • Space polling requests at approximately one second.
  • Keep concurrent in-flight requests in single figures.
  • Batch order IDs instead of making one request for every order.
  • Stop polling orders after they reach a final state.
Guide

Quick Start

The same service-list request in four languages. Change the action and add the parameters documented below to make other calls.

curl -X POST "https://morethanpanel.com/api/v2" \
  -d "key=YOUR_API_KEY" \
  -d "action=services"
Methods
POST

Service List

Returns every available service with its numeric ID, name, type, category, rate, minimum, maximum and supported options.

Parameter Description
key Your API key.
action services
Example Response
[
    {
        "service": 1,
        "name": "Followers",
        "type": "Default",
        "category": "First Category",
        "rate": "0.90",
        "min": "50",
        "max": "10000",
        "refill": true,
        "cancel": true
    },
    {
        "service": 2,
        "name": "Comments",
        "type": "Custom Comments",
        "category": "Second Category",
        "rate": "8",
        "min": "10",
        "max": "1500",
        "refill": false,
        "cancel": true
    }
]
Methods
POST

Add Order

Creates a new order. The parameters required by add depend on the selected service type.

Default

Parameter Required Description
key Yes Your API key.
action Yes add
service Yes Service ID.
link Yes Link to the target page.
quantity Yes Required quantity.
runs Optional Number of drip-feed runs.
interval Optional Interval between runs in minutes.

Custom Comments

Parameter Description
key Your API key.
action add
service Service ID.
link Link to page.
comments Comments separated by \r\n or \n.

Usernames List

Parameter Description
key Your API key.
action add
service Service ID.
link Link to page.
usernames Usernames separated by \r\n or \n.

Hashtag

Parameter Description
key Your API key.
action add
service Service ID.
link Link to page.
quantity Required quantity.
hashtag Hashtag to scrape usernames from.

Scrape Followers

Parameter Description
key Your API key.
action add
service Service ID.
link Link to page.
quantity Required quantity.
username URL to scrape followers from.

Subscription

Parameter Required Description
key Yes Your API key.
action Yes add
service Yes Service ID.
username Yes Username.
min Yes Minimum quantity.
max Yes Maximum quantity.
posts Optional Number of future posts to parse.
old_posts Optional Number of existing posts to parse.
delay Yes Delay in minutes.
expiry Optional Expiry date in d/m/Y.

Comments by Username

Parameter Description
key Your API key.
action add
service Service ID.
link Link to page.
quantity Required quantity.
username Username of comment owner.

Poll Answers

Parameter Description
key Your API key.
action add
service Service ID.
link Link to page.
quantity Required quantity.
answer_number Answer number of the poll.
Example Response
{
    "order": 23501
}
Methods
POST

Order Status

Returns the current status of a single order.

Parameter Description
key Your API key.
action status
order Order ID.
Example Response
{
    "charge": "0.27819",
    "start_count": "3572",
    "status": "Partial",
    "remains": "157",
    "currency": "USD"
}
Methods
POST

Multiple Orders Status

Check up to 100 order IDs in a single request. IDs should be separated by commas.

Parameter Description
key Your API key.
action status
orders Order IDs separated by commas, up to 100 IDs.
Example Response
{
    "1": {
        "charge": "0.27819",
        "start_count": "3572",
        "status": "Partial",
        "remains": "157",
        "currency": "USD"
    },
    "10": {
        "error": "Incorrect order ID"
    },
    "100": {
        "charge": "1.44219",
        "start_count": "234",
        "status": "In progress",
        "remains": "10",
        "currency": "USD"
    }
}
Methods
POST

Create Refill

Creates a refill request for an order. Refill is available only for services that support it.

Parameter Description
key Your API key.
action refill
order Order ID.
Example Response
{
    "refill": "1"
}
Methods
POST

Create Multiple Refill

Create refill requests for up to 100 orders in one request.

Parameter Description
key Your API key.
action refill
orders Order IDs separated by commas, up to 100 IDs.
Example Response
[
    {
        "order": 1,
        "refill": 1
    },
    {
        "order": 2,
        "refill": 2
    },
    {
        "order": 3,
        "refill": {
            "error": "Incorrect order ID"
        }
    }
]
Methods
POST

Get Refill Status

Parameter Description
key Your API key.
action refill_status
refill Refill ID.
Example Response
{
    "status": "Completed"
}
Methods
POST

Get Multiple Refill Status

Check up to 100 refill IDs in one request.

Parameter Description
key Your API key.
action refill_status
refills Refill IDs separated by commas, up to 100 IDs.
Example Response
[
    {
        "refill": 1,
        "status": "Completed"
    },
    {
        "refill": 2,
        "status": "Rejected"
    },
    {
        "refill": 3,
        "status": {
            "error": "Refill not found"
        }
    }
]
Methods
POST

Create Cancel

Submit cancellation requests for up to 100 orders in one request.

Parameter Description
key Your API key.
action cancel
orders Order IDs separated by commas, up to 100 IDs.
Example Response
[
    {
        "order": 9,
        "cancel": {
            "error": "Incorrect order ID"
        }
    },
    {
        "order": 2,
        "cancel": 1
    }
]
Methods
POST

User Balance

Returns the current account balance and currency.

Parameter Description
key Your API key.
action balance
Example Response
{
    "balance": "100.84292",
    "currency": "USD"
}
Reference

Drip-feed

Drip-feed splits one order into a series of smaller deliveries released on a timer.

The add action accepts two additional parameters for drip-feed: runs and interval.

Example
To deliver 1,000 followers over ten hours, send quantity=100, runs=10 and interval=60. This creates ten deliveries of 100 followers, one every 60 minutes.
  • quantity is the size of each run, not the total quantity.
  • Total delivery equals quantity multiplied by runs.
  • The balance is charged for the total delivery.
  • Drip-feed is not available for every service.
  • Check the service list before offering this option to customers.
Reference

Webhooks and Polling

The API does not provide webhooks. Order status is retrieved by polling the status action.

No webhooks
Status updates are not pushed to your server. Your application should periodically request the order status instead.

Recommended Polling Pattern

  • Keep a local set of order IDs that have not reached a final state.
  • Poll orders in batches of up to 100.
  • Space polling batches approximately one second apart.
  • Remove orders from the polling set as soon as they reach a final state.
  • Back off when an order has not changed for a longer period.
Why batching matters
A reseller with 1,000 open orders can use approximately ten requests per polling cycle instead of making 1,000 individual requests.
Reference

Errors

Errors are returned as JSON with an error key. HTTP status codes are not uniform, so integrations should inspect both the HTTP response and JSON body.

Error HTTP Meaning What to do
Invalid API key 401 Key is missing, incorrect or has been regenerated. Copy the current key from Account.
Incorrect request 404 No action was sent or the action is unknown. Check the action name.
Incorrect request 200 The action is valid but a required parameter is missing. Compare the request with the method parameters.
Incorrect order ID 200 The order does not exist on the account. Confirm the ID came from an order created with this key.
Incorrect service ID 200 Service does not exist or is no longer available. Refresh the cached service list.
Quantity less than minimal N 200 Quantity is below the service minimum. Validate against the service minimum.
Quantity more than maximum N 200 Quantity exceeds the service maximum. Validate against the service maximum or split the order.
Not enough funds on balance 200 Order cost exceeds available balance. Add funds or reduce quantity.
Important: check the response body
Validation failures can return HTTP 200 with an error inside the JSON body. Checking only the HTTP status code can therefore hide validation errors.

Error Order

When several parts of a request are invalid, the API returns one error rather than a list. The documented validation order is service ID, quantity range and then balance.

Link Validation

The endpoint does not validate the target link in the same way it validates the service, quantity and balance. Your application should validate URLs and platform-specific links before creating an order.

Reference

Security

Protect your API key as a server-side secret.

Recommended security practices
  • Store the API key in an environment variable or secrets manager.
  • Never put the key into browser-side JavaScript.
  • Never ship the key inside a mobile app.
  • Never commit the key to a public repository.
  • Use one API key per system where practical.
  • Rotate the key immediately if you suspect it has been exposed.

Regenerating the key from the Account page invalidates the previous key immediately.

Reference

Frequently Asked Questions

Common questions about the Morethanpanel API.

Does the Morethanpanel API support refill?
Yes. The API provides refill for both individual orders and lists of orders, together with separate refill-status actions. Refill is available only for services that support it.
Does the Morethanpanel API support webhooks?
No. The API does not push order status updates to your server. Use the status action to poll orders, with up to 100 order IDs in a request.
What is the rate limit?
There is no published per-key or per-IP request limit and no rate-limit headers. The documented measurements indicate that concurrency affects response time more than sequential request volume.
Is there a sandbox or test mode?
There is no separate sandbox environment. Read operations such as services, status and balance do not modify account data. For order testing, the documentation recommends using the smallest quantity accepted by the selected service.
Can I resell Morethanpanel services under my own brand?
Yes. You can build your own frontend on top of the API, or use a child panel solution with your own domain, prices and customer accounts.
What is the difference between the API and a child panel?
The API is a set of endpoints that you integrate into software you build and maintain. A child panel is a complete storefront with its own domain, prices and customer accounts.
Services Sign up Sign in
MTP
✦ SPECIAL OFFER

Spin & Win

47 MIN
:
00 SEC

Rewards are subject to eligibility and the active promotion rules.