✅ Trusted by 407,234+ users · ⭐ 4.1/5 on Trustpilot · 200+ countries✅ 407,234+ users · Trustpilot
Read FAQs →Virtual numbers · 223 countries · no SIM
Pick from 9 countries beginning with I, and get verification codes delivered to a virtual number in seconds.
Product tiers
Pick the tier that matches the job. The trade-offs are real, so they are stated plainly.
$0
Shared numbers with a publicly visible inbox. No account, no balance.
From $0.10 per verification
A single-use number, private to your account, issued for one service.
Per rental period
The number is yours for days to months, with its full inbox history.
Prices are per verification and vary by country and by service. Every country page lists its own catalogue and its own prices.
For teams
The dashboard is the console. The REST API is the interface for everything you automate.
Request a number, poll for the code, then release it. Those three calls cover every country and service in the catalogue, and balance and order history have their own endpoints.
Country and service are parameters, not a menu. Enumerate what is available, pin the exact combination your workflow needs, and repeat it without touching a UI.
Work from a prepaid balance. Each activation is billed as its own order, so spend is attributable per call rather than sunk into a monthly seat.
Every order is recorded with its country, service, number and outcome, and stays in your dashboard for reconciliation against your own records.
The API is the path for volume. Before a large ramp, tell us the countries you are targeting so stock there can be checked against your expected throughput.
The API sells the same catalogue this directory shows, so what you can browse here is what you can order there. The directory covers 9 countries and 518,228 country and service combinations in total.
Three calls, in order. The sample below is illustrative; the documentation page is the contract for endpoints, parameters and response formats.
# Illustrative shape only. See the API documentation for the exact contract.
# 1. Request a number for a country and service
curl "https://api.pvapins.com/user/api/get_number.php\
?customer=YOUR_API_KEY&app=google&country=malaysia"
# 2. Poll that order until the code arrives
curl "https://api.pvapins.com/user/api/get_sms.php\
?customer=YOUR_API_KEY&app=google&country=malaysia&number=NUMBER"
# 3. Release the number if you no longer need it
curl "https://api.pvapins.com/user/api/get_reject_number.php\
?customer=YOUR_API_KEY&app=google&country=malaysia&number=NUMBER"Four steps, whether you order in the dashboard or over the API.
Start from the directory above. Each country lists the services its numbers support and the price they start at.
Pick the exact service you are verifying against. Numbers are issued against a service, so routing and price follow that choice.
The number is assigned to your account and shown with the window you have to use it. Enter it in the service you are verifying.
The message appears against that order in your dashboard, or in the API response when you poll. Copy the code and finish the verification.
The country is the single decision that most often determines whether a verification succeeds. Across 9 countries.
Some services will only accept a number registered in a particular country. The requirement can follow the account country, the billing address, or the app store region, and it is often not stated anywhere in the sign-up form. If a service is refusing every number you try, check the country requirement before you assume the numbers are at fault. It is the most common cause by a wide margin.
A number that worked yesterday can be refused today, and that is normal rather than a fault. Virtual numbers are recycled: once a number has been used to register a given service, that service remembers it, and ranges that have carried heavy automated traffic get flagged at the service end, not at ours. Nobody can see another provider's flag list, ours included. The practical response is to order a different number, or the same service from a different country, rather than retrying the identical combination.
For a global app with no country requirement, default to a country with a large, active catalogue. Depth is what buys you reliability: more stock means less waiting for a free number, more operators to fall back on when one is refused, and a lower chance that the specific range you are handed has already been burned by somebody else. The service count printed on each country card is a good proxy for that depth, so it is a better starting filter than price alone.
These numbers are for legitimate verification: signing up for a service you are entitled to use, separating work and personal accounts, testing your own product's sign-up and one-time-password flows, and quality assurance across countries.
They are not for fraud, for impersonating another person or business, or for evading a suspension or a ban. You remain responsible for the terms of every service you verify against, and a number bought here does not override them. Accounts used for abuse are closed.
FAQ
What buyers ask most often about coverage, pricing, rejections and the API.
Yes. PVAPins publishes a set of free public inbox numbers whose messages anyone can read. They cost nothing and need no account, but because the inbox is public they are only suitable for low-stakes testing. For anything tied to an account you care about, use a private activation number.
A public number is shared: its inbox is visible on the website to everyone, and many services already recognise and reject those numbers. A private activation number is issued to you alone for a single verification, and a rented number stays yours for a fixed period so you can receive repeat logins on it.
Pricing is per verification and varies by country and by service. The cheapest cells in the catalogue start at $0.10. Each country page lists its own current prices, and you only pay for a verification that is delivered.
The catalogue covers 6,256 distinct services across 223 countries, including the large messaging, social and marketplace platforms. Availability differs by country, so check the country page for the exact list and price.
No. The number is issued to your account and the message arrives in your browser. There is nothing to install and no physical handset involved.
Most codes arrive within seconds of the service sending them. An activation number is held open for a limited window while it waits for that message; if nothing arrives in that window the number is released.
Virtual numbers are recycled between users, and platforms keep block lists of numbers they have seen abused. A number that worked last week can be refused today. Requesting another number, or switching to a different country, usually resolves it.
The order closes when its window expires. Check the order in your dashboard for its final state, and contact support if the outcome does not look right.
Yes, by renting it. A rented number stays assigned to you for the rental period and keeps its message history, which is what you want for an account you will sign back into.
If the service is global, a country with a large catalogue and steady supply is the safer default. If the service is regional, or it refuses foreign numbers, you need a number from that region. Every country card below shows how many services it currently covers.
Yes. The REST API lets you request a number, poll for the code and release the number programmatically, so verification can run inside your own signup or QA pipeline. The integration page documents the endpoints and authentication.
Free public inbox numbers need no account. Activation numbers, rented numbers and the API are tied to a funded account so orders and receipts stay attached to you.
Try a public inbox to see how the flow behaves, or open the dashboard for a private number in the country you need.
Viewing countries starting with I. Browse the full directory of 9 countries.