Primex API Documentation
Complete reference for integrating the Primex platform. Purchase virtual numbers, check OTP status, place SMM boost orders, and buy social logs โ all through a clean REST API.
๐ Base URL
All endpoints are relative to:https://primex.ng/api/
๐ฆ Request Format
GET endpoints use query parameters.
POST endpoints accept application/json body or multipart/form-data.
๐ค Response Format
All responses return JSON. Every response includes a status field: "success" or "error".
๐ฐ Pricing
API users get a dedicated charge tier set by admin โ typically lower than standard user pricing.
Every request must include your API key. Pass it as a request header or query parameter.
Your API key is shown in your Primex profile under API Access. It is only available after your account has been upgraded to API access by an admin.
X-Api-Key: your_64_character_api_key_here
GET https://primex.ng/api/balance?api_key=your_key_here
| HTTP Code | status field | Meaning |
|---|---|---|
200 | success | Request completed successfully |
200 | error | Request failed โ see message field for reason |
401 | error | Missing, invalid, or non-API key โ check your key |
404 | error | Unknown endpoint |
405 | error | Wrong HTTP method |
500 | error | Server error โ try again |
message field. Example: {"status":"error","message":"Invalid API key."}GET https://primex.ng/api/balance X-Api-Key: your_key_here
{
"status": "success",
"balance": 15420.50,
"currency": "NGN"
}id field in all subsequent calls โ it stays consistent but the name only shows you the tier (e.g. USA (S1), All Countries (S2)) without exposing the underlying vendor.{
"status": "success",
"providers": [
{ "id": "p1", "name": "USA (S1)", "type": "usa_only" },
{ "id": "p2", "name": "USA (S2)", "type": "usa_only" },
{ "id": "p3", "name": "All Countries (S2)", "type": "multi_country" },
{ "id": "p4", "name": "All Countries (S3)", "type": "multi_country" },
{ "id": "p5", "name": "All Countries (S1)", "type": "multi_country" },
{ "id": "p6", "name": "USA (S3)", "type": "usa_only" },
{ "id": "p7", "name": "USA (S4)", "type": "usa_only" },
{ "id": "p8", "name": "All Countries (S3) โ V2", "type": "multi_country" }
]
}| type | Meaning | country param needed? |
|---|---|---|
usa_only | USA numbers only (S1, S2, S3, S4) โ no country selection | No |
multi_country | Multiple countries available (S1, S2, S3) โ select country from /vn/countries | Yes โ use /vn/countries first |
| Param | Type | Required | Description |
|---|---|---|---|
provider | string | required | Provider ID from /vn/providers (e.g. p1 for USA S1) |
GET /api/vn/services?provider=p1
X-Api-Key: your_key_here
// For multi-country: ?provider=p4 or ?provider=p3{
"status": "success",
"provider": "p1", // provider ID as passed
"services": [
{ "code": "wa", "name": "WhatsApp" },
{ "code": "tg", "name": "Telegram" },
{ "code": "ig", "name": "Instagram" }
]
}code field as service when calling /vn/price or /vn/buy.multi_country providers: All Countries (S1), All Countries (S2), All Countries (S3). Calling this on a USA-only provider returns an error.| Param | Type | Required | Description |
|---|---|---|---|
provider | string | required | Multi-country provider ID |
GET /api/vn/countries?provider=p4
X-Api-Key: your_key_here
// Use the provider ID returned by /vn/providers{
"status": "success",
"provider": "p4",
"countries": [
{ "code": "US", "name": "United States" },
{ "code": "RU", "name": "Russia" },
{ "code": "NG", "name": "Nigeria" }
]
}code field as country when calling /vn/price or /vn/buy.available: false or count: 0, do not attempt to buy.| Param | Type | Required | Description |
|---|---|---|---|
provider | string | required | Provider ID |
service | string | required | Service code from /vn/services |
country | string | optional | Country code (required for multi-country providers) |
GET /api/vn/price?provider=p1&service=wa X-Api-Key: your_key_here
GET /api/vn/price?provider=p4&service=wa&country=US X-Api-Key: your_key_here
{
"status": "success",
"available": true,
"count": 142, // numbers in stock
"price_ngn": 450.00, // your API tier price in NGN
"provider": "p1",
"service": "wa",
"country": null
}{
"status": "unavailable",
"message": "Service not available or out of stock.",
"price_ngn": 0
}| Field | Type | Required | Description |
|---|---|---|---|
provider | string | required | Provider ID |
service_code | string | required | Service code from /vn/services |
service_name | string | optional | Human-readable service name (defaults to service_code) |
country_code | string | optional* | Country code โ required for multi-country providers |
country_name | string | optional | Country name for display purposes |
POST /api/vn/buy
Content-Type: application/json
X-Api-Key: your_key_here
{
"provider": "p1", // USA S1 โ use id from /vn/providers
"service_code": "wa",
"service_name": "WhatsApp"
}POST /api/vn/buy
Content-Type: application/json
X-Api-Key: your_key_here
{
"provider": "p4", // All Countries S3 โ use id from /vn/providers
"service_code": "wa",
"service_name": "WhatsApp",
"country_code": "US",
"country_name": "United States"
}{
"status": "success",
"phone_number": "+15551234567",
"activation_id": "84729301", // save this โ needed for status polling and cancel
"price_ngn": 450.00,
"provider": "p1",
"service": "wa",
"message": "Number ordered successfully. Poll /api/vn/status to receive your OTP."
}activation_id โ you need it for status checks and cancellation.| Param | Type | Required | Description |
|---|---|---|---|
provider | string | required | Same provider used when buying |
activation_id | string | required | activation_id from the buy response |
GET /api/vn/status?provider=p1&activation_id=84729301 X-Api-Key: your_key_here
{
"status": "success",
"order_status": "received", // waiting | received | cancelled | expired
"otp_code": "382910", // null until OTP arrives
"activation_id": "84729301",
"provider": "p1"
}| order_status | Meaning | Action |
|---|---|---|
waiting | Number active, no OTP yet | Poll again in 5โ10 seconds |
received | OTP received โ check otp_code | Use the OTP and cancel the number |
cancelled | Order was cancelled | No further action |
expired | Number expired without OTP | No further action |
received, call cancel to free the number and avoid further charges on some providers.| Field | Type | Required | Description |
|---|---|---|---|
provider | string | required | Provider ID |
activation_id | string | required | activation_id from the buy response |
POST /api/vn/cancel
Content-Type: application/json
X-Api-Key: your_key_here
{
"provider": "p1",
"activation_id": "84729301"
}{
"status": "success",
"message": "Order cancelled and wallet refunded."
}waiting or live status. Wallet is refunded automatically.| Param | Type | Required | Default |
|---|---|---|---|
limit | integer | optional | 20 (max 100) |
offset | integer | optional | 0 |
{
"status": "success",
"total": 48,
"limit": 20,
"offset": 0,
"orders": [
{
"vnActivationId": "84729301",
"vnProvider": "p1",
"vnPhoneNumber": "+15551234567",
"vnServiceCode": "wa",
"vnServiceName": "WhatsApp",
"vnOtpCode": "382910",
"vnStatus": "completed",
"vnPriceNgn": 450.00,
"vnCreatedAt": "2026-03-18 14:23:00"
}
]
}| Param | Type | Required | Description |
|---|---|---|---|
category | string | optional | Filter by category (e.g. Instagram, TikTok). Omit for all. |
GET /api/boost/services?category=Instagram X-Api-Key: your_key_here
{
"status": "success",
"category": "Instagram",
"count": 14,
"services": [
{
"service_id": 101,
"name": "Instagram Followers โ HQ",
"category": "Instagram",
"price_per_unit": 0.85, // NGN per 1 unit โ your API tier price
"min_quantity": 100,
"max_quantity": 50000,
"refill": true,
"cancel": false
}
]
}price_per_unit ร quantity. Ensure your wallet balance covers this before placing an order.| Field | Type | Required | Description |
|---|---|---|---|
service_id | integer | required | service_id from /boost/services |
link | string | required | Full URL of the post/profile to boost |
quantity | integer | required | Must be between service min_quantity and max_quantity |
POST /api/boost/order
Content-Type: application/json
X-Api-Key: your_key_here
{
"service_id": 101,
"link": "https://www.instagram.com/yourprofile",
"quantity": 1000
}{
"status": "success",
"order_id": 48291, // API-side order ID
"cost_ngn": 850.00,
"reference": "RSM-A3F9B2",
"message": "Order placed successfully."
}order_id to check order progress.| Param | Type | Required | Description |
|---|---|---|---|
id | integer | required | order_id from the place order response |
GET /api/boost/order?id=48291 X-Api-Key: your_key_here
{
"status": "success",
"order": {
"id": 48291,
"service_name": "Instagram Followers โ HQ",
"category": "Instagram",
"link": "https://www.instagram.com/yourprofile",
"quantity": 1000,
"cost_ngn": 850.00,
"api_order_id": 9920143,
"order_status": "Pending", // Pending | Processing | Completed | Partial | Cancelled
"reference": "RSM-A3F9B2",
"created_at": "2026-03-18 14:50:00"
}
}| Param | Type | Required | Default |
|---|---|---|---|
limit | integer | optional | 20 (max 100) |
offset | integer | optional | 0 |
{
"status": "success",
"count": 5,
"orders": [ /* same structure as single order */ ]
}| Param | Type | Required | Description |
|---|---|---|---|
platform | string | optional | Filter by platform (e.g. instagram, tiktok). Omit for all. |
limit | integer | optional | Max results (default 20, max 100) |
GET /api/logs?platform=instagram&limit=10 X-Api-Key: your_key_here
{
"status": "success",
"platform": "instagram",
"count": 3,
"logs": [
{
"id": 12,
"platform": "instagram",
"description": "2.4K followers โข Nigerian account โข Active 2026",
"price_ngn": 3500.00,
"status": "available"
}
]
}| Field | Type | Required | Description |
|---|---|---|---|
log_id | integer | required | id from /api/logs |
POST /api/logs/buy
Content-Type: application/json
X-Api-Key: your_key_here
{ "log_id": 12 }{
"status": "success",
"message": "Purchase successful.",
"log": {
"id": 12,
"platform": "instagram",
"description": "2.4K followers โข Nigerian account โข Active 2026",
"credentials": "username:password", // revealed only after purchase
"extra": "Recovery email: [email protected]",
"price_ngn": 3500.00,
"purchased_at": "2026-03-18 15:02:00"
}
}GET /api/logs/mine X-Api-Key: your_key_here
{
"status": "success",
"count": 2,
"logs": [ /* same structure as buy response log object */ ]
}