Welcome Back!

Your Gateway to Digital Value.

Developer API Documentation

Integrate BitraHQ services into your own applications. Use the base URL below for all requests.

https://bitrahq.com/api/v1/
Your API Key
Keep this secret. Use it in the `api_key` parameter for every request.
Log in to view Key
List All Services
GET services.php

Fetch lists of all available services (OTP, Rental, SMM) and countries. Use the id from these lists in your order requests.

ParameterTypeRequiredDescription
api_keyStringYESYour unique API key for authentication.
JSON Response
PHP Example
{
    "success": true,
    "otp_services": [
        {"id": "wa", "name": "Whatsapp", "price": 150.00},
        {"id": "tg", "name": "Telegram", "price": 130.00}
    ],
    "rental_services": [
        {"id": "wa-rent", "name": "WhatsApp Rental", "price_per_day": 80.00}
    ],
    "smm_services": [
        {"id": "ig-likes", "name": "Instagram Likes", "rate": 0.85}
    ],
    "countries": [
        {"id": "us", "name": "United States", "code": "+1"},
        {"id": "ng", "name": "Nigeria", "code": "+234"}
    ]
}
<?php
$url = 'https://bitrahq.com/api/v1/services.php?api_key=YOUR_API_KEY';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Get Price (Check Availability)
POST price.php

Check the current price and availability of a specific service/country combination before ordering.

ParameterRequiredDescription
api_keyYESYour API Key.
service_idYESThe Service ID (e.g. wa, tg).
country_idYESThe Country ID (e.g. us, ng).

Response Example

{
    "success": true,
    "price": 150.00,
    "currency": "NGN"
}
Order OTP Number
POST otp.php

Purchase a temporary number to receive an OTP code.

ParameterRequiredDescription
api_keyYESYour API Key.
actionYESMust be getNumber.
service_idYESService ID (e.g. wa).
country_idYESCountry ID (e.g. us).
PHP (cURL)
Response
<?php
$url = 'https://bitrahq.com/api/v1/otp.php';
$data = [
    'api_key' => 'YOUR_API_KEY',
    'action' => 'getNumber',
    'service_id' => 'wa',
    'country_id' => 'us'
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
{
    "success": true,
    "message": "Number received",
    "order_id": "808000424",
    "phone_number": "1555019988",
    "charge": 150.00,
    "balance": 4500.00
}
Check Status (Get SMS)
POST status.php

Check the status of an OTP or Rental order to get the SMS code. Poll this every 5-10 seconds.

ParameterRequiredDescription
api_keyYESYour API Key.
actionYESMust be checkStatus.
order_idYESThe ID returned from otp.php or rent.php.

Success Response (SMS Received)

{
    "success": true,
    "status": "COMPLETED",
    "message": "SMS received.",
    "sms_code": "482910"
}

Waiting Response

{
    "success": false,
    "status": "PENDING_SMS",
    "message": "Waiting for SMS..."
}
Cancel Order
POST update_status.php

Cancel an active order and get a refund if no SMS was received.

ParameterRequiredDescription
api_keyYESYour API Key.
idYESThe Order ID.
statusYESMust be 8 (Code for Cancel).
PHP (cURL)
Response
<?php
$url = 'https://bitrahq.com/api/v1/update_status.php';
$data = [
    'api_key' => 'YOUR_API_KEY',
    'id' => '808000424',
    'status' => 8
];

// ... Standard cURL Request ...
?>
{
    "status": "success",
    "message": "Order canceled and refunded"
}
Rent Number
POST rent.php

Rent a number for a longer duration (Days, Weeks, Months).

ParameterRequiredDescription
api_keyYESYour API key.
actionYESMust be rentNumber.
service_idYESThe Service ID from the rental_services list.
duration_valueNoNumber of days/weeks (Default: 1).
duration_unitNo'D' (Days), 'W' (Weeks), or 'M' (Months).

Success Response

{
    "success": true,
    "message": "Rental created",
    "order_id": "67890",
    "phone_number": "1555019988",
    "charge": 2500.00,
    "expires_at": "2025-11-30 14:00:00"
}
SMM Orders
POST smm.php

Place orders for Social Media services.

ParameterRequiredDescription
api_keyYESYour API Key.
actionYESMust be placeOrder.
service_idYESThe Service ID from the smm_services list.
linkYESTarget URL (Profile/Post link).
quantityYESAmount to order.

Response

{
    "success": true,
    "message": "Order placed successfully.",
    "order_id": "5021",
    "charge": 500.00,
    "balance": 3500.00"
}