✅ Trusted by 443,482+ users · ⭐ 4.1/5 on Trustpilot · 200+ countries✅ 443,482+ users · Trustpilot

Read FAQs →

Do99 SMS Verification API: Developer Guide, Pricing,

By Team PVAPins Last updated:
Technical guide to the Do99 SMS verification API how it works, webhook support, pricing traps, and how PVAPins compares for reliable OTP delivery.

Quick answer: To verify Do99 with a virtual number, choose a country on PvaPins from $0.22, enter that number as your Do99 phone number, and any SMS sent to it appears in your PvaPins dashboard. Numbers are available in 200+ countries, each as a one-time activation.

SMS Reception
Quick rule: Make one clean OTP request, wait briefly, retry once — then switch number/route. Resend spam triggers rate limits and makes delivery worse.
Best route for success Activation/private routes usually pass filters better than public inbox numbers.
Best route for continuity Rentals are the safest choice if you'll log in again or need password resets.

How it works

  • Fire a GET request to the activation endpoint with your country code and service identifier.

  • Poll the status endpoint to confirm the number is active and ready to receive SMS don't skip this check.

  • Query the "get SMS" endpoint every 5 seconds or so until you see the OTP come through.

  • Parse the message body with a regex designed to handle common delimiter variations (spaces, dashes, colons) around the numeric code.

  • Always persist the activation ID you'll need it to cancel the operation explicitly if the SMS never shows.

OTP not received? Do this

  • Wait 60–120 seconds (don't spam resend)
  • Retry once → then switch number/route
  • Keep device/IP steady during the flow
  • Prefer private routes for better pass-through
  • Use Rental for re-logins and recovery

Wait 60–120 seconds, then resend once.
Confirm the country/region matches the number you entered.
Keep your device/IP steady during the verification flow.
Switch to a private route if public-style numbers get blocked.
Switch number/route after one clean retry (don't loop).

Free vs Activation vs Rental (what to choose)

Choose based on what you're doing:

Free (public inbox) Good for quick tests. Higher block risk because numbers are reused.
Activation (one-time) Better OTP success for signup/login verification. Use when success matters.
Rental Best for re-logins, password resets, and recovery. Keep the same number longer.
Best practice Free → Activation when blocked → Rental when you need continuity.

Quick number-format tips (avoid instant rejections)

  • US numbers follow +1 (XXX) XXX-XXXX format with a 10-digit local number.

  • UK numbers use +44 followed by a 10-digit number, dropping the leading 0.

  • Always check the target app's expected format some require the country code, others don't.

Inbox preview

Recent messages (example)•OTPs are masked
Route: Free / Private / Rental
TimeCountryMessageStatus
2 min agoUSAYour verification code is ******Delivered
7 min agoUKUse code ****** to verify your accountPending
14 min agoCanadaOTP: ****** (do not share)Delivered

FAQs

Quick answers people ask about Do99 SMS verification.

More FAQs

Is using a temporary SMS number legal?

Yes, using a virtual number to protect your privacy or test your own software is generally legal. However, it usually violates the Terms of Service of consumer apps like WhatsApp or Google if you use it to create fake accounts. Always follow local regulations and the app's ToS. PVAPins is not affiliated with any app or website.

Why did my verification code fail to arrive?

The most common reasons are that the target app detected the number pool as high-risk, the number is exhausted from overuse, or the SMS is delayed on the telecom route. Using a paid provider with a refund policy and real-time callbacks reduces this risk. When it happens, cancel and rent a different number rather than waiting.

What is the difference between a one-time number and a rental number?

A one-time number (activation) lives for a few minutes, long enough to catch a single OTP. A rental number (1, 3, 7, or 30 days with PVAPins) stays active and can receive multiple SMS messages over days. That's necessary when a service requires you to stay logged in or re-verify later.

Can I use a temp number for WhatsApp or Telegram?

Yes, but only for legitimate purposes like testing a bot you own or recovering a locked business account. Using a burner number to create fake groups or spam will get you banned instantly, and your provider will likely refuse a refund. Follow PVAPins' usage guidelines.

Why are some codes more expensive than others?

Pricing is dynamic per target app and country. Apps with aggressive fraud detection Google, Instagram require higher-quality number pools to pass verification, and sourcing those numbers costs more. Providers show the rate upfront so you can decide if it's worth it before you commit.

How do I handle a verification that takes 5 minutes?

Set your API polling to a 10-second interval and implement a timeout that releases the number if nothing arrives. If the API offers a "wait" endpoint, use that instead; it holds the connection open and pushes the message the moment it lands, which is far more efficient.

What should I NOT use a temporary number for?

Don't use it for 2FA on your primary bank account, for verifying a sensitive crypto exchange, or for anything that involves impersonating another person. Doing so can lead to legal problems and permanent platform bans.

Read more: Full Do99 SMS guide

Open the full guide

If you're a developer, QA engineer, or growth lead evaluating a Do99 SMS verification API, you probably want to rent virtual phone numbers programmatically, pull one-time passcodes without touching a web dashboard, and automate the whole verification flow. That's the dream, anyway. The reality depends a lot on how the API is built, which this guide digs into: routing logic, webhook support, pricing catches, and where PVAPins work better when delivery reliability and honest developer tooling actually matter.

This post is written for teams automating signup tests, building CI verification pipelines, or managing multiple regional accounts. It is not a guide for ban evasion, fake identity creation, or anything that violates a platform's Terms of Service.

Quick Answer:

  • The API lets your server rent a temporary number and fetch SMS OTPs through straightforward REST calls.

  • You generally pay per activation, and prices vary by country and target app.

  • Whether it works well comes down to number quality, SMS routing, and whether the API offers webhooks or makes you poll endlessly.

  • When you compare providers, what you want is transparent per-message pricing, fast delivery, and refunds when no code arrives, not promises.

  • PVAPins gives you a developer API with numbers across 200+ countries, with activations starting around $0.10.

What Is the Do99 SMS Verification API and How Does It Work?

A Do99 SMS verification API gives your application a way to programmatically request virtual phone numbers and then pull the one-time passcodes that land on them with no browser, no manual inbox refreshing. Your server calls an endpoint, grabs a fresh number, waits for the inbound SMS, and retrieves the code. Elegant in theory. In practice, the success rate turns on things most docs won't tell you: how the provider sources its numbers, how aggressively it recycles them, and whether its telecom routes are saturated.

  • APIs cut out manual copy-paste entirely, and that's the whole point if you're verifying accounts at any scale.

  • You want a polling mechanism or, better yet, webhooks so the API actively checks for a new message instead of just handing you a number and wishing you luck.

  • Know the difference between a one-shot activation number (good for one OTP, then burned) and a longer rental (necessary when the target app checks account age or sends follow-up codes).

  • A solid API will expose endpoints for: requesting a number, listing your active rentals, and fetching the full SMS content, not just a parsed numeric code, because sometimes context matters.

How OTP delivery works behind the scenes

When your application requests a number, the provider assigns one from its live pool and points incoming SMS traffic for that number to your rental. The service you're verifying shoots a code to that number. The provider catches it, stores it, and surfaces it through an API endpoint or pushes it via webhook. Delivery latency depends on the telecom route, the target app's internal fraud filters, and whether the provider reuses numbers so fast that the app starts rejecting them silently.

Do99 SMS Verification API Documentation: Core Features to Look For

If you're combing through Do99 SMS verification API documentation, the two things you absolutely need to find are webhook support and a dedicated "fetch SMS" endpoint. A well-designed API saves you from polling loops by pushing the code straight to your server. It should also let you pull the full message body; sometimes the code is buried in longer text, and naive numeric extraction misses it. The docs should also be clear about expected latency between renting the number and seeing an SMS; otherwise, you're guessing at timeouts.

  • Always check rate limits. If the API throttles you to one request per minute, your queue will back up fast.

  • Good documentation includes cURL snippets and a sandbox environment where you can test without burning paid credits.

  • Look for error codes that explicitly tell you when a number has been banned or blocked by the target app; that's your signal to rotate immediately rather than waiting for a code that will never come.

  • Find out whether you can release a number before its expiry window and get a prorated refund. Providers that allow this usually trust their number quality.

Webhook vs. polling: which do you need?

Use webhooks for production and any flow where timing matters. The provider hits your HTTPS endpoint the moment an SMS arrives, low latency, lower server load. Use polling for prototypes and low-volume work. You query a "get SMS" endpoint every few seconds. Polling is easier to wire up, but you can miss messages if your polling interval is too wide or the provider rate-limits those calls aggressively.

Do99 SMS Verification API Integration: A Step-by-Step Guide

Wiring up a Do99 SMS verification API usually follows a clean three-step REST pattern: request a service, get a number assigned, then fetch the SMS payload. The tricky part is building a state machine that handles the "pending" phase gracefully. SMS delivery on international routes can lag anywhere from a few seconds to a couple of minutes, and holding a dead rental that never receives a code burns money. A timeout-and-release strategy is essential.

  • Step 1: Fire a GET request to the activation endpoint with your country code and service identifier.

  • Step 2: Poll the status endpoint to confirm the number is active and ready to receive SMS; don't skip this check.

  • Step 3: Query the "get SMS" endpoint every 5 seconds or so until you see the OTP come through.

  • Step 4: Parse the message body with a regex designed to handle common delimiter variations (spaces, dashes, colons) around the numeric code.

  • Always persist the activation ID somewhere. You'll need it to cancel the operation explicitly if the SMS never shows.

Simple REST calls to request a number and fetch codes.

A barebones flow looks something like: GET /get-number?country=US&service=whatsapp returns a number string and an activation ID. Then GET /get-sms?activation=12345 returns either a pending state or the full SMS body. Every call must go over HTTPS, and your API token belongs in the request headers, never in the query string.

To test your integration logic, grab a low-cost disposable phone number and run a quick smoke test. Start with a $0.10 test activation.

For the complete endpoint reference, see the API integration docs.

Do99 SMS Verification Cost, Pricing, and Rates: Is It Cheap or Affordable?

When you're sizing up Do99 SMS verification cost, the model is usually per activation, and pricing swings dramatically by country and by the specific app you're targeting. WhatsApp costs more than some niche forum, and that's normal. The bigger trap is invisible pricing: a provider posts an attractive base rate but quietly tacks on surcharges for high-success countries, or worse, refuses to refund you when a code simply never arrives. Before you commit to any volume, calculate your average cost per successful verification, not per activation attempt.

  • Look for transparent per-SMS pricing. A bulk subscription that locks you into paying for numbers you never use is just dead weight.

  • A 30% success rate makes even the cheapest API worthless. Factor in the engineering time you burn on retries.

  • Check whether the pricing model includes a refund mechanism for failed verifications. That is one of the strongest trust signals you can find.

  • Make sure the platform lets you top up with stable cryptocurrency like USDT so currency volatility doesn't eat into your testing budget.

Hidden fees and per-SMS charges to watch for

Some providers advertise a low rate and then layer on "international routing fees," "carrier surcharges," or surprise "premium number" markups at checkout. Confirm that the price you see for a US number is the all-in price. Also verify whether a failed SMS still costs you. A provider that refunds when no code arrives is telling you it believes in its own number pool. Compare that with a transparent receive-sms online service that shows total cost before you commit.

Best Do99 SMS Verification Service: Key Criteria for Your Stack

When you stack SMS verification platforms side by side, the best one isn't necessarily the one with the biggest user count; it's the one with the highest uptime and the lowest "instant ban" rate on the specific services you target. A cheap API that gets your number flagged by Google on the first try is a net loss. You need a provider that rotates stale numbers aggressively and gives you real country breadth, not just a long list that's out of stock. Also, prioritize platforms with an API you can drop into CI/CD pipelines without a human clicking through a dashboard.

  • Coverage across 200+ countries and 1000+ services keeps you from scrambling when a niche app requirement pops up later.

  • Support for both one-time activations and multi-day rentals (7 days, 30 days) is critical when the target service expects some account history.

  • Transparent stock indicators by country and service prevent you from renting "ghost" numbers that never actually receive codes.

  • A 100% refund on non-delivery should be the baseline expectation, not a pleasant surprise.

Success rates, country coverage, and uptime

A good provider either publishes live stock or at least shows you what's available by country and app in real time. If you see "No numbers available" for something common like Telegram in the US, that's a red flag you shouldn't ignore. API uptime matters too: a 99.9% SLA on the endpoint means your automated queue isn't stalling mid-job. For a view of available virtual numbers, check this temp-number services list.

Comparison: Do99 SMS Verification API vs. PVAPins API

When you put Do99 SMS Verification API next to PVAPins, the real difference is delivery transparency and how much the developer tool respects your time. PVAPins gives you a clean REST API with status updates through both polling and a web interface, so you know exactly when a message lands, and you get a refund if it doesn't. While some providers obscure server-side filtering, PVAPins flags hard-to-activate services upfront with realistic success guidance so you're making an informed trade-off, not gambling.

  • API Depth: PVAPins has endpoints for receiving SMS and renting long-term numbers (1, 3, 7, or 30 days), all managed from one dashboard.

  • Payment Flexibility: PVAPins accepts instant top-ups via Bitcoin and USDT no KYC friction, which lines up with the privacy-first nature of SMS API work.

  • Cost Structure: Activations start at $0.10 with no hidden per-message fees. Others often tack on "international routing" charges that only appear at checkout.

  • Service Coverage: PVAPins is built for high-volume onboarding flows, with target app categorization that helps you pick the right number type quickly.

  • Closure: If you need stable numbers for ongoing account creation, PVAPins's explicit policy against recycling fresh numbers into spam pools is a practical advantage.

Which API delivers codes faster for your use case?

For high-volume batch onboarding, an API with webhook support and a large, fresh number pool will nearly always outperform one that relies solely on polling with recycled numbers. For low-volume QA checks, either works fine. The more important question is whether the provider warns you before you rent that a number is likely to fail for your target service. That kind of transparency saves more time than raw delivery speed ever will.

Best Practices for Testing and Quality Assurance with SMS APIs

When you bring a Do99 SMS verification API into your QA workflow, don't just test the happy path; test timeouts, failure modes, and cleanup logic. Your test suite should confirm that your application handles an "SMS not received" state correctly and that it releases the number back to the pool efficiently afterward. For long-running staging environments or nightlies, rent a dedicated number for 7 days instead of re-verifying from scratch hundreds of times a day.

  • Use unique activation IDs to trace each test cycle and keep results from bleeding into each other.

  • If you're building penetration testing tooling, check that your provider doesn't silently block the services you need to validate; some do.

  • Rotate test numbers frequently so the target service doesn't flag your test sequence as bot behavior.

  • Build your logic to handle sequential MFA challenges. Some apps send a second SMS after the first one, and your poller needs to stay open for it.

Handling multiple OTPs and long-running sessions

For sessions that span days, use rent-number plans for 7 days or longer. You get a stable number that can catch repeat confirmations, password resets, and login challenges without breaking. For parallel test runs, keep a mapping of activation ID to test case ID and always release numbers explicitly in your teardown step; don't leave orphaned rentals burning credits overnight.

Troubleshooting: Why Do99-Style APIs Fail and How to Fix It

Most failures with virtual numbers for verification come down to three things: inactive number pools in less-popular countries, the target platform silently flagging the SMS as spam, or the API being too slow to poll. If your success rate is tanking, the quickest fix is usually to switch to a provider that offers "premium" or fresh numbers for your specific target services and supports full webhook callbacks. Also check whether the app demands a phone number with some activity history. If it does, you need a long-term rental, not a fresh activation that disappears in ten minutes.

  • Error: Number tired of service. Fix: Cancel immediately and re-request; don't wait for the same exhausted number to rotate back into the pool.

  • Error: SMS never arrives. Fix: Use the API's "wait for SMS" feature if it exists, rather than a naive polling loop.

  • Error: Banned by the app. Fix: Move to a provider with a higher-quality pool that hasn't been used for spam campaigns.

  • Fix Batch: If you're verifying 50 accounts in a burst, insert a delay between activations to avoid tripping IP-based rate limits on the target service side.

How server-side filtering and high-demand numbers kill success rates

Target apps run their own fraud detection layers. When they see a number from a pool that's been associated with spam, they silently drop the SMS with no bounce, no error, just nothing. That's why high-demand services like Google and WhatsApp demand fresher, cleaner numbers. Providers that recycle numbers too aggressively or pull from exhausted ranges will show disappointing success rates even if their API response is blazing fast. Does your current API burn credits on numbers that never receive a code? Switch to an API with a no-code refund policy.

Security, Legality, and Responsible Use of Virtual SMS APIs

Using a virtual SMS verification API is legal in most places, but the legality really hinges on what you do with the account you're verifying. It's fine to use these tools to test your own app's authentication flows or to shield your personal number from spam. It's not fine to use them for fake account creation, fraudulent verification bypass, or spam campaigns, and that will violate the Terms of Service of pretty much every major platform. PVAPins is not affiliated with any app or website. Please follow each app's terms and local regulations.

  • Do use it for: beta testing iOS and Android builds, managing multiple legitimate business accounts for agency work, keeping your personal number off public signup forms.

  • Don't use it for: evading a platform ban, spinning up hundreds of fake social profiles, or intercepting P2P payment verification codes that don't belong to you.

  • Financial institutions apply stricter KYC rules; a free online phone number often won't cut it for banking verification.

  • Your provider should explicitly prohibit illegal activities. A responsible provider will suspend accounts or deny refunds for clear ToS abuse.

What not to use these services for

Don't use temporary numbers to reset passwords on accounts you don't own, to impersonate someone, or to verify accounts tied to regulated financial transactions. The OWASP Authentication Cheat Sheet and NIST 800-63B both describe the risks and boundaries of SMS-based OTP use. For platform-specific rules, check the Google Terms of Service. Using these tools responsibly keeps the number pool healthy for everyone else who relies on it.

Real-World Use Cases: Where an SMS Verification API Saves Your Team

An SMS verification API earns its keep when you need to automate something that normally forces a human to stop and read a phone. Marketing agencies use it to spin up multiple ad accounts for different client campaigns. QA teams use it to test regional signup flows without buying local SIM cards. It also lets you stand up fresh user identities for community management or web scraping workflows where IP rotation alone isn't enough.

  • Use Case 1: Testing cross-border onboarding flows by verifying with a local number in the US, UK, or Germany.

  • Use Case 2: Setting up multiple social media profiles for a client campaign without exposing the client's personal phone number.

  • Use Case 3: Creating automated alerting systems like Telegram bots without burning a personal SIM.

  • Use Case 4: CI pipelines that demand a fresh phone number for every test build, sustained over days with a rental.

From production testing to global account sign-ups

For ongoing access patterns, rent a number for 30 days if you're testing continuously. Rent a long-term number.

If you need to verify SMS verification for apps like WhatsApp, a rental number usually survives longer than a one-shot activation, which can get flagged almost immediately.

Key Takeaways

  • A Do99-style SMS verification API lets you rent numbers and fetch OTPs programmatically, but whether it actually works depends on number quality and how routing is handled.

  • Always check the documentation for webhook support, rate limits, and refund handling before you integrate.

  • Count your cost per successful verification, not per activation. Hidden routing fees are common, and they add up quickly.

  • PVAPins Android app offers a pay-per-use API with instant number delivery, broad global coverage, and refunds when no SMS shows up.

  • Use webhooks for production workloads, and polling for prototypes and low-volume experiments.

  • Rent a long-term number for QA suites, CI jobs, or any service that checks account age.

  • Never use temporary numbers for fraud, spam, impersonation, or ban evasion.

Compliance note: PVAPins is not affiliated with the app/website or platform. Please follow each app/website’s terms and local regulations.

Last updated:

Ready to Keep Your Number Private in Do99?

Get started with PVAPins today and receive SMS online without giving out your real number.

Try Free NumbersGet Private Number
Team PVAPins
Written by Team PVAPins

The PVAPins Team is made up of writers, privacy researchers, and digital security professionals who have been working in the online verification and virtual number space since 2018. Collectively, our team has hands-on experience with hundreds of virtual number platforms, SMS verification workflows, and privacy tools — and we use that experience to produce guides that are genuinely useful, not just keyword-stuffed articles.

At PVAPins.com, we cover virtual phone numbers, burner numbers, and SMS verification for over 200 countries. Our content is built on real testing: before any tool, service, or method appears in one of our guides, a member of our team has tried it personally. We fact-check our own recommendations regularly, update outdated content, and remove anything that no longer works as described.

Our team includes writers with backgrounds in cybersecurity, digital marketing, SaaS product management, and IT administration. That mix of perspectives means our content serves a wide range of readers — from individuals protecting their personal privacy online, to developers building verification flows, to business owners managing high-volume verification.

We're committed to transparency: we clearly disclose how PVAPins works, what our virtual numbers can and can't do, and who our guides are designed for. Our goal is to be the most trusted, most accurate resource for anyone looking to understand and use virtual phone numbers safely and effectively — wherever they are in the world.

Last updated:

Verify Do99 Now