SMM Reseller Panel: Wholesale Rates, API Access and Child Panel Setup
Running an SMM agency or operating your own panel means buying at a rate your clients never see. Most wholesale panels give you an API key, a rate list and not much else. This page covers what the BulkFollow reseller setup actually includes: rate tiers, the API endpoint, child panel setup, and what the markup structure looks like when you are filling orders from twenty clients instead of one account.
A reseller SMM panel is a wholesale account where you order services at below-retail rates, either through the dashboard or an API key, and fulfil orders for your own clients on top of that cost. No monthly fee, no minimum spend, and the same service IDs are available to resellers as to retail buyers.
How reseller access works
There is no separate reseller account type on BulkFollow. Every account has API access and sees the same rates. The difference between a reseller and a retail buyer is how they use the account: a retail buyer orders for one channel or profile, a reseller orders for many, usually through the API, and sets their own prices on top.
The practical consequence is that you can start reselling on the day you sign up. There is no approval process, no minimum volume requirement to unlock wholesale pricing, and no tier you have to reach before the API opens up. You deposit, you get a key, you start ordering.
Three things change at volume. You go through balance faster, so deposit minimums become relevant to your cash flow rather than just a number on a page. Order status matters more when a client is waiting on delivery, so the status endpoint gets used daily rather than never. And the service IDs you pick have a bigger effect, because a bad ID on ten client orders costs ten times what it costs on one.
Wholesale rates
| Category | Service | Rate / 1,000 | Minimum | Start time |
|---|---|---|---|---|
| Followers, standard | [FILL] | [FILL] | [FILL] | |
| Followers, non-drop | [FILL] | [FILL] | [FILL] | |
| Likes | [FILL] | [FILL] | [FILL] | |
| Views, Reels | [FILL] | [FILL] | [FILL] | |
| YouTube | Subscribers, standard | [FILL] | [FILL] | [FILL] |
| YouTube | Views, high retention | [FILL] | [FILL] | [FILL] |
| TikTok | Followers | [FILL] | [FILL] | [FILL] |
| TikTok | Views | [FILL] | [FILL] | [FILL] |
| Twitter / X | Followers | [FILL] | [FILL] | [FILL] |
| Spotify | Plays | [FILL] | [FILL] | [FILL] |
These are the same rates every account sees. They change when supplier costs change, and the dashboard always shows the live price. There is no rate tier unlocked by volume, no negotiated deal for large accounts, and no monthly fee that reduces per-unit cost. What you see at checkout is what you pay.
The complete service catalogue with every ID is under Services in the dashboard once you are signed in. The IDs in the API documentation match those IDs exactly.
API endpoint and integration
Every account has an API key on the dashboard under API tab. The endpoint accepts POST requests and returns JSON.
Add an order
POST https://bulkfollow.net/api/v2
key=YOUR_API_KEY
action=add
service=1
link=https://instagram.com/targetprofile
quantity=1000
Response:
{
"order": 23456
}
Check order status
POST https://bulkfollow.net/api/v2
key=YOUR_API_KEY
action=status
order=23456
Response:
{
"charge": "0.27",
"start_count": "3572",
"status": "In progress",
"remains": "157",
"currency": "USD"
}
Status values
| Status | Meaning |
|---|---|
| Pending | Order received, not yet sent to supplier |
| In progress | Delivery started, running |
| Partial | Delivered less than ordered — refund or refill applies |
| Completed | Full quantity delivered |
| Cancelled | Cancelled before delivery, balance returned |
Bulk status check
POST https://bulkfollow.net/api/v2
key=YOUR_API_KEY
action=status
orders=23456,23457,23458
Bulk checks accept up to 100 order IDs per call. If you are polling status for a queue of client orders, batch them rather than calling one at a time. Most resellers run a cron every 10 minutes against all open orders in their system.
Services list
POST https://bulkfollow.net/api/v2
key=YOUR_API_KEY
action=services
Returns the complete service catalogue with IDs, names, rates, minimum and maximum quantities, and whether the service supports a custom comments field. Cache this response and refresh daily rather than calling it on every order.
Check balance
POST https://bulkfollow.net/api/v2
key=YOUR_API_KEY
action=balance
Returns your current account balance and currency. Build a low-balance check into your system so you are not discovering an empty account in the middle of a client order.
Child panel setup
A child panel is your own branded SMM panel, with its own domain, its own user accounts and its own prices, running off your BulkFollow account in the background.
BulkFollow does not sell child panel software. What it sells is the wholesale account that powers one. The software side — the panel script, the domain, the payment gateway — is set up on your end. The three most common scripts in Pakistan and India for this are Perfect Panel, HyperPanel, and Smmstone. All three have an API provider field where you paste your BulkFollow endpoint and key, set your prices on top of the base rates, and the script handles the rest.
The practical workflow once it is set up: a client places an order on your panel, the script places the same order through the BulkFollow API at your cost, and the margin between the two is your revenue. You never touch the order manually unless something goes wrong.
Three things to get right before you launch a child panel:
- Service ID mapping. Your panel script's service list needs to match BulkFollow's IDs exactly. A mismatch sends orders to the wrong service or fails silently.
- Status sync. Configure the script to poll order status on a schedule rather than in real time on every page load. One API call per order per minute is a rate limit problem waiting to happen.
- Balance alerts. A child panel with an empty BulkFollow account accepts client orders it cannot fill. Set a low-balance notification before you go live.
Working out margins
Most resellers set margins between 40% and 150% depending on the service and the client. The wide range reflects two different businesses: agencies billing on deliverables at a fixed project rate, and panel operators competing on price in a market where clients comparison-shop before ordering.
Three things tighten a margin you did not plan for. Drop rate means you sometimes deliver more than you charged for. Refills on non-drop services come out of your account balance. And partial orders, where the supplier delivers less than the full quantity, return the undelivered balance to your BulkFollow account rather than directly to your client account, so you have to track and apply it manually if your panel does not handle partial fills.
On services with a known drop rate, price the refill into the cost before you set your selling price. A standard subscriber service with a [FILL: 10%] drop rate effectively costs [FILL: 10%] more than the rate card shows.
Deposits and balance
- JazzCash: clears in under two minutes, minimum [FILL: PKR 000]
- Easypaisa: clears in under two minutes, same minimum
- Bank transfer: up to one working day, no upper limit
- UPI: Indian accounts, credited within [FILL] minutes
- USDT (TRC-20): everywhere else, credited after [FILL] confirmations
Balance does not expire. For agencies running a steady volume of orders, bank transfer for larger monthly deposits and JazzCash for top-ups is the most common approach. Nothing forces you to pre-load more than you need for the next few days.
Frequently asked questions
No. Every account sees the same rates from the first order. There is no volume tier and no separate application process.
BulkFollow does not offer a white-label version of the dashboard. A child panel — your own branded script connected through the API — is the standard setup for resellers who need their own interface.
The undelivered portion is refunded to your BulkFollow balance automatically. If your panel script does not pick this up and apply it to the client order, you handle the difference manually. Most panel scripts handle partial fills if you configure the status sync correctly.
The rate limit is [FILL] requests per minute. Batch your status checks rather than polling each order individually, and cache the services list rather than requesting it on every order submission.
Any script that supports the standard SMM panel API format works. Perfect Panel, HyperPanel and Smmstone are the most common in Pakistan and India and all three have been tested against this endpoint.
The API returns an error rather than placing the order. Your panel script should handle this by either queuing the order or showing the client an error. Configure a low-balance alert so this does not happen mid-day when you are not watching the dashboard.
Need rates for a specific platform for your client roster? The main YouTube SMM panel page and our YouTube subscribers guide cover that platform in full. For Instagram-specific reseller rates, see the Instagram reseller panel page.