Keep your personal number private
Your real phone number never touches HUD. Use a virtual number for full privacy.
The SMS Verification HUD API is your central, programmatic gateway to requesting virtual numbers, polling for one-time passcodes (OTPs), and building a heads-up display for your verification workflows. It's not a visual dashboard; it's a set of HTTP endpoints that let your code request a number, receive an SMS, and act on it instantly, without ever touching a physical SIM.
HUD SMS verification confirms you control a phone number by sending a 6-digit OTP to that number during signup or login. With SMSPin you receive that code on a temporary virtual number online โ no physical SIM card needed and your production workflows stay separate.
No paperwork, no carrier hassle โ a real number ready to receive your HUD OTP code right now.
Your real phone number never touches HUD. Use a virtual number for full privacy.
HUD sends the SMS immediately. Your inbox refreshes in real time โ no delays.
US, UK, Germany, India, Brazil, and more. Real, carrier-registered numbers.
Everything happens online. No monthly subscription to buy, no roaming, no second phone.
If the OTP never arrives in 20 minutes, your credits return automatically.
Top up with USDT, BTC, ETH and more via Cryptomus. No card required.
Four steps โ from picking a number to a verified HUD account.
Request a number ย POST to https://smspin.io/api/request with your API key, specifying the app (e.g., WhatsApp) and country code. A JSON response returns your order_id and virtual number.
Parse the response ย Your order_id and number arrive instantly. Note the order ID ย that's your polling reference point.
Trigger the OTP ย Request the verification code from the app (WhatsApp, Telegram, etc.), and the OTP is sent to your temporary number.
Retrieve the code ย Call the status endpoint to check for messages and fetch the actual code once status is PROCESSED.
SMSPin is provided for legitimate privacy and convenience use cases only. Please review HUD's terms before use.
Need a specific country code for your HUD verification? We've got you covered.
Every SMSPin number is a legitimate, carrier-registered mobile number โ not a VoIP range. HUD accepts them reliably.
Sign up with email only. Your real number and identity stay private.
The moment HUD sends your OTP, it appears in your dashboard โ pushed, not polled.
Poll every 2 seconds ย fast enough to catch the code the moment it lands; set a 2-minute timeout before giving up.
Country routing matters ย if no code arrives, change your country parameter; some services have native support in certain regions.
Webhooks beat polling ย set a webhook URL when ordering and the server will push the SMS to your app instantly.
Refund safety net ย SMSPin auto-refunds when no SMS is delivered, so you only pay for successful requests.
One-Time SMS | Rental Number | |
Duration | Single session (~20โ30 min) | 1 day up to 1 month |
Best for | Quick verifications, tests | Long-term accounts, repeated logins |
Price | Per use from $0.01 | Cheaper for high OTP volume |
Reuse | No | Yes, same number stays attached |
US numbers: fastest and most reliable for WhatsApp, Facebook, Google, and Discord ย ideal for high-success acceptance.
International (e.g., UK, India): good for testing international routes, though acceptance rates can dip ย use the country parameter and test per region.
Rental persistence: for accounts that need to "last" weeks or months, rent a number from SMSPin in a specific region for ongoing verification.
Absolutely, when used within the terms of service. SMSPin's API helps you receive verification codes for testing and valid app signups. We are not affiliated with any app or website, so never spam, harass, or violate 3rd-party terms.
This usually means the app doesn't deliver to that number/region combo. Try another geo-setting, ideally one the app supports well. If you still don't get a code, SMSPin auto-refunds cases where no code was issued.
A one-time SMS is active for a single session (approx. 20โ30 mins), which is fine for quick verification. A rental number is active for a day, week, or month, so you can log back in later, run repeated tests, or use the same number for an ongoing flow.
The big NO-go is banking, trading, or 2FA recovery. Since a temp number can be recycled, losing access to it can permanently lock you out of an account. Do not use a virtual SIM for any account tied to potential loss of funds.
Yes. With SMSPin, our auto-refund process kicks in if the final SMS isn't delivered after a reasonable wait. You won't pay for failed message delivery. You only see minimal transaction fees for unassigned requests.
Any SMS verification HUD to put should include real-world acceptance rates. You want "refund," "polling," and clear "no code" procedures in documentation.
The SMS Verification HUD API is your central, programmatic gateway to requesting virtual numbers, polling for one-time passcodes (OTPs), and building a heads-up display for your verification workflows. It's not a visual dashboard; it's a set of HTTP endpoints that let your code request a number, receive an SMS, and act on it instantly, without ever touching a physical SIM.
Who is this guide for? Developers, QA engineers, DevOps leads, and product managers who need to automate signup flows, test multi-factor authentication, or let users verify accounts without exposing their personal numbers. You'll want this if you're integrating with WhatsApp, Telegram, Google, or any service with SMS-based verification.
When NOT to use it: Don't use an SMS verification HUD for banking password resets or services that require permanent phone ownership. If the account is tied to the phone number for recovery, use a rented number for longevity.
What it is: A programmatic API surface (like SMSPin's) that lets you order a virtual phone number and get the SMS code via HTTP, no manual SIM cards.
The core benefit: Automation. You can sign up for test accounts, verify users, and poll for OTPs in milliseconds with zero human intervention just API calls.
Keep ahead: An SMS Verification HUD behaves like a live inbox; you POST to order a number, then GET its status to fetch the code.
When it's overkill: For a handful of verification tests, a manual page might work. Go with the API if you're automating at scale or running CI/CD.
Refund safety net: Quality providers (like SMSPin) offer automatic refunds if no SMS arrives, so you only pay for successful requests.
An SMS Verification HUD isn't a graph-heavy data visual; it's a heads-up display for your workflow the programmatic layer that connects your backend to a cloud SMS inbox. Instead of renting a physical SIM and mounting it in a drawer, you rent a virtual number through an API and poll for incoming messages.
The "Heads-Up" part comes from the live feed: your system can display all incoming SMS codes for every number you're running in a single JSON response. For the developer, that means a number you request plus a message ID you can poll; it's like having an active SIM army without the hardware.
Core difference from manual SIMs:
Scale โ handles dozens of numbers simultaneously.
Speed โ OTPs arrive in milliseconds, delivered via REST.
Control โ you can cancel, refresh, reuse, or rent a number, all via API.
Key Note: In the tech stack, "inbox," "API," and "HUD" are sometimes used interchangeably; what matters about the SMS Verification HUD is that it's a command-line-friendly inbox you can automate.
If you're doing one-off manual verifications for an app, simpler paths exist: a website or a public inbox site will work fine. But when you're running high-volume signups (100+ OTPs daily), app testing loops, or QA automation, a manual solution quickly becomes a bottleneck.
For high volume, the API is non-negotiable. The goal is to automate around repetitive copy-pasting: you can request a number via API and retrieve the code via a simple function call.ย
This is ideal for:
Automated QA: Run thousands of signup tests in a CI/CD pipeline.
CI/CD integration โ the API hooks into your testing framework for immediate verifications.
User-facing flows โ your backend can verify a user's phone to issue login codes without tying up your developers and your pesky personal cell.
If you only need occasional verification and don't care about speed, a manual setup may be fine, but be honest with yourself about future growth. For testing modern apps across multiple regions, the API scales better with actual code.
Before you can call the HUD, you'll need the right credentials and prerequisites.ย
It's a short checklist; don't skip steps:
1. Generate your API key
You'll find it inside your account settings under the API Key tab. Copy it; this key identifies you to the service.
2. Identify your base URL
The primary endpoint for SMSPin. All requests use this endpoint.
3. Ensure your account has a balance
The HUD works on a usage-based model; you'll get 402 Payment Required errors if your balance hits zero. Load a minimal deposit before you start testing.
4. Use HTTPS only
Hit every endpoint with a secure HTTPS request. HTTP will fail.
5. Set your user-agent
Some API providers allow you to set a custom user-agent for an application. Not all do this, but it's good practice for the tone use case in some setups.
Once you've got these five pieces, you're ready for the integration.
Let's bring it all together. Here's your first API call to receive an SMS:
Request a number:
You'll POST to the request_number endpoint, telling the system which app you want (e.g., WhatsApp) and the country code.
Parse the response:
You'll get a JSON back like this.
Note the order_id (id) ย that's your poll's key point.
Trigger the OTP:
Request the verification code from the app (WhatsApp, etc.), and the OTP will be sent to the temporary number.
Retrieve the code:
Later, call the status endpoint to check for messages and get the actual code.
That's your first "Hello World" of SMS Verification HUD. From here, you can build on this base.
To check if a code has arrived, you'll GET the order status.
The response will have a status field:
WAITING โ The number is active, but no SMS has arrived yet.
PROCESSED โ The code has arrived and is available.
EXPIRED โ The number expired after 10- 40 min of inactivity.
CANCELLED โ The order was canceled.
Once PROCESSED, the JSON will include the sms and sms_code fields with the code.
Best practices for ten polls:
Poll interval: Send a request every 2 seconds to stay fast enough.
Timeout: Set a 2-minute timer; once elapsed, consider the attempt failed.
Auto-cleanup: Don't reuse a number across tests; the number gets recycled, and your code goes with it.
If no code arrives, you can retry with the "request a new number" route.
Tune your system to handle incoming data as efficiently as possible.
Webhooks Ultimate โ Set a webhook when ordering a number:
The server will POST to that URL when the SMS arrives. That push removes the need to poll entirely.
Idempotency-Key: Use an idempotency key in your POST to prevent your order from double-charging or receiving spurious codesโkey point: a strong idempotency key prevents duplicate orders, but you must implement it correctly.
Parse the JSON and log it in your analytics or log-ingestion tool (e.g., AWS Kinesis). You can structure your HUD as a stream of number, SMS, and timestamp, making debugging much easier for the dev team.
With these tips, your application can react to every incoming code like a push, not like a phone checking for texts every few seconds.
For developers, the most significant value comes in testing the signup flow end-to-end:
The Universal Use-Case:
App signup QA, where you verify the registration form works with automation in the loop.
Behavior testing for data collection.
A PIN reset test needs a valid, unique number.
Key scenario ย reset test minute:
You can create a new test account, click through the browser flow, and your API returns the SMS. The whole round trip takes under 5 seconds. That type of automation unleashes a mutation loop.
Combine with CI/CD:
The ability to auto-fill an OTP means you can run unattended smoke tests at 3 a.m. You'll catch verification bugs the same night, not a week later. Combined with the SMSPin API, your phases are ready for every build.
Adding an SMS code plus a TOTP value gives high-strength double-SIM simulation. But remember TOTP vs SMS is fundamental for more serious security testing.
Let's compare different app behaviors:
App Delivery Getting the Code Notes
WhatsApp Uses SMS/Voice Fast ~ Receives a standard 6-digit code High success rate via US numbers. Very reliable.
Telegram Faster since SMS is often optional Often delivers in 3-5 seconds Sometimes triggers a "use it with the same number" response (needs the same number for initial setup).
Google Can trigger either SMS or call Can demand verified 2FA for a new device May need a U.S. number; not all virtual networks are accepted.
Use a proper virtual number provider with a "high acceptance" list for each service. WhatsApp is the least strict, while Google's bot detection is decently strict.
Don't reuse the same number for multiple apps in a single session to avoid bans, and don't use it for account creation; only verify the connection once.
Not all numbers are created equal in the SMS ecosystem; that's okay. Your API returns global numbers, but whether you can receive OTP depends on the app's ability to deliver reliably in that region.
US numbers: Fastest and most reliable uptime for major apps.
International/other Geo: Good for testing international routes, but acceptance rates can dip.
Format: Use SMS + voice via the API if the app supports it.
Case study: A gaming firm might need a global login flow. Use country=USA to boost success rates for Discord. For Telegram, UK numbers or Russia numbers often work well.
Expert tip: Get your SMS HUD to verify connectivity for each region you target so your QA runs with matching coverage. Use the country code parameter each time.
Long-term persistence: For signups that need to "last" months, rent a specific region number to handle calls for weeks.
Account OTPs are sensitive even in test environments.ย
Use these practices:
Don't use virtual numbers for account recovery.
If you lose access to a temporary number, you lose the account. Treat virtual numbers like "single-use tokens."
Test carefully.
Use SMS OTP testing instead of requiring 2FA from your personal cell. This avoids potential privacy leaks.
Treat your API key like a password.
Use key vaults. Implement separate keys for prod and dev.
Apply rate-limiting and code expiry.
Whenever your system receives a code, use it within 2 minutes. Don't store SMS codes longer than necessary.
Pair with TOTP for high-security environments; this combines something you have (TOTP) with something you receive for stronger authentication checks. An SMS read is not secure for production auth decisions.
Remember: the SMS HUD is not for storing sensitive data; it's for managing instant delivery of the same OTP.
Sometimes, the code never arrives; here's your action plan to handle it faster than Postman:
Poll timeouts
If you get WAITING for over 2 minutes, don't keep waiting; let the API time out, request a refund, or get a new number.
Country routing is the culprit:
Often the code only comes to countries where a service has native support. If you pick a shortcut country, or you choose an offline app, nothing arrives. Change your country parameter and retry.
App type issue:
Some apps require a type parameter to use a voice OTP. Test with another app (e.g., a different messenger) to isolate the issue.
The number was blocked:
Some numbers are flagged as landline IP messenger numbers; if you keep failing, request a targeted replacement.
Refund available:
Always use a provider with a refund policy; otherwise, it hits your budget. The SMSPin system refunds for codes that don't appear.
Set up a webhook listener within the first few seconds so you catch an incoming SMS as fast as possible.
Note: SMSPin is not affiliated with any app or website. Please follow each app's terms and local regulations.
A high-quality API makes your job painless; here's what to inspect before you integrate.
Rate Limits
Look for documented limits, such as 1 request per 1 second per code retrieval.
HTTP status codes
Do they specify 429 and 402 errors? Clear statuses prevent confusion.
Live availability and API stability
Check a number's pool success rate displayed live on the site.
Code snippets and SDK support
Recent docs should include a curl example, plus PHP, Python, Node snippets, or more.
Interactive console
Some offer a debug console; the "try it out" button is worth the time when evaluating.
If your provider has all 5, you're in good hands. It reduces trial and error and port-layer calls.
Once you've automated one-time OTP requests, you may then start to feel a limitation: Use once, done in 20 minutes. If you need an account that you can log back into next week, use a rental.
Rental numbers fill the "HUD gap":
You can rent a number for 1 day up to 1 month.
You can use the same phone for long-term accounts.
Your calls keep the same speed and responsiveness because they stay attached to the API.
Workflow:
Rent means the number is bound to you. You can call the status endpoint the same way; new codes are transferred when you use them.
Pricing benefit: rent is often cheaper than purchasing a fresh number if you plan to receive multiple OTPs from the same phone.
When to use: for verification apps that require multi-day testing, you should switch to rentals.
SMS Verification HUD API is core for programmatic number provisioning: rent a number, receive SMS codes in real timereal time, from virtually any app.
For high-scale use / CI/CD, combine the API+ webhooks to remove all manual steps.
Always use a fallback route to handle the messy parts of SMS that might fail.
Use the right country and pick "high-success acceptance" locations for key apps.
For long-term accounts, switch to rental numbers from SMSPin to keep the number alive.
For security, never use temporary numbers for financial account recovery, and test trust boundaries with TOTP.
Compliance note: SMSPin.io is not affiliated with any app, website, or third-party platform. Please follow each platformโs terms and local regulations.
Get a virtual number in under 2 minutes. No monthly subscription, no hassle, no privacy compromise.
Last updated September 12, 2026