Developer workspace

Use one API flow for balance, services, and orders

Confirm your key, fetch the catalog, and move from balance checks to order placement without guessing what comes next.

How it works
1Confirm your key

Start with a balance request first so you know your API key and request format are working.

2Fetch the catalog

Pull live services and limits before placing orders so your integration uses current product data.

3Track the same order ID

Store the SMM Africa order ID returned by add and use it for status, refill, and cancel requests.

API docs

SMM Africa API | balance, services, orders, and status

One API for balance checks, catalog access, ordering, status tracking, and reseller automation.

Single endpointSimple POST requests for balance, catalog, ordering, and tracking actions
Reseller automationBuilt for panel owners, developers, and repeat delivery workflows
API keyCopy your key from Account before sending your first request

What you can power

  • Check account balance programmatically.
  • List available services and pricing.
  • Place new growth actions for followers, likes, views, and more.
  • Track order status and delivery in real time.
  • Integrate via HTTP from PHP, Python, JavaScript, or any stack.

Import either file into Postman, Insomnia, or any OpenAPI tool to get every endpoint, request body, and example response pre-configured.

AI search extract

Short answers for reseller API decisions

What is the SMM Africa API?

The SMM Africa API is a reseller endpoint for checking balance, fetching live services, placing orders, polling status, and requesting refill or cancellation from one wallet-backed account.

Who uses the SMM Africa API?

The API is built for resellers, agencies, developers, white-label panel operators, automation teams, and businesses that need SMM infrastructure behind their own workflows.

How does the API work?

Every request posts JSON to /api/v3 with an action value. The action decides whether the request checks balance, lists services, adds an order, checks status, refills, or cancels.

What makes the API production-ready?

A production integration keeps the API key server-side, caches the live service catalog, sends an idempotency key with every logical order, gives the server-to-server request up to 60 seconds, changes the customer view to pending after 20 seconds, stores returned order IDs, and converts transport failures into neutral customer-facing messages.

API vocabulary

Terms resellers should understand

Reseller API
A server-to-server interface that lets another panel or workflow place and track SMM Africa orders from its own application.
Service catalog
The live list of service IDs, prices, limits, refill support, and cancellation support used before placing an order.
Action
The JSON field that chooses the API operation, such as balance, services, add, status, refill, or cancel.
Wallet-backed ordering
An ordering model where direct, storefront, and API orders all draw from the same funded SMM Africa wallet balance.
Base URLhttps://smm.africa/api/v3
FormatJSON POST. The action field decides the operation.
Your API keyIssued per account. Pull it from Account once you sign in.
Sign in to get your key

Start with a balance check

A balance request is the fastest way to confirm your key, request format, and that the integration round-trips before you start placing orders.

curl --max-time 60 -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "action": "balance"
  }'

Integration notes for production use

Treat the API like infrastructure. These notes cover the things that matter once you are running automated orders, a client panel, or a high-volume storefront.

Single endpoint, action-based

Every request goes to https://smm.africa/api/v3 as JSON POST. The action field (balance, services, add, status, refill, cancel) decides what runs.

Idempotency and retries

Send one unique Idempotency-Key header or idempotency_key field for each logical add order. If the request times out, retry the identical payload with the same key so a completed attempt is replayed without another charge.

Rate limits

Limits are action-specific and can change. Space bulk calls, batch status polls, and when the API returns 429 wait for the Retry-After interval before retrying.

Service changes

Pull /services periodically. Service IDs, rates, and min/max values can change. Store the response so your own panel mirrors current pricing.

Shared wallet balance

Direct orders, storefront orders, and API orders all draw from the same wallet balance. Fund it from any channel, use it from any channel.

Secure your key

Never expose the key, API hostname, configured provider name, or raw transport errors in client-side code or storefront messages. Proxy calls through your backend, log technical details privately, and after 20 seconds show customers neutral wording such as: Order submission is taking longer than expected. Check your orders before trying again.

Quick answers

How do I get an API key?

Log in to SMM Africa, open Account, copy your API key, and rotate it from the same place at any time.

Is the API free?

There is no extra API fee. You only pay for services you order. The same wallet funds direct orders, storefront orders, and API orders.

What are the rate limits?

Limits are action-specific and can change. Space bulk calls, batch status polls, and when the API returns 429 wait for the Retry-After interval before retrying.

How should I handle retries?

Send one unique Idempotency-Key header or idempotency_key field for each logical add order. If the request times out, retry the identical payload with the same key so a completed attempt is replayed without another charge.

Is there a webhook?

Status polling is the supported path today. Hit the status action for orders you are watching and cache the result in your own system.

Which countries are supported?

The API is available worldwide, with strong support for African markets and M-Pesa-friendly wallet funding.

ReferenceFull endpoint reference

Review the request parameters, sample responses, and the exact behavior for each supported action.

SMM Africa API | balance, services, orders, and status

Use a simple POST request flow to authenticate, fetch services, place orders, and track delivery.

https://smm.africa/api/v3
2. Start with a balance checkA balance request is the fastest way to confirm your key, request format, and that the integration round-trips before you start placing orders.
3. Track the same order IDStore the SMM Africa order ID returned by add and use it for status, refill, and cancel requests.
USD pricing contractAll balances, charges, and order amounts in v3 are returned in USD for compatibility.
Idempotency and retriesSend one unique Idempotency-Key header or idempotency_key field for each logical add order. If the request times out, retry the identical payload with the same key so a completed attempt is replayed without another charge.
Track the same order IDStore the SMM Africa order ID returned by add and use it for status, refill, and cancel requests.

Open Account to copy key

balance

Check the wallet balance tied to the authenticated reseller API key.

POST

Request parameters

ParameterDescription
keyYour API key, used to authenticate the request.
actionbalance

Example response

{
  "balance": "100.84",
  "currency": "USD"
}

All balances, charges, and order amounts in v3 are returned in USD for compatibility.

Example error response

{
  "error": "Invalid API key"
}

services

Fetch the live SMM Africa service catalog with service IDs, pricing, limits, and refill or cancel flags.

POST

Request parameters

ParameterDescription
keyYour API key, used to authenticate the request.
actionservices

Example response

[
  {
    "service": 1,
    "name": "Service Name",
    "type": "Default",
    "rate": "0.90",
    "min": "50",
    "max": "10000",
    "category": "First Category",
    "description": "Service Description",
    "refill": true,
    "cancel": true,
    "drop_rate": "Almost No",
    "start_time": "2 mins",
    "speed": "12 mins",
    "reliability": "Poor"
  }
]

Fetch the live catalog before ordering because service IDs, rates, limits, and availability can change.

Example error response

{
  "error": "Invalid API key"
}

add

Place a new social media growth order with service ID, target link, and quantity.

POST

Request parameters

ParameterDescription
keyYour API key, used to authenticate the request.
actionadd
serviceThe ID of the service you want to order.
link (when required)The target profile, post, or content URL.
quantity (when required)The quantity you want to order.
idempotency_keyUse one unique value per logical order. If the request times out without a response, retry with the same value so the order cannot be charged twice.
service type fieldsRead the selected service's type from the services response. Link and quantity are required only when that type requires them; send its documented type-specific fields instead.
goal_keyOptional goal key for guided-growth attribution.
recommendation_tierOptional recommendation tier.
user_intent_labelOptional label describing the user’s intent.
source_flowOptional identifier for the flow that created the order.

Example response

{
  "order": 1000000,
  "charged": 5.85,
  "queued": true
}

Store the returned order ID, and check status before retrying an add request.

Example error response

{
  "error": "Invalid API key"
}

status

Poll an order by ID to read delivery state, start count, remains, and charge details.

POST

Request parameters

ParameterDescription
keyYour API key, used to authenticate the request.
actionstatus
orderThe SMM Africa order ID returned by add.

Example response

{
  "order": 1000000,
  "status": "Processing",
  "start_count": 3572,
  "remains": 157,
  "charge": 0.27819
}

Poll statuses in batches and leave a short delay between requests.

Example error response

{
  "error": "Order not found"
}

refill

Request a refill for an eligible order inside the published refill window.

POST

Request parameters

ParameterDescription
keyYour API key, used to authenticate the request.
actionrefill
orderThe SMM Africa order ID returned by add.

Example response

{
  "order": 1000000,
  "success": "Refill request accepted."
}

Refill is available only for eligible orders within the service’s published refill window.

Example error response

{
  "error": "Invalid API key"
}

cancel

Request cancellation for an order where the selected service supports cancellation.

POST

Request parameters

ParameterDescription
keyYour API key, used to authenticate the request.
actioncancel
orderThe SMM Africa order ID returned by add.

Example response

{
  "order": 1000000,
  "success": "Cancellation request accepted."
}

Cancellation is available only when the selected service supports it.

Example error response

{
  "error": "Invalid API key"
}

Request parameters

ParameterDescription
Defaultlink, quantity
Packagelink
SEOlink, quantity, keywords
Custom Commentslink, comments
Custom Comments Packagelink, comments
Comment Replieslink, username, comments
Comment Likeslink, username
Mentionslink, quantity, usernames
Mentions with Hashtagslink, quantity, usernames, hashtags
Mentions Custom Listlink, usernames
Mentions Hashtaglink, quantity, hashtags
Mentions User Followerslink, quantity, username (source profile URL)
Mentions Media Likerslink, quantity, media (source media URL)
Polllink, quantity, answer_number
Invites from Groupslink, quantity, groups
Subscriptionsusername, min, max, delay
Web Trafficquantity, country, device, type_of_traffic