YOUR API KEY: XXXXXXXX
https://api.smspinverify.com/user/get_number.php?customer=apikey&app=appname&country=countryname&number=optional&area_code=optional&shownid=1&duration=duration
Example (new number): http://api.smspinverify.com/user/get_number.php?customer=apikey&app=Google+Voice&country=USA&number=&shownid=1&duration=3 days
Example (US area code filter): http://api.smspinverify.com/user/get_number.php?customer=apikey&app=Google+Voice&country=USA&area_code=201&shownid=1&duration=3 days
Example (request specific number again): http://api.smspinverify.com/user/get_number.php?customer=apikey&app=Google+Voice&country=USA&number=17432592794&shownid=1&duration=3 days
Request a specific number (reuse): To get the same number again for an app (like on the homepage “Specific Number” box), pass the number parameter with the full phone number (e.g. number=16143548416). Use the same app and country as when you first got that number. Reuse may be free within the reuse window, depending on the app.
US area code filter: Pass area_code as a 3-digit value (example: 201) to limit numbers .
Success Response:
14155551234 (default, number only)14155551234|987654 (when shownid=1, format is number|n_id)Duration Parameters:
15 minutes (default)3 days7 days14 days25 daysMessages:
Pass shownid if you want to show id of number for reject. format: number|id
5 NUMBER PER MINUTE
https://api.smspinverify.com/user/get_history.php?customer=apikey
Messages:
https://api.smspinverify.com/user/get_balance.php?customer=apikey
Messages:
https://api.smspinverify.com/user/get_rates.php?customer=apikey&country=countryname
Messages:
https://api.smspinverify.com/user/get_number.php?customer=apikey&app=appname&country=countryname&number=number&duration=duration
Example : https://api.smspinverify.com/user/get_number.php?customer=apikey&app=Google+Voice&country=USA&number=17432592794&duration=3 days
Duration Parameters:
15 minutes (default)3 days7 days14 days25 daysMessages:
5 NUMBER PER MINUTE
https://api.smspinverify.com/user/get_sms.php?customer=apikey&number=number&country=countryname&app=appname
Example : https://api.smspinverify.com/user/get_sms.php?customer=apikey&number=112869xxx&country=malaysia&app=google
Messages:
3 MINUTES PER NUMBER
Step 1: Set your Webhook URL in account settings (must be HTTPS).
Step 2: Call get_number.php with shownid=1 to receive number|n_id.
Step 3: Call get_sms.php using that number. When SMS is found, API returns the message and also sends a webhook POST to your URL.
Webhook Request Method:POST
Webhook Content-Type:application/json
Example Webhook Payload:
{
"message": "Your Google verification code is 482913",
"otp": "482913",
"user_id": "123456",
"number": "14155551234",
"country_id": "USA",
"app_id": "Google Voice",
"timestamp": "2026-02-25 10:24:15"
}Your endpoint should reply: HTTP 200 (any response body is fine).
Example endpoint response:
{"received": true}Webhook is sent only when a code is found during get_sms processing.
https://api.smspinverify.com/user/renew_number.php?customer=apikey&number=number&duration=duration
Example : https://api.smspinverify.com/user/renew_number.php?customer=apikey&number=17432592794&duration=3 days
Duration Parameters:
15 minutes3 days7 days14 days25 daysMessages:
Available for selected numbers only.
https://api.smspinverify.com/user/reject_code.php?customer=apikey&number=number&n_id=n_id&country=countryname&app=appname
Example : https://api.smspinverify.com/user/reject_code.php?customer=apikey&number=112869xxx&country=malaysia&app=google
Messages:
Get n_id from History api
All JSON API endpoints return responses in a standardized format:
{"success": true, "data": {...}} or {"success": true, "message": "..."}{"success": false, "error": "Error message"}All responses include appropriate HTTP status codes (200, 400, 404, 429, 500, 503).
Endpoint:http://api.smspinverify.com/json/get_balance.php
Method: GET
Parameters:
customer (required) - Your API keyExample Request:
http://api.smspinverify.com/json/get_balance.php?customer=YOUR_API_KEY
Success Response (200):
{
"success": true,
"data": {
"id": "123",
"full_name": "John Doe",
"email": "[email protected]",
"balance": "100.50"
}
}Error Responses:
{"success": false, "error": "Customer Not Found."} (400) - Customer parameter missing or invalid{"success": false, "error": "Customer not found."} (404) - Customer does not exist{"success": false, "error": "Access denied."} (500) - IP address blocked{"success": false, "error": "Database connection failed."} (500) - Database error{"success": false, "error": "Database query failed."} (500) - Query errorEndpoint:http://api.smspinverify.com/json/get_history.php
Method: GET
Parameters:
customer (required) - Your API keyExample Request:
http://api.smspinverify.com/json/get_history.php?customer=YOUR_API_KEY
Success Response (200):
{
"success": true,
"data": [
{
"id": "8666290",
"number": "15717412873",
"message": "Your code is 123456",
"country_name": "USA",
"app_name": "Google Voice",
"timestamp": "2024-01-15 10:30:00"
},
{
"id": "8666289",
"number": "15717412874",
"message": "",
"country_name": "USA",
"app_name": "WhatsApp",
"timestamp": "2024-01-15 10:25:00"
}
]
}Error Responses:
{"success": false, "error": "Customer Not Found."} (400) - Customer parameter missing{"success": false, "error": "Access denied."} (500) - IP address blocked{"success": false, "error": "Database connection failed."} (500) - Database error{"success": false, "error": "Database query failed."} (500) - Query errorEndpoint:http://api.smspinverify.com/json/get_rates.php
Method: GET
Parameters:
customer (required) - Your API keycountry (required) - Country name (e.g., "USA")Example Request:
http://api.smspinverify.com/json/get_rates.php?customer=YOUR_API_KEY&country=USA
Success Response (200):
{
"success": true,
"data": [
{
"app": "Google Voice",
"business_code": "go",
"rate": "0.50"
},
{
"app": "WhatsApp",
"business_code": "wa",
"rate": "0.75"
}
]
}Error Responses:
{"success": false, "error": "Customer Not Found."} (400) - Customer parameter missing{"success": false, "error": "Country Not Found."} (400) - Country parameter missing{"success": false, "error": "Country Not Found."} (404) - Country does not exist{"success": false, "error": "Access denied."} (500) - IP address blocked{"success": false, "error": "Database connection failed."} (500) - Database error{"success": false, "error": "Database query failed."} (500) - Query error{"success": false, "error": "Too many requests. Please wait."} (429) - Rate limit exceededEndpoint:http://api.smspinverify.com/json/get_number.php
Method: GET
Parameters:
customer (required) - Your API keyapp (required) - App name (e.g., "Google Voice") or business codecountry (required) - Country name (e.g., "USA")number (optional) - Phone number to reuse. When provided, the API will reuse this existing number instead of assigning a new one. The number must belong to your account and match the specified country/app combination.area_code (optional) - 3-digit US area code filter. Example: 201.duration (optional) - Duration for number rental. Valid values: 15 minutes (default), 3 days, 7 days, 14 days, 25 days.Example Request (Get New Number):
http://api.smspinverify.com/json/get_number.php?customer=YOUR_API_KEY&app=Google+Voice&country=USA&duration=3 days
Example Request (Filter by US Area Code):
http://api.smspinverify.com/json/get_number.php?customer=YOUR_API_KEY&app=Google+Voice&country=USA&area_code=201&duration=3 days
Example Request (Reuse Number):
http://api.smspinverify.com/json/get_number.php?customer=YOUR_API_KEY&app=Google+Voice&country=USA&number=15717412873
How to request a specific number again: To get the same number again (like the “Specific Number” option on the homepage), call Get Number with the number parameter set to the full phone number (e.g. number=16143548416). Use the same app and country as when you first received that number. The number must belong to your account; reuse may be free within the app’s reuse window.
Area code + specific number: You can pass both number and area_code. If the requested number does not match the selected area code, the API returns an error.
Success Response (200):
{
"success": true,
"data": {
"id": "8666290",
"number": "15717412873",
"deduction": "0.45"
}
}Error Responses:
{"success": false, "error": "Customer Not Found."} (400) - Customer parameter missing{"success": false, "error": "App Not Found."} (400) - App parameter missing{"success": false, "error": "Country Not Found."} (400) - Country parameter missing{"success": false, "error": "Not Enough balance"} (400) - Insufficient balance{"success": false, "error": "Customer Not Found."} (404) - Customer does not exist{"success": false, "error": "App or Country Not Found."} (404) - App or country not found{"success": false, "error": "Number is not available."} (403) - App restricted for user{"success": false, "error": "No free channels available check after sometime."} (503) - No numbers available{"success": false, "error": "Too many unused numbers. Service blocked for next 6 hours."} (429) - User blocked due to unused numbers{"success": false, "error": "Access denied."} (500) - IP address blocked{"success": false, "error": "Database connection failed."} (500) - Database error{"success": false, "error": "Database query failed."} (500) - Query error{"success": false, "error": "Error 102, check back later."} (500) - Provider not supported{"success": false, "error": "Your balance is expired."} (400) - Account expired{"success": false, "error": "SMS service error"} (503) - External SMS service errorNote: Rate limit: 5 numbers per minute
Endpoint:http://api.smspinverify.com/json/get_sms.php
Method: GET
Parameters:
customer (required) - Your API keyn_id (required) - Number ID (from get_number response or history)Example Request:
http://api.smspinverify.com/json/get_sms.php?customer=YOUR_API_KEY&n_id=8666290
Success Response (200):
{
"success": true,
"message": "Your verification code is 123456"
}Error Responses:
{"success": false, "error": "Customer Not Found."} (400) - Customer parameter missing{"success": false, "error": "Number ID (n_id) is required."} (400) - n_id parameter missing{"success": false, "error": "Number record not found."} (404) - Number ID does not exist{"success": false, "error": "App or Country Not Found."} (404) - App or country not found{"success": false, "error": "You have not received any code yet."} (400) - No SMS received yet{"success": false, "error": "Too many requests. Please wait."} (429) - Rate limit exceeded (3 minutes per number){"success": false, "error": "Access denied."} (500) - IP address blocked{"success": false, "error": "Database connection failed."} (500) - Database error{"success": false, "error": "Database query failed."} (500) - Query error{"success": false, "error": "SMS service error"} (503) - External SMS service errorNote: Rate limit: 3 minutes per number
Endpoint:http://api.smspinverify.com/json/reject_code.php
Method: GET
Parameters:
customer (required) - Your API keyn_id (required) - Number ID (from get_number response or history)Example Request:
http://api.smspinverify.com/json/reject_code.php?customer=YOUR_API_KEY&n_id=8666290
Success Response (200):
{
"success": true,
"message": "Number Rejected."
}Error Responses:
{"success": false, "error": "Customer Not Found."} (400) - Customer parameter missing{"success": false, "error": "Number ID (n_id) is required."} (400) - n_id parameter missing{"success": false, "error": "Number record not found."} (404) - Number ID does not exist{"success": false, "error": "App or Country Not Found."} (404) - App or country not found{"success": false, "error": "Cant Reject."} (400) - Cannot reject (number already used or time expired){"success": false, "error": "You have not received any code yet."} (400) - Cannot reject without SMS{"success": false, "error": "Access denied."} (500) - IP address blocked{"success": false, "error": "Database connection failed."} (500) - Database error{"success": false, "error": "Database query failed."} (500) - Query error{"success": false, "error": "SMS service error"} (503) - External SMS service errorEndpoint:http://api.smspinverify.com/json/renew_number.php
Method: GET
Parameters:
customer (required) - Your API keynumber (required) - Phone number to renewduration (required) - Duration for renewal. Valid values: 15 minutes, 3 days, 7 days, 14 days, 25 days.Example Request:
http://api.smspinverify.com/json/renew_number.php?customer=YOUR_API_KEY&number=15717412873&duration=3 days
Success Response (200):
{
"success": true,
"message": "Number renewed successfully.",
"data": {
"new_expiry": "2024-01-18",
"new_balance": "95.50"
}
}Error Responses:
{"success": false, "error": "Customer Not Found."} (400) - Customer parameter missing{"success": false, "error": "Number is required."} (400) - Number parameter missing{"success": false, "error": "Invalid duration parameter."} (400) - Duration parameter invalid{"success": false, "error": "Insufficient balance."} (400) - Not enough balance{"success": false, "error": "Renewal is only available after a message has been received."} (400) - No SMS received yet{"success": false, "error": "Number not found."} (404) - Number does not belong to user{"success": false, "error": "Access denied."} (500) - IP address blockedNote: Available for selected numbers only.
Success Responses:
"success": trueget_balance, get_history, get_rates, get_number return data in "data" fieldget_sms, reject_code return message in "message" field200Error Responses:
"success": false and "error" field with error message400 - Bad Request (missing/invalid parameters)403 - Forbidden (access denied)404 - Not Found (resource not found)429 - Too Many Requests (rate limited)500 - Internal Server Error (server/database errors)503 - Service Unavailable (no numbers available, service errors)Content-Type: All responses return Content-Type: application/json