Why Virtual Numbers Get Rejected (and How to Actually Get One That Works)
You bought a number, tried to sign up, got "invalid number" or "cannot verify." Here's what's really going on — and the exact steps to make it work on the next try.
Every provider you've heard of — SMS-Activate, 5sim, SMSPool, us — struggles with the same problem: apps reject virtual numbers a meaningful percentage of the time. It's not a bug in one provider's stock; it's a policy at the destination app. Below are the 7 real reasons, with fixes ranked from "usually works" to "rarely works."
The 7 reasons
1. The number was already used for that service
Every provider recycles their number pool. If a Telegram account was created with the number 3 weeks ago and hasn't been deleted, Telegram will reject the same number for a second signup. The provider has no way to see Telegram's internal ledger.
This is the single most common rejection reason across all services. Frequency: ~15-25% of first attempts on popular services.
2. The service specifically blocks known virtual-number ranges
Big services (WhatsApp, Google, Facebook) buy datasets that flag entire number ranges as "used by SMS-verification services." When a virtual number in a flagged range hits their signup flow, they silently reject without asking for a code. The provider tells you the SMS was sent; the app tells you the number is invalid; nothing actually failed on the delivery pipeline.
3. The service checks if the number can receive voice calls
Google's account verification does this. If the SMS code doesn't arrive within 30 seconds, it falls back to "let us call you and read the code." Virtual numbers usually can't receive voice — so the fallback fails, and the whole signup fails. This is different from a rejection: the SMS was fine, the fallback wasn't.
4. You typed the number in the wrong format
Every app has slightly different input rules. Some want +44 7... Some want 07... Some want just the digits with no + or leading zero. If the format is wrong, the app rejects before even trying to send an SMS.
+447700900000, 447700900000, 07700900000.5. The service checks against carrier lookup services
Some apps use HLR (Home Location Register) lookup services to verify a number is on an actual mobile network before sending a code. Some virtual numbers pass HLR (they're allocated on real carrier ranges); others don't. This is a silent check — the app just says "please try a different number" with no explanation.
6. The SMS was delivered but the app rate-limited you
If you tried 2-3 codes on the same account in a few minutes, some apps (Telegram, Instagram) will silently drop future SMS while showing you "code sent." The SMS never comes because it was never actually sent — the app is throttling you. From your side, this looks identical to a delivery failure.
7. Real infrastructure failure (rare but does happen)
Sometimes an SS7 hub is congested, or the upstream SMS provider's route to a specific carrier is temporarily broken, or the carrier itself is having an incident. The message just doesn't arrive, timer runs out, you get refunded. This is a "we shrug" situation on our side too — nothing to fix, just retry.
Which services are the strictest?
Ranked from hardest to easiest, based on our own 90-day delivery rate stats:
- WhatsApp — strictest. ~75-85% first-try success on recommended countries. Aggressive HLR + range blocking. Best countries for WhatsApp →
- Google / Gmail — ~80-90%. Blocks with silent fallback to voice, which fails.
- Facebook / Instagram — ~85%. Strong range blocking, mostly on US and Asian ranges.
- TikTok — ~88%. Rate-limits aggressively but delivery pipeline is clean.
- Telegram — ~92%. Recycles pool fast but delivery infrastructure is reliable. Buy a Telegram number →
- Discord — ~94%. Rarely rejects; light HLR checks.
- OpenAI / ChatGPT — ~90%. Standard checks; occasional range block on new signups.
How to reduce rejection rates yourself
- Use wallet mode. Failed attempts are refunded instantly — you're never paying for the retry, just the successful signup. Guest mode with 3 failed attempts is €1.20 for zero result; wallet mode with 3 failed attempts is €0 wasted plus your one successful €0.20.
- Pick countries from the "recommended" list. Every service page on sms.1mail.lt lists which countries have high delivery for that specific service. Ignoring these means paying more attempts.
- Don't spam retries. If your first two attempts fail, wait 10 minutes before the third. Rate limits reset, pools refresh, your success rate goes up.
- Enable app-native 2FA immediately. Once you get in, set up an authenticator app or backup PIN within the first 5 minutes. This decouples your account from ever needing SMS again — future logins won't hit the same problem.