📧
Verify Your Email
Click the button below to confirm your email address and activate your account.
Real-time delivery · Always online

Receive SMS with
Virtual Numbers

Get OTP codes for WhatsApp, Google, Telegram and 500+ services. USA, UK, Canada, Hong Kong & Indonesia numbers — no real phone needed.

5K+
Active Users
5 Countries
Available
99%
Delivery Rate
<3s
SMS Speed
🇺🇸 USA VOIP
🇺🇸 USA Non-VOIP
🇬🇧 United Kingdom
🇨🇦 Canada
🇭🇰 Hong Kong
🇮🇩 Indonesia
🇺🇸
+1 (415) 555-0192
USA · Non-VOIP
 Live
💬 WhatsApp
"Your WhatsApp code is 847 291. Don't share this code with anyone."
847291
 Delivered in 1.8s

Keep Your Number As Long As You Need

Most platforms lock you to a fixed time window — when it expires, your number is gone. PingNum is different. Extend your session anytime with a single click, keep the exact same number active, and never miss an important OTP.

Simple Process
How It Works
From sign up to receiving your OTP — takes less than 60 seconds.
1

Choose a Service

Search for WhatsApp, Google, Telegram or any of 500+ supported services. Filter by country.

2

Get Your Number

A real virtual number is assigned to you instantly. USA, UK, Canada, Hong Kong or Indonesia.

3

Receive SMS

Enter the number in the app. Your OTP or verification code arrives in under 3 seconds.

✨ Unique Feature
4

Extend Anytime

Need more time? Hit Extend with one click — same number stays active, no interruption, no hassle.

Why Choose Us
Built Different
Everything you need, nothing you don't.

Extendable Sessions

Keep your number active as long as needed. Extend with one click before it expires — no need to buy a new one.

Instant Delivery

SMS arrives in under 3 seconds. Real-time delivery with live updates — no refreshing required.

5 Countries

USA (VOIP & Non-VOIP), United Kingdom, Canada, Hong Kong, and Indonesia numbers available.

Pay Per Use Only

No monthly subscription. No hidden fees. Top up your wallet and spend only what you need.

100% Private

No personal phone number required. Keep your real identity completely separate.

Referral Rewards

Invite friends and earn bonus credit for every friend who joins and recharges.

💬 WhatsApp
✈️ Telegram
🔍 Google
📘 Facebook
🎵 TikTok
📸 Instagram
🐦 Twitter/X
💼 LinkedIn
🛒 Amazon
🚗 Uber
🍔 DoorDash
💬 Discord
🎮 Steam
🏦 PayPal
💰 Cash App
🎬 Netflix
💬 WhatsApp
✈️ Telegram
🔍 Google
📘 Facebook
🎵 TikTok
📸 Instagram
🐦 Twitter/X
💼 LinkedIn
🛒 Amazon
🚗 Uber
🍔 DoorDash
💬 Discord
🎮 Steam
🏦 PayPal
💰 Cash App
🎬 Netflix
Transparent Pricing

Pay Only For What You Use

No subscriptions. No hidden fees. Numbers start from just $0.05.

WhatsApp
per number
Telegram
per number
Google
per number
Facebook
per number
View Full Pricing →
Under 3 seconds SMS delivery
🌍 5 countries available
📱 500+ apps supported
💳 Crypto payments accepted
🔒 No personal data needed
🔌 REST API available
Platform Performance
Numbers Don't Lie
Real metrics from our infrastructure — what you can expect every time you use PingNum.
99%
SMS Delivery Rate
<3s
Average SMS Speed
500+
Supported Services
5
Countries Available

Start Receiving SMS in 60 Seconds

Create your account, add balance, and buy your first virtual number instantly.

View Pricing
Virtual Numbers
Choose a Number
Card Type
Select Category
Loading numbers...
My Account
Dashboard
Balance
$0.00
Platform wallet
Orders
0
All time
Active Numbers
0
Currently live
Referrals
0
Friends invited
📊 Spending Analytics
Loading...
✅ Active Numbers
Loading your numbers...
📋 Order Management
Loading...
⏳ Free Extension Section
Numbers without SMS can be extended for free here.
Loading...
📱 SMS History
Loading SMS history...
💳 Recharge Balance
Add funds with crypto. Auto-confirmed. Minimum $12.
Loading coins...
💳 Recharge History
Loading...
📊 Transactions & Billing
Manage your financial records and purchase history.
💸
All Transactions
View income and expenses
🛍️
Purchase History
Your number purchase logs
Transactions
Loading transactions...
Purchase History
Loading...
↗️ Transfer Funds or Numbers
Select what you would like to transfer to another PingNum user.
💰
Transfer Balance
Send funds instantly
📱
Transfer Number
Move active numbers
↗ Transfer Balance
Send balance to another user instantly.
📱 Transfer Number
Transfer an active number to another user. Recipient must pay to activate.
Total Referrals
Bonuses Paid
Total Earned
from referrals
🔗 Your Referral Link
Earn bonus credit for every friend who joins and recharges.
👥 Friends You Referred
Loading...
🔌 API Access
Use your API key to integrate PingNum into your own platform or automate number purchasing programmatically.
📖 API Documentation
🌐 Basic Information
API Base URL
https://pingnum.com
All endpoints format: https://pingnum.com + endpoint path
Example: https://pingnum.com/api/user/apps
API Request Rate Limits
ScopeMax per 60sBan duration if exceeded
Per IP120600 seconds (10 minutes)
Per API Key60600 seconds (10 minutes)
Stricter Routes
PathIP / 60sKey / 60sBan duration
/api/user/buy2010900 seconds
/api/user/apps3020600 seconds
/api/user/sms/:id6030300 seconds
When limits are hit: HTTP 429 is returned. After a ban is applied, further calls from the same IP or key may be rejected until the ban expires.
🚀 Quick Start
1. Get API Key — Go to Dashboard → API Access. Click Generate New Key and copy your key.
2. Set Request Header — All API requests must include:
HeaderValue
X-Api-Keyyour_api_key_here
Content-Typeapplication/json (POST requests only)
3. Make your first request
curl -X GET "https://pingnum.com/api/user/me" \ -H "X-Api-Key: your_api_key_here"
🔐 Authentication
Add the following header to every API request:
X-Api-Key: your_api_key_here
🔒 Keep your key secure — do not expose it in client-side code
🔄 Regenerate your key anytime from the API Access tab
🚫 Do not share or commit your key to public repositories
📊 API Overview
ModuleEndpointMethodDescription
Account/api/user/meGETGet account info & balance
Account/api/user/balanceGETGet wallet balance
Numbers/api/user/appsGETGet available numbers list
Purchase/api/user/buyPOSTBuy a number
SMS/api/user/sms/:item_idGETGet received SMS
Session/api/user/extend/:item_idPOSTExtend session by 15 min
Orders/api/user/ordersGETGet order history
📝 Detailed API Documentation
GET /api/user/me Get Account Info
Returns your account name, email and balance.
Request Example
curl -X GET "https://pingnum.com/api/user/me" \ -H "X-Api-Key: your_api_key_here"
Response Fields
FieldTypeDescription
okbooltrue on success
namestringAccount name
emailstringAccount email
balancefloatWallet balance (USD)
Response Example
{ "ok": true, "name": "John", "email": "john@email.com", "balance": 5.00 }
GET /api/user/balance Get Balance
Returns your current wallet balance in USD.
Request Example
curl -X GET "https://pingnum.com/api/user/balance" \ -H "X-Api-Key: your_api_key_here"
Response Fields
FieldTypeDescription
okbooltrue on success
balancefloatCurrent wallet balance (USD)
Response Example
{ "ok": true, "balance": 12.50 }
GET /api/user/apps Get Number List
Returns all available number apps with pricing.
Request Parameters
ParameterTypeRequiredDefaultDescription
typeintNo11=New, 2=Restart, 3=Renew
searchstringNoFilter by app name (fuzzy)
cate_idintNo2=US VOIP, 5=US Non-VOIP, 3=Canada, 4=HK, 6=UK, 7=Indonesia
Request Example
curl -X GET "https://pingnum.com/api/user/apps?type=1&search=whatsapp" \ -H "X-Api-Key: your_api_key_here"
Response Fields (data array)
FieldTypeDescription
app_idintApp ID — use in /buy
namestringApp name (e.g. WhatsApp)
countrystringCountry name
flagstringCountry flag emoji
cate_idintCategory ID — use in /buy
price_t1floatPrice for type=1 (New) in USD
price_t2floatPrice for type=2 (Restart) in USD
price_t3floatPrice for type=3 (Renew) in USD
stockint / nullAvailable quantity (null if hidden)
Response Example
{ "ok": true, "data": [ { "app_id": 1, "name": "WhatsApp", "country": "United States (VOIP)", "flag": "🇺🇸", "cate_id": 2, "price_t1": 0.15, "price_t2": 0.10, "price_t3": 0.08, "stock": 150 } ]}
POST /api/user/buy Buy a Number
Purchase a phone number. Balance is deducted instantly.
Request Parameters
ParameterTypeRequiredDefaultDescription
app_idintYesApp ID from /apps
cate_idintYesCategory ID from /apps
typeintNo11=New, 2=Restart, 3=Renew
numintNo1Purchase quantity (max 50)
prefixstringNoSpecify area code prefix (e.g. "212")
Request Example
curl -X POST "https://pingnum.com/api/user/buy" \ -H "X-Api-Key: your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "app_id": 1, "cate_id": 2, "type": 1, "num": 1 }'
Response Fields
FieldTypeDescription
ordernumstringOrder number
countintNumber of items purchased
total_chargedfloatAmount deducted (USD)
balance_remainingfloatBalance after purchase (USD)
session_minutesintSession duration in minutes
items[].idintItem ID — use for /sms and /extend
items[].telstringPhone number
items[].end_timestringProvider expiry date
items[].session_enddatetimePingNum session expiry
Response Example
{ "ok": true, "data": { "ordernum": "260609123456", "count": 1, "total_charged": 0.15, "balance_remaining": 12.35, "session_minutes": 360, "items": [{ "id": 42, "tel": "12025551234", "end_time": "2026-07-31 00:00:00", "session_end": "2026-06-09T12:00:00Z" }] }}
GET /api/user/sms/:item_id Get SMS
Get received SMS for a purchased number. Poll every 5–10 seconds until OTP arrives.
Path Parameter
ParameterTypeRequiredDescription
item_idintYesItem ID from /buy response (items[].id)
Request Example
curl -X GET "https://pingnum.com/api/user/sms/42" \ -H "X-Api-Key: your_api_key_here"
Response Fields
FieldTypeDescription
numberstringPhone number
appstringApp name
statusstringactive / expired
session_enddatetimeSession expiry time
sms[].contentstringFull SMS text
sms[].otp_codestringExtracted OTP / verification code
sms[].received_atdatetimeTime SMS was received
Response Example
{ "ok": true, "number": "12025551234", "app": "WhatsApp", "status": "active", "session_end": "2026-06-09T12:00:00Z", "sms": [{ "content": "Your WhatsApp code is 123-456", "otp_code": "123456", "received_at": "2026-06-09T09:05:00Z" }] }
POST /api/user/extend/:item_id Extend Session
Extend the session of a number by 15 minutes. Costs 50% of the original unit price.
Path Parameter
ParameterTypeRequiredDescription
item_idintYesItem ID from /buy response (items[].id)
Request Example
curl -X POST "https://pingnum.com/api/user/extend/42" \ -H "X-Api-Key: your_api_key_here"
Response Fields
FieldTypeDescription
session_enddatetimeNew session expiry (extended by 15 min)
costfloatAmount deducted (USD)
balance_remainingfloatBalance after extend (USD)
Response Example
{ "ok": true, "session_end": "2026-06-09T12:15:00Z", "cost": 0.075, "balance_remaining": 12.275 }
GET /api/user/orders Get Order List
Returns your recent orders. Maximum 100 per request.
Request Parameters
ParameterTypeRequiredDefaultDescription
limitintNo20Number of records to return (max 100)
Request Example
curl -X GET "https://pingnum.com/api/user/orders?limit=20" \ -H "X-Api-Key: your_api_key_here"
Response Fields (data array)
FieldTypeDescription
idintOrder ID
ordernumstringOrder number
app_namestringApp name
quantityintNumbers purchased
total_pricefloatTotal charged (USD)
statusstringactive / expired
numbersstringComma-separated phone numbers
item_idsstringComma-separated item IDs (use for /sms)
Response Example
{ "ok": true, "data": [{ "id": 10, "ordernum": "260609123456", "app_name": "WhatsApp", "quantity": 1, "total_price": 0.15, "status": "active", "numbers": "12025551234", "item_ids": "42" }]}
📦 Response Format
Success Response
{ "ok": true, "data": { ... } }
Error Response
{ "ok": false, "msg": "Error description" }
❌ Error Code Description
HTTP CodeMeaningDescription
200Successok: true — request successful
400Bad RequestMissing required field or insufficient balance
401UnauthorizedInvalid or missing API key
404Not FoundItem not found or does not belong to your account
429Too Many RequestsRate limit exceeded — slow down and retry after ban expires
500Server ErrorProvider error — check msg field for details
Common Error Messages
"Invalid API key" — Key is wrong or not generated yet
"Insufficient balance" — Top up your wallet and try again
"App not found or unavailable" — app_id is invalid or stock is 0
"Service list temporarily unavailable" — Provider API is down; retry in a few minutes
"Number has fully expired on the provider" — Cannot extend; provider end_time has passed
💻 Sample Code
<?php $apiKey = 'your_api_key_here'; $base = 'https://pingnum.com'; function pingnum($path, $method='GET', $body=null) { global $apiKey, $base; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $base.$path); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $headers = ['X-Api-Key: '.$apiKey, 'Content-Type: application/json']; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); if ($method === 'POST') { curl_setopt($ch, CURLOPT_POST, true); if ($body) curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body)); } $res = curl_exec($ch); curl_close($ch); return json_decode($res, true); } // Check balance $r = pingnum('/api/user/balance'); echo "Balance: $" . $r['balance'] . "\n"; // Get WhatsApp numbers (US) $r = pingnum('/api/user/apps?search=whatsapp&cate_id=2'); $app = $r['data'][0]; echo "App: " . $app['name'] . " — $" . $app['price_t1'] . "\n"; // Buy a number $r = pingnum('/api/user/buy', 'POST', [ 'app_id' => $app['app_id'], 'cate_id' => $app['cate_id'], 'type' => 1, 'num' => 1 ]); if ($r['ok']) { $item = $r['data']['items'][0]; echo "Number: " . $item['tel'] . " (ID: " . $item['id'] . ")\n"; // Poll for SMS for ($i = 0; $i < 30; $i++) { sleep(5); $sms = pingnum('/api/user/sms/' . $item['id']); if (!empty($sms['sms'])) { echo "OTP: " . $sms['sms'][0]['otp_code'] . "\n"; break; } } } else { echo "Error: " . $r['msg'] . "\n"; } ?>
❓ Frequently Asked Questions
Q: How do I get an API key?
Go to Dashboard → API Access. Click Generate New Key. Copy and store the key securely.
Q: How long does the API key last?
The key is valid permanently until you regenerate it. Regenerating immediately invalidates the old key.
Q: How do I receive SMS after buying a number?
Use the item_id from the /buy response and call GET /api/user/sms/:item_id every 5–10 seconds until the SMS arrives.
Q: What is the difference between type 1, 2 and 3?
type=1 (New) — Buy a brand new number.
type=2 (Restart) — Reactivate a number that was previously used.
type=3 (Renew) — Extend the provider-level expiry of an existing number.
Q: What does "Extend session" do vs "Renew"?
Extend (/extend) — Adds 15 more minutes to your PingNum session so you can keep receiving SMS. Costs 50% of original price.
Renew (buy type=3) — Renews the number at the provider level (longer validity period). Costs full price.
Q: What to do when purchase shows "App not found or unavailable"?
The app_id may be invalid, or the number is out of stock. Call /api/user/apps to get the latest list and try a different app_id.
Q: I get HTTP 429. What should I do?
You have exceeded the rate limit. Wait for the ban to expire (usually 10–15 minutes), then reduce your request frequency. Avoid polling SMS faster than every 5 seconds.
📞 Technical Support — If you encounter any issues, contact us via Telegram Support or submit a ticket from the Support tab.
Base URL: https://pingnum.com
Request Header (All Endpoints)
Field NameTypeRequiredDescription
X-Api-KeystringYesYour API key from API Access settings
Content-TypestringPOST onlyapplication/json
GET /api/user/me Account info
Returns your account name, email and balance.
Response Fields
FieldTypeDescription
okbooltrue on success
namestringAccount name
emailstringAccount email
balancefloatWallet balance (USD)
Example Response
{ "ok": true, "name": "John", "email": "john@email.com", "balance": 5.00 }
GET /api/user/balance Check balance
Returns your current wallet balance in USD.
Response Fields
FieldTypeDescription
okbooltrue on success
balancefloatCurrent wallet balance (USD)
Example Response
{ "ok": true, "balance": 12.50 }
GET /api/user/apps Available numbers
Returns all available number apps with pricing.
Query Parameters
FieldTypeRequiredDefaultDescription
typeintNo11=New, 2=Restart, 3=Renew
searchstringNoFilter by app name
cate_idintNo2=US VOIP, 5=US Non-VOIP, 3=CA, 4=HK, 6=UK, 7=ID
Response Fields (data array)
FieldTypeDescription
app_idintApp ID — use in /buy
namestringApp name (e.g. WhatsApp)
countrystringCountry name
cate_idintCategory ID — use in /buy
price_t1floatPrice for type=1 (New)
price_t2floatPrice for type=2 (Restart)
price_t3floatPrice for type=3 (Renew)
stockintAvailable quantity
Example Response
{ "ok": true, "data": [ { "app_id": 1, "name": "WhatsApp", "country": "United States (VOIP)", "flag": "🇺🇸", "cate_id": 2, "price_t1": 0.15, "price_t2": 0.10, "price_t3": 0.08, "stock": 150 } ]}
POST /api/user/buy Buy a number
Purchase a phone number. Balance is deducted instantly.
Request Body
FieldTypeRequiredDefaultDescription
app_idintYesApp ID from /apps
cate_idintYesCategory ID from /apps
typeintNo11=New, 2=Restart, 3=Renew
numintNo1Quantity
prefixstringNoArea code prefix (e.g. "212")
Response Fields
FieldTypeDescription
ordernumstringOrder number
total_chargedfloatAmount deducted (USD)
balance_remainingfloatBalance after purchase
items[].idintItem ID — use for /sms and /extend
items[].telstringPhone number
items[].session_enddatetimeSession expiry time
Example Response
{ "ok": true, "data": { "ordernum": "260609123456", "count": 1, "total_charged": 0.15, "balance_remaining": 12.35, "session_minutes": 360, "items": [{ "id": 42, "tel": "12025551234", "end_time": "2026-07-31 00:00:00", "session_end": "2026-06-09T12:00:00Z" }] }}
GET /api/user/sms/:item_id Get SMS
Get received SMS for a purchased number. Poll every 5–10 seconds until OTP arrives.
Path Parameter
FieldTypeDescription
item_idintItem ID from /buy response
Response Fields
FieldTypeDescription
numberstringPhone number
statusstringactive / expired
session_enddatetimeSession expiry
sms[].contentstringFull SMS text
sms[].otp_codestringExtracted OTP code
sms[].received_atdatetimeTime SMS was received
Example Response
{ "ok": true, "number": "12025551234", "app": "WhatsApp", "status": "active", "session_end": "2026-06-09T12:00:00Z", "sms": [{ "content": "Your code is 123456", "otp_code": "123456", "received_at": "2026-06-09T09:05:00Z" }] }
POST /api/user/extend/:item_id Extend session
Extend the session of a number by 15 minutes. Costs 50% of the original unit price.
Path Parameter
FieldTypeDescription
item_idintItem ID from /buy response
Response Fields
FieldTypeDescription
session_enddatetimeNew session expiry (extended by 15 min)
costfloatAmount deducted (USD)
balance_remainingfloatBalance after extend
Example Response
{ "ok": true, "session_end": "2026-06-09T12:15:00Z", "cost": 0.075, "balance_remaining": 12.275 }
GET /api/user/orders Order history
Returns your recent orders. Max 100 per request.
Query Parameters
FieldTypeRequiredDefaultDescription
limitintNo20Number of records (max 100)
Response Fields (data array)
FieldTypeDescription
idintOrder ID
ordernumstringOrder number
app_namestringApp name
quantityintNumbers purchased
total_pricefloatTotal charged (USD)
statusstringactive / expired
numbersstringComma-separated phone numbers
item_idsstringComma-separated item IDs
Example Response
{ "ok": true, "data": [ { "id": 10, "ordernum": "260609123456", "app_name": "WhatsApp", "quantity": 1, "total_price": 0.15, "status": "active", "numbers": "12025551234", "item_ids": "42" } ]}
⚠️ Error Responses
CodeMeaningDescription
401UnauthorizedInvalid or missing API key
400Bad RequestMissing required field or insufficient balance
404Not FoundItem ID not found or not yours
500Server ErrorProvider error — check msg field
All error responses: { "ok": false, "msg": "reason" }
💬 Support & Report
Need help or found a bug? We're here to assist you.

If you face any issues with recharge, SMS delivery, or transfers, please contact our support team directly via Telegram or Email. Include your User ID or Order ID for faster resolution.

✈️ Contact on Telegram
Admin Panel
Control Center
Supplier Balance
$
Supplier wallet
Platform Funds
$0
All customer wallets
Total Revenue
$0
Approved recharges
Total Orders
0
All time
Today Orders
0
Today
Today Sales
$0
Orders charged today
Today Profit
$
Sales − supplier cost
Total Sales
$0
All time orders
Total Profit
$
Sales − supplier cost
Pending
0
Recharge requests
Reports
0
User complaints
Total Users
0
Registered
📊 Weekly Revenue
This Month Revenue
This Month Profit
All Time Revenue
All Time Profit
Total Recharged
Daily Revenue — Last 30 Days
Loading...
Top Services by Orders
Loading...
UserEmailBalanceOrdersReferralsJoinedStatusActions
UserMethodRequestedTxIDDateStatusAction
UserOrder #ServiceNumbersQtyTotalDate
UserTypeAmountBalance AfterNoteDate

💰 Global Pricing

Markup 0% = same as Supplier price. Increase this only when you want to add profit. Per-service custom prices override this.

🔑 API Provider

Change the Supplier API key used for balance, service list, number purchase, and SMS requests.

📲 SMS Pool

SMS Pool integration settings.

🎁 Referral & Support

🎨 Display Options

Shop page এ Remaining Quantity column দেখাবে কিনা তা control করুন।
🎯 Per-Service Pricing
Set price by card type. Blank = global markup.
ServiceCostFirst Card ($)Restart Card ($)Renew Card ($)
🔑 First Card = new number 🔁 Restart Card = reuse number 🔄 Renew Card = extend session
Banner text লিখে Active চেক করে Save করলে সব user এর page এর top এ দেখাবে। User dismiss করতে পারবে।
Add New Server
Each server is an independent Supplier account. Users can pick a server in the shop.
📡 Supplier Webhook URL:
📲 SMS Push Webhook URL:
Loading servers...
Create Reseller Account
Resellers access the API at seller.pingnum.com with their own pricing and balance.
Loading resellers...
Import Numbers
Paste numbers one per line (or comma separated). Numbers are assigned to users when they buy "New SMS" cards.
Number Pool
Loading...

🚫 Disable Service

Enter an App ID (e.g. 100 for Instagram) to hide it from the shop.
List of Disabled Services
App IDServerAction
📂 All Available Services
IDService NameAction
Numbers reported by users as not receiving codes.
UserPhoneServiceReported AtAction
Loading tickets...
💬 Live Chat Support
No active chats
← Select a chat to view
💰 User Balances
Total Platform Balance
Users with Balance
Avg Balance / User
Top Balance
Top 15 Users by Balance
Loading...
#UserEmailBalanceOrdersStatusActions
🔄 Auto-Renew Numbers
UserEmailBalancePhone NumberServiceOrder #Provider ExpirySMS
Loading...
📲
Install PingNum
Add to home screen for faster access
🤖
PingNum Support
Online — usually replies instantly
Introduce yourself to get started: