GlobeVerify API Documentation
Explore the complete REST API reference for virtual number purchases, SMS verification, rentals, wallet balances, webhooks, and white-label services. All endpoints use the base URL https://api.globeverify.com and authenticate with your developer API key.
Services Catalog
The Catalog API provides resources for querying available countries, services, precise pricing, and current stock levels for virtual numbers. Base URL: https://api.globeverify.com
Get Countries
Fetch all countries currently supported by the provider. Each entry includes an integer ID (use this for other API calls), the full country name, a short_name ISO code, the international calling code (cc), and a region label for grouping. Available regions: Favourites, Europe, Asia, Africa, North America, South America, Central America, Carribeans, Oceania, Virtuals.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Responses
[
{
"ID": 1,
"name": "United States",
"short_name": "US",
"cc": "1",
"region": "Favourites"
},
{
"ID": 14,
"name": "Nigeria",
"short_name": "NG",
"cc": "234",
"region": "Africa"
},
{
"ID": 9,
"name": "Indonesia",
"short_name": "ID",
"cc": "62",
"region": "Asia"
}
]Get Available Services
Fetch all services available on the platform (e.g., WhatsApp, Telegram, Google, Discord). Results are sorted with favourites (favourite: 1) at the top, followed by alphabetical listings. Use the integer ID when purchasing a number.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Query Parameters
| Parameter | Description |
|---|---|
country string | Optional country ID or short_name to filter services by availability. |
Responses
[
{
"ID": 273,
"name": "Discord",
"favourite": 1,
"successRate": null
},
{
"ID": 1012,
"name": "WhatsApp",
"favourite": 1,
"successRate": null
},
{
"ID": 907,
"name": "Telegram",
"favourite": 1,
"successRate": null
},
{
"ID": 395,
"name": "Google/Gmail",
"favourite": 1,
"successRate": null
}
]Get Stock Levels
Fetch current inventory stock levels for a specific service in a specific country.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Query Parameters
| Parameter | Description |
|---|---|
countryRequired string | Target country ID or short_name. |
serviceRequired string | Target service ID. |
Responses
{
"amount": 17312,
"success": true
}Get Area Codes
Fetch available area codes for the specified service and country. Returns a flat array of integer area codes. Used mainly for North American numbers.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Query Parameters
| Parameter | Description |
|---|---|
countryRequired string | Target country ID or short_name. |
serviceRequired string | Target service ID. |
pool string | Optional provider pool. |
Responses
[
201,
202,
212,
213,
310,
312,
404,
415
]Get Instant Price
Calculate the exact billing cost for purchasing a service, accounting for the developer's specific discounts and multi-currency exchange rates.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Query Parameters
| Parameter | Description |
|---|---|
country string | Target country ID or short_name. |
service string | Target service ID. |
currency string | Optional desired output currency (e.g. NGN, USD). |
pricing_option integer | 0 for Economy, 1 for High Success Rate. |
pool string | Optional explicit pool alias to lock pricing. |
max_price number | Optional maximum price budget. If the pool exceeds this, returns NO_POOL. |
Responses
{
"success": true,
"price": 80.1,
"currency": "NGN",
"formatted": "₦80.1",
"supportsPoolSelection": true,
"pricingOption": 1,
"successRate": 98,
"poolAlias": "Nova"
}Get Available Pools
Fetch all available underlying provider pools for a specific service and country. Includes their unique aliases, pricing, and success rates.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Query Parameters
| Parameter | Description |
|---|---|
countryRequired string | Target country ID or short_name. |
serviceRequired string | Target service ID. |
Responses
{
"supportsPoolSelection": true,
"pools": [
{
"alias": "Nova",
"price": 0.24,
"high_price": 0.24,
"success_rate": 98
}
]
}Virtual Numbers (OTP)
Provides core mechanics for creating and managing one-time virtual numbers for SMS verifications. Automatically deducts funds from your internal wallet balances. Base URL: https://api.globeverify.com/v1/numbers
Purchase a One-Time Number
Provision a number for a targeted service. Purchases are immediately debited from your wallet.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Content-Type string | application/json |
Request Body
{
"country": "US",
"service": 273,
"serviceName": "Discord",
"pricing_option": 1,
"pool": "Nova",
"max_price": 500
}Responses
{
"success": true,
"message": "Number purchased successfully",
"data": {
"_id": "6a1ac6d8511382ccc15007d6",
"phoneNumber": "+1 5033051381",
"countryCode": "US",
"countryName": "United States",
"service": "273",
"serviceName": "Discord",
"status": "active",
"cost": 80.1,
"currency": "NGN",
"type": "sms",
"autoRenew": false,
"orderSource": "api",
"isReactivated": false,
"freeResendAt": null,
"freeResendCount": 0,
"expiresAt": "2026-05-30T11:35:36.000Z",
"otps": [],
"purchasedAt": "2026-05-30T11:15:36.469Z"
}
}{
"success": true,
"pending": true,
"message": "Order queued due to high demand. You will receive an email when your number is ready.",
"orderId": "queue_817...",
"estimatedWait": "5-25 minutes"
}Check Inbox (OTP)
Poll this endpoint repeatedly to read incoming SMS OTPs for a specific active number. The numberId is the _id field returned from the purchase endpoint.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Responses
{
"success": true,
"data": {
"otps": [],
"status": "active"
}
}{
"success": true,
"data": {
"otps": [
{
"code": "849201",
"message": "Your Discord verification code is: 849201",
"sender": "Discord",
"receivedAt": "2026-05-30T11:20:00.000Z"
}
],
"status": "completed"
}
}Cancel & Refund Number
Cancel an active number. If cancelled before OTP extraction, funds are refunded to your wallet. The full updated order object is returned.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Responses
{
"success": true,
"message": "Number cancelled and refunded.",
"data": {
"_id": "6a1ac6d8511382ccc15007d6",
"phoneNumber": "+1 5033051381",
"countryCode": "US",
"countryName": "United States",
"service": "273",
"serviceName": "Discord",
"status": "cancelled",
"cost": 80.1,
"currency": "NGN",
"type": "sms",
"autoRenew": false,
"orderSource": "api",
"isReactivated": false,
"freeResendAt": null,
"freeResendCount": 0,
"expiresAt": "2026-05-30T11:35:36.000Z",
"otps": [],
"purchasedAt": "2026-05-30T11:15:36.469Z"
}
}Retrieve Reuse Capability
Determine if a number can be reused (resent for free or reactivated for a fee).
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Responses
{
"success": true,
"data": {
"success": true,
"canResendForFree": true,
"message": "This phone number is available for resend!",
"resendCost": 0
}
}Execute Number Reuse
Initiate a reactivation (paid) or resend trigger (free).
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Content-Type string | application/json |
Request Body
{
"payToReactivate": true
}Responses
{
"success": true,
"message": "Number reactivated successfully"
}Developer Rental API
Manage long-term virtual numbers, read incoming SMS, and send outbound SMS. Important: Access to these endpoints requires explicit administrative approval. If you receive an unauthorized error, please contact support to activate your Rental API status. Base URL: https://api.globeverify.com
Get Rental Options
Fetch a live list of available phone numbers for rent, including pricing and supported durations.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Query Parameters
| Parameter | Description |
|---|---|
countryCode string | The 2-letter ISO country code (e.g. US, GB, CA). Defaults to US. |
areaCode string | Optional 3-digit area code to filter numbers (e.g. 212). |
currency string | Optional desired output currency (e.g. NGN, USD). |
Responses
[
{
"phoneNumber": "+19482417375",
"region": "US",
"pricing": {
"30": 8.5
},
"type": 1,
"currency": "USD"
},
{
"phoneNumber": "+19482417376",
"region": "US",
"pricing": {
"30": 8.5
},
"type": 1,
"currency": "USD"
}
]Buy Rental Number
Purchase one of the available rental numbers returned from the Options endpoint. Pass the phoneNumber string into the rentalId field.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Content-Type string | application/json |
Request Body
{
"rentalId": "+19482417375",
"days": 30,
"serviceId": "global",
"country": "US"
}Responses
{
"success": true,
"data": {
"id": "6a3c51705d305ae92f84a129",
"phoneNumber": "+19482417375",
"countryCode": "US",
"countryName": "United States",
"service": "global",
"serviceName": "Number Rental",
"status": "active",
"cost": 8.5,
"currency": "USD",
"purchasedAt": "2026-06-25T14:15:00.000Z",
"expiresAt": "2026-07-25T14:15:00.000Z"
}
}{
"success": false,
"message": "Insufficient balance"
}Extend Rental Duration
Extend the expiration date of an active rental by 30 days. Uses the GlobeVerify rental ID (_id) of the number.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Content-Type string | application/json |
Request Body
{
"rentalId": "6a3c51705d305ae92f84a129",
"days": 30
}Responses
{
"success": true,
"message": "Rental extended by 30 days",
"data": {
"rentalId": "6a3c51705d305ae92f84a129",
"expiresAt": "2026-08-25T14:15:00.000Z"
}
}List Active Rentals
Retrieve a list of all your currently active rental numbers.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Responses
{
"success": true,
"rentals": [
{
"id": "6a3c51705d305ae92f84a129",
"phoneNumber": "+19482417375",
"status": "active",
"country": "US",
"purchasedAt": "2026-06-25T14:15:00.000Z",
"expiresAt": "2026-07-25T14:15:00.000Z"
}
]
}Get Rental Messages
Fetch the SMS and voicemail history for a specific rental number using its GlobeVerify rental ID.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Responses
{
"success": true,
"messages": [
{
"id": "7b4d62816e416bf83f95b230",
"direction": "inbound",
"from": "+15551234567",
"to": "+19482417375",
"body": "Your verification code is 123456",
"status": "received",
"createdAt": "2026-06-25T10:15:00.000Z"
}
]
}Send Outbound SMS
Send an outbound SMS from your rental number. The cost per SMS is deducted natively from your active balance.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Content-Type string | application/json |
Request Body
{
"to": "+15551234567",
"text": "Hello from Globeverify!"
}Responses
{
"success": true,
"message": {
"direction": "outbound",
"rentalPhoneNumber": "+19482417375",
"remotePhoneNumber": "+15551234567",
"text": "Hello from Globeverify!",
"status": "sent",
"costUSD": 0.05,
"timestamp": "2026-06-25T12:00:00.000Z"
}
}{
"success": false,
"message": "Insufficient telecom credits"
}Wallet API
Exposes your internal GlobeVerify account balance to integrate balance checks before dispatching orders. Base URL: https://api.globeverify.com/v1
Get Wallet Balance
Fetch your current active wallet balance bounded by your active session currency.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Responses
{
"success": true,
"data": {
"balance": 2626.65,
"currency": "NGN",
"balances": {
"usd": 0,
"ngn": 2626.65
}
}
}Webhooks (Outbound Events)
Receive real-time HTTP POST callbacks on your server when an OTP is delivered, avoiding the need to continuously poll the Check Inbox endpoint. Configure your Webhook URL and Secret from the Developer Dashboard.
OTP Received Event (Payload Format)
This is the payload GlobeVerify sends to your server. Authenticate the source by calculating an HMAC SHA256 of the raw body using your Webhook Secret and comparing it against the X-GlobeVerify-Signature header.
Headers
| Parameter | Description |
|---|---|
X-GlobeVerify-Signature string | HMAC SHA256 signature of the payload |
Content-Type string | application/json |
Responses
{
"event": "otp.received",
"timestamp": "2026-05-30T08:00:00.000Z",
"data": {
"orderId": "6a1ac6d8511382ccc15007d6",
"phoneNumber": "+1 5033051381",
"service": "273",
"otp": {
"code": "849201",
"message": "Your Discord verification code is: 849201",
"sender": "Discord"
}
}
}Pending Order Allocated Event
Fired instantly when a background job successfully resolves your queued "pending" order into an active number.
Headers
| Parameter | Description |
|---|---|
X-GlobeVerify-Signature string | HMAC SHA256 signature of the payload |
Content-Type string | application/json |
Responses
{
"event": "order.allocated",
"timestamp": "2026-05-30T08:00:00.000Z",
"data": {
"orderId": "6a1ac6d8511382ccc15007d6",
"phoneNumber": "+1 5033051381",
"service": "273",
"cost": 80.1,
"currency": "NGN"
}
}White-Label Provisioning
Automate the creation of white-label reseller sites directly via the API. Note: For Pro and Enterprise users, if your balance is insufficient, you can purchase sites on loan up to a limit of -$200.00 (or -₦300,000).
Get Plans
Fetch available whitelabel plans and prices, applying your custom user discounts. Plans include mini, pro, and max tiers with both USD and NGN pricing.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Responses
{
"success": true,
"data": [
{
"_id": "69ab4c8de83636f9c8e086b7",
"tier": "mini",
"name": "Mini Plan",
"priceUSD": 5,
"priceNGN": 7500,
"currency": "NGN",
"isActive": true,
"features": []
},
{
"_id": "69ab4c8de83636f9c8e086b8",
"tier": "pro",
"name": "Pro Plan",
"priceUSD": 38,
"priceNGN": 57000,
"currency": "NGN",
"isActive": true,
"features": []
},
{
"_id": "69ab4c8ee83636f9c8e086b9",
"tier": "max",
"name": "Max Plan",
"priceUSD": 128.99,
"priceNGN": 193485,
"currency": "NGN",
"isActive": true,
"features": []
}
],
"domainMarkup": 7500,
"currency": "NGN"
}Check Domain Availability & Price
Check if a custom domain is available for registration and get its full cost breakdown including base price, markup, and totals in both USD and NGN.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Query Parameters
| Parameter | Description |
|---|---|
domainRequired string | Domain to check (e.g., example.com) |
Responses
{
"success": true,
"available": true,
"basePriceUSD": 12,
"basePriceNGN": 18000,
"markupUSD": 5,
"markupNGN": 7500,
"totalPriceUSD": 17,
"totalPriceNGN": 25500,
"currency": "NGN"
}Purchase a White-Label Site
Provision a new white-label site. Pro/Enterprise users can purchase on loan up to a maximum debt of -$200.00 or -₦300,000.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Content-Type string | application/json |
Request Body
{
"tier": "pro",
"domain": "my-cool-site.com",
"isSubdomain": false,
"siteName": "My Site",
"ownerEmail": "admin@my-cool-site.com",
"ownerPassword": "secure123",
"ownerFirstName": "John",
"ownerLastName": "Doe"
}Responses
{
"success": true,
"message": "White-label site ordered.",
"data": {
"domain": "my-cool-site.com",
"createdOnLoan": true
}
}List My Sites
Fetch all white-label sites provisioned by your account.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Responses
{
"success": true,
"data": [
{
"_id": "69d606c380db0a5972360435",
"siteName": "My Site",
"domain": "mysite.getsms.site",
"isSubdomain": true,
"domainStatus": "active",
"tier": "mini",
"status": "active",
"ownerEmail": "admin@example.com",
"costUSD": 5,
"chargedAmount": 7500,
"currency": "NGN",
"createdAt": "2026-04-08T07:41:55.350Z"
}
]
}Validate Coupon
Validate a discount coupon code before purchasing a white-label site.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Content-Type string | application/json |
Request Body
{
"code": "SUMMER20"
}Responses
{
"success": true,
"discountPercentage": 20
}Upgrade/Downgrade Site Tier
Change the subscription tier of an existing white-label site. The price difference will be deducted from your balance.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Content-Type string | application/json |
Request Body
{
"orderId": "6a20b55c8a85b55fa05c7a51",
"newTier": "pro"
}Responses
{
"success": true,
"message": "Upgraded successfully",
"data": {
"tier": "pro",
"domain": "mysite.getsms.site"
}
}Update Branding
Update the logo URL and theme colors of an existing white-label site.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Content-Type string | application/json |
Request Body
{
"orderId": "6a20b55c8a85b55fa05c7a51",
"logo": "https://example.com/logo.png",
"primaryColor": "#ff0000",
"secondaryColor": "#06b6d4"
}Responses
{
"success": true,
"message": "Branding updated successfully",
"data": {
"logoUrl": "https://example.com/logo.png",
"primaryColor": "#ff0000",
"secondaryColor": "#06b6d4"
}
}Sync Site Data
Synchronize the status and tier of your white-label site with the upstream master network.
Headers
| Parameter | Description |
|---|---|
x-api-key string | Your Developer API Key |
Content-Type string | application/json |
Request Body
{
"orderId": "6a20b55c8a85b55fa05c7a51"
}Responses
{
"success": true,
"message": "Site synced successfully",
"data": {
"status": "active",
"tier": "pro"
}
}