Developer Documentation
GeoSMM.pk REST API Reference (v2)
Automate social media marketing orders, real-time status tracking, service synchronization, and wallet balance monitoring via standard JSON POST requests.
| API HTTP Endpoint | https://geosmm.pk/api/v2 |
| Request Method | POST (Content-Type: application/x-www-form-urlencoded or multipart) |
| Authentication | Pass your secret key in POST field key (generate in Account Settings) |
| Response Format | Standard JSON (application/json; charset=utf-8) |
| Rate Limiting | 60 requests / minute per IP / API key (burst limit: 120 req/min) |
action: services
1. Service List
Retrieve all available SMM packages, service IDs, rates per 1,000, and minimum/maximum order constraints.
| Parameter | Type | Required | Description |
|---|---|---|---|
key |
String | Yes | Your GeoSMM.pk API key |
action |
String | Yes | Set value to services |
// Sample JSON Response:
[
{
"service": 6891,
"name": "Google AI Pro | Gemini Pro | Admin Account | 5 Invites",
"type": "Default",
"category": "Google Gemini AI Pro ✨ | 18 Months",
"rate": "1.61",
"min": "1",
"max": "1"
},
{
"service": 5773,
"name": "CapCut Pro TEAM - Refill ♻ 25-35 Days",
"type": "Default",
"category": "CapCut | ♻ 30 Days",
"rate": "3.10",
"min": "1",
"max": "1"
}
]
action: add
2. Place New Order
Submit an automated order for followers, views, likes, or comments across Instagram, TikTok, YouTube, Facebook, or Telegram.
| Parameter | Type | Required | Description |
|---|---|---|---|
key |
String | Yes | Your GeoSMM.pk API key |
action |
String | Yes | Set value to add |
service |
Integer | Yes | Service ID from the service list |
link |
String | Yes | Target social media link / public profile URL |
quantity |
Integer | Yes | Number of units to order |
comments |
String | Optional | Line-separated custom comments (for custom comment services) |
runs |
Integer | Optional | Number of drip-feed delivery batches |
interval |
Integer | Optional | Delay in minutes between runs (default: 0) |
// Sample JSON Response:
{
"order": 104582
}
action: status / multi-status
3. Check Order Status
Query the real-time processing status, initial count, remaining count, and charge of an individual order or up to 100 batch orders.
| Parameter | Type | Required | Description |
|---|---|---|---|
key |
String | Yes | Your GeoSMM.pk API key |
action |
String | Yes | status (single) or multi-status (multiple) |
order |
Integer | Single only | Order ID for single status lookups |
orders |
String | Batch only | Comma-separated Order IDs, e.g. 104582,104583,104584 |
// Single Status Response:
{
"charge": "0.4862",
"start_count": "1420",
"status": "In progress",
"remains": "500",
"currency": "USD"
}
action: balance & refill
4. User Balance & Service Refill
Check Balance
Parameters: action=balance
{
"balance": "4250.75",
"currency": "PKR"
}
Request Refill
Parameters: action=refill&order=104582
{
"refill": 12894
}
Integration Code Examples
<?php
$apiKey = "YOUR_GEOSMM_API_KEY";
$apiUrl = "https://geosmm.pk/api/v2";
// 1. Fetch available services
$ch = curl_init($apiUrl);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
'key' => $apiKey,
'action' => 'services'
]
]);
$services = json_decode(curl_exec($ch), true);
curl_close($ch);
// 2. Submit an automated order
$ch = curl_init($apiUrl);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
'key' => $apiKey,
'action' => 'add',
'service' => 6891,
'link' => 'https://instagram.com/your_profile',
'quantity' => 1000
]
]);
$order = json_decode(curl_exec($ch), true);
curl_close($ch);
echo "Order Placed ID: " . ($order['order'] ?? 'Error');
?>
import requests
API_KEY = "YOUR_GEOSMM_API_KEY"
API_URL = "https://geosmm.pk/api/v2"
# 1. Check Account Balance
balance_response = requests.post(API_URL, data={
"key": API_KEY,
"action": "balance"
}).json()
print("Current Balance:", balance_response.get("balance"), balance_response.get("currency"))
# 2. Place New Order
order_response = requests.post(API_URL, data={
"key": API_KEY,
"action": "add",
"service": 6891,
"link": "https://www.youtube.com/watch?v=sample",
"quantity": 1000
}).json()
print("Order Response:", order_response)
# 1. Query Services curl -X POST https://geosmm.pk/api/v2 \ -d "key=YOUR_GEOSMM_API_KEY" \ -d "action=services" # 2. Submit New Order curl -X POST https://geosmm.pk/api/v2 \ -d "key=YOUR_GEOSMM_API_KEY" \ -d "action=add" \ -d "service=6891" \ -d "link=https://instagram.com/sample" \ -d "quantity=1000" # 3. Check Order Status curl -X POST https://geosmm.pk/api/v2 \ -d "key=YOUR_GEOSMM_API_KEY" \ -d "action=status" \ -d "order=104582"
Standard Error Codes
| JSON Error Message | Resolution & Cause |
|---|---|
{"error": "Incorrect request."} |
Missing action or key parameters in the POST payload. |
{"error": "Invalid API Key."} |
The provided API key does not exist or has been regenerated. Generate a new key in Account Settings. |
{"error": "The account is inactive."} |
Your account has been paused by the administrator. Contact WhatsApp support. |
{"error": "Not enough funds on balance."} |
Your wallet balance in PKR/USD is insufficient for the requested service quantity. Top up via JazzCash or EasyPaisa. |
{"error": "Quantity must be between Min and Max."} |
The requested quantity is outside the allowable limits defined in service_min and service_max. |
Need custom rate integration, child panel setup, or developer assistance?
WhatsApp Developer Support (+92 332 7075276)