Virtual Phone Numbers for OTP
One-time SMS numbers for WhatsApp, Telegram, TikTok, Google, Facebook and more. Receive codes in real time — no SIM card needed.
180+ countriesGet a number
Get instant virtual phone numbers from 180+ countries for SMS or call OTP verification. Works with WhatsApp, Telegram, Google, Facebook and 5,000+ services. Free sign-up, cheap and premium numbers, renewable rentals, temporary Gmail/iCloud email and a developer REST API — all on one wallet.
No account needed to browse. Log in only when you are ready to buy a number.
Everything you need for privacy-first sign-ups, QA testing and automated verification across thousands of services.
One-time SMS numbers for WhatsApp, Telegram, TikTok, Google, Facebook and more. Receive codes in real time — no SIM card needed.
180+ countriesKeep a number for 12 hours up to 12 months. Renewable, assigned to your account, with automatic discounts on longer rentals.
Up to 40% off long rentalsFor services that verify by voice call instead of SMS. Premium servers handle call and SMS verification in one place.
SMS + call OTPBudget servers for testing and low-risk registrations. Start with a tiny balance — you only pay when a code arrives.
Pay per codeDisposable Gmail, iCloud and other domains for email OTP. Pick the domain and the site you’ll use it on, then reorder for another code on the same mailbox.
2 email serversOrder numbers, poll for codes and manage rentals and email from your own bot, script or store with a single API key.
Docs with live examplesPick the server that fits your budget and the service you’re verifying. Prices are shown in your dashboard in real time.
SMS OTP for thousands of services across 180+ countries.
Lowest-cost servers for testing and non-critical registrations.
Higher-quality pool for services that are picky about number type.
Keep one number for as long as you need it — unlimited incoming SMS during the rental.
Disposable Gmail, iCloud and other domains for email verification codes.
Built for freelancers, marketers, developers and resellers who need reliable SMS and email verification every day.
Add balance with local gateways and crypto; funds are credited to your wallet automatically.
View prices in your preferred currency in the dashboard and via the API.
One-click copy for numbers and codes, with a countdown timer on every active order.
No code? Cancel manually within 10 minutes and the amount returns to your wallet.
Need another code on the same temp mailbox? Reorder it without buying a new address.
Every order, code, refund and transaction is logged in your account.
Know instantly whether a number is out of stock, your balance is low or a server is busy.
Cheap servers for testing, premium servers for strict services — you choose per order.
Responsive dashboard that works great on phones, so you can verify on the go.
Connect your own bot or store with one key and set your own margins.
Copy-paste examples for every endpoint, downloadable as Markdown.
WhatsApp support, Telegram channel and a ticket desk when you need a hand.
Plug our number, rental and temp-email API straight into your Telegram bot, SMS store or internal tool. Set your own prices and keep the margin.
# 1. Order a number (IDs come from getCountries / getServices)
import requests, time
API = "https://otpget.com/stubs/handler_api.php"
KEY = "YOUR_API_KEY"
r = requests.get(API, params={
"api_key": KEY, "action": "getNumber",
"service": "SERVICE_ID", "country": "COUNTRY_ID", "type": 1,
}).text
# ACCESS_NUMBER:order_id:phone:price
_, order_id, phone, price = r.split(":")
print("Number:", phone)
# 2. Poll for the code
while True:
s = requests.get(API, params={"api_key": KEY, "action": "getStatus", "id": order_id}).text
if s.startswith("STATUS_OK"):
print("Code:", s.split(":")[1]); break
time.sleep(3)
// 1. Order a number (IDs come from getCountries / getServices)
const API = "https://otpget.com/stubs/handler_api.php";
const KEY = "YOUR_API_KEY";
const q = (p) => API + "?" + new URLSearchParams({ api_key: KEY, ...p });
const order = await (await fetch(q({
action: "getNumber", service: "SERVICE_ID", country: "COUNTRY_ID", type: 1,
}))).text();
// ACCESS_NUMBER:order_id:phone:price
const [, orderId, phone] = order.split(":");
console.log("Number:", phone);
// 2. Poll for the code
for (;;) {
const s = await (await fetch(q({ action: "getStatus", id: orderId }))).text();
if (s.startsWith("STATUS_OK")) { console.log("Code:", s.split(":")[1]); break; }
await new Promise(r => setTimeout(r, 3000));
}
// 1. Order a number (IDs come from getCountries / getServices)
$api = 'https://otpget.com/stubs/handler_api.php';
$key = 'YOUR_API_KEY';
$order = file_get_contents($api . '?' . http_build_query([
'api_key' => $key, 'action' => 'getNumber',
'service' => 'SERVICE_ID', 'country' => 'COUNTRY_ID', 'type' => 1,
]));
// ACCESS_NUMBER:order_id:phone:price
[, $orderId, $phone] = explode(':', $order);
echo "Number: $phone\n";
// 2. Poll for the code
do {
sleep(3);
$s = file_get_contents($api . '?' . http_build_query([
'api_key' => $key, 'action' => 'getStatus', 'id' => $orderId,
]));
} while (strpos($s, 'STATUS_OK') !== 0);
echo 'Code: ' . explode(':', $s)[1];
# 1. Order a number → ACCESS_NUMBER:order_id:phone:price
curl "https://otpget.com/stubs/handler_api.php?api_key=YOUR_API_KEY&action=getNumber&service=SERVICE_ID&country=COUNTRY_ID&type=1"
# 2. Poll for the code → STATUS_WAIT_CODE or STATUS_OK:123456
curl "https://otpget.com/stubs/handler_api.php?api_key=YOUR_API_KEY&action=getStatus&id=ORDER_ID"
getCountries · getServicesList countries, services and live prices.
getNumber · getStatusOrder a number and poll for the OTP code.
/stubs/email-handler.phpBuy temp email, read the code, cancel or reorder.
From registration to your first OTP in about a minute.
Sign up with just your email. No credit card required to explore numbers and prices.
Top up any amount with local payment methods or crypto. Only pay for the codes you receive.
Choose from 180+ countries and 5,000+ services like WhatsApp, Telegram, Google or Discord.
The verification code shows up on your dashboard the moment the service sends it — copy it in one click.
From messengers and social networks to marketplaces and AI tools.
Plus thousands more, including Netflix, Uber, OpenAI ChatGPT, Tinder, Steam, PayPal and Twitter / X.
Local numbers across North America, Europe, Asia, Africa and Latin America. Live stock and prices are in your dashboard.
This country isn’t listed here, but 150+ more are available — see them after you sign in.
Plus 150+ more countries, updated regularly.
A virtual number for OTP verification is a phone number that isn’t tied to a SIM card in your pocket. It receives SMS (and, on supported servers, voice calls) and shows the verification code in your online dashboard, so you can sign up or log in to apps without exposing your personal number.
OtpGet offers one-time numbers, long-term rentals, cheap and premium servers and temporary email in one wallet. Not every service accepts every number, so we give you several servers to choose from — and if a code doesn’t arrive, you cancel and get refunded.
Whether you’re a developer testing sign-up flows, a marketer managing regional profiles, or a privacy-conscious user keeping spam away from your real number, you can receive SMS online in seconds and pay only for what you use.
Test multi-factor sign-ups and localisation flows in different countries.
Keep your personal number out of marketing and spam databases.
Manage separate social profiles across multiple regions.
Automate OTP steps in test pipelines through the REST API.
Built for speed, reliability and privacy.
Temporary Gmail, iCloud and other domains with code reorder on the same mailbox.
Rent from 12 hours to 12 months, with automatic discounts of up to 40% on longer rentals.
Codes appear on your dashboard as soon as the service sends them.
Built for steady delivery, with a clear refund rule when a code doesn’t arrive. See the refund policy.
Use a separate number for every sign-up and keep your own number private.
Local gateways and crypto, with multi-currency price display.
Everything about OtpGet virtual numbers, billing and API integration.
Join 50,000+ users receiving verification codes across 180+ countries.