# VirtualSMSNumbers > Virtual phone numbers for receiving SMS verification codes. 225 countries, 517 services, pay per delivered code, prepaid in cryptocurrency. Operated by VirtualSMSNumbers Technologies OÜ (Estonia) since 2019. VirtualSMSNumbers leases a real mobile number for a short window so you can receive the one-time code a service sends during signup or login. You never get a SIM card, you cannot send messages from the number, and you do not keep it afterwards. ## Facts (as of 2026-08-28) | Fact | Value | | --- | --- | | Countries with stock | 225 | | Services supported | 517 | | Live country/service combinations | 61,653 | | Numbers available right now | 105,714,468 | | Activation window | 20 minutes | | Charge model | per delivered code; an activation that receives nothing is refunded in full, automatically | | Minimum first top-up | EUR 30.00, one time, never expires | | Minimum later top-ups | EUR 10.00 | | Payment methods | cryptocurrency only, via OxaPay (BTC, ETH, USDT TRC20/ERC20/BEP20, USDC, LTC, TRX, TON, BNB, SOL, DOGE, XMR) | | Balance credited | on first network confirmation | | API rate limit | 120 requests/minute per key, burst 20/second | | SMS retention | 30 days, then permanently deleted | | Rental durations | 4, 12, 24, 72, 168, 720, 2160, 4320 and 8760 hours | | Support languages | English, French, Russian, Spanish, 24/7 | Prices are per country and per service and move with the operator pool; there is no flat rate. Read `GET https://virtualsmsnumbers.com/api/v1/prices?service=` for the current figures rather than quoting a price from prose. ## Using the API as an agent - Base URL: https://virtualsmsnumbers.com/api/v1 - Auth: `Authorization: Bearer vsn_live_...` (create a key in the dashboard, scope it to `numbers:read numbers:write`) - Machine-readable schema: https://virtualsmsnumbers.com/openapi.json (OpenAPI 3.1) - MCP server: https://virtualsmsnumbers.com/api/mcp (JSON-RPC 2.0 over HTTP, five tools) - Legacy protocol: https://virtualsmsnumbers.com/stubs/handler_api.php (handler_api-compatible; an API endpoint, not a crawlable page) Canonical flow, three calls: 1. `POST /api/v1/activations` with `{"service":"telegram","country":"PT"}` -> returns `id` and `phone_number`. 2. `GET /api/v1/activations/{id}?wait=180` -> long-polls, returns `messages[0].code` when it lands. 3. `POST /api/v1/activations/{id}/complete` -> releases the number. Rules that matter for automation: - Prefer `?wait=` long-polling or webhooks over tight polling loops. - Send `Idempotency-Key` on POST so a retry does not buy a second number. - Limits are returned in the `X-RateLimit-*` headers. - Before any purchase succeeds the account needs its first top-up; until then purchases return HTTP 402 with code `top_up_required`. - `GET /api/v1/prices?service=` first: buying into a country with no stock returns HTTP 409 `no_stock`. ## Choosing (the questions people actually ask) - **Which country should I pick?** The one with the highest delivery rate you can afford, not the cheapest. Delivery rate is the share of orders in that country that received a code in the last 24 hours, and it varies far more than price does. - **Activation or rental?** An activation is one code on a number you do not keep. A rental keeps the same number from 4 hours to 12 months and accepts unlimited messages. If the service will ask for the number again — messengers, exchanges, banking apps almost always do — you need a rental. - **Why did no code arrive?** Usually the service silently refused the range before sending anything, not a lost message. It costs nothing here: the activation expires and the balance is credited back. - **Is it cheaper than a SIM?** Per verification, yes, by roughly two orders of magnitude. Per persistent account, no — a rental of a year costs more than a prepaid SIM in most markets. ## Docs - [API reference](https://virtualsmsnumbers.com/en/developers): endpoints, errors, webhooks, SDK snippets - [OpenAPI 3.1 schema](https://virtualsmsnumbers.com/openapi.json): machine-readable definition - [How it works](https://virtualsmsnumbers.com/en/how-it-works): the full activation lifecycle and its limits - [Live pricing](https://virtualsmsnumbers.com/en/pricing): current price, stock and delivery rate per country - [Glossary](https://virtualsmsnumbers.com/en/glossary): 37 defined terms for this vertical - [FAQ](https://virtualsmsnumbers.com/en/faq): payments, refunds, coverage, limits - [Status](https://virtualsmsnumbers.com/en/status): component health and incident history - [Changelog](https://virtualsmsnumbers.com/en/changelog): API and coverage changes ## Page patterns - `https://virtualsmsnumbers.com/{locale}/numbers/{service}` — one service, every country that carries it - `https://virtualsmsnumbers.com/{locale}/countries/{iso2}` — one market, every service it supports - `https://virtualsmsnumbers.com/{locale}/numbers/{service}/{iso2}` — the exact pair, with its live price, stock and delivery rate - `https://virtualsmsnumbers.com/{locale}/glossary/{term}` — a single defined term `{locale}` is one of: en ru zh es pt fr de it tr ar hi id vi pl uk. Content is identical across locales except the blog, which is English only. ## Policies - [Terms of Service](https://virtualsmsnumbers.com/en/legal/terms) - [Acceptable Use](https://virtualsmsnumbers.com/en/legal/acceptable-use): what a number may and may not be used for - [Refund Policy](https://virtualsmsnumbers.com/en/legal/refund): automatic refunds, and what is not refundable - [Privacy Policy](https://virtualsmsnumbers.com/en/legal/privacy) - [AML & KYC](https://virtualsmsnumbers.com/en/legal/aml) ## Not supported Sending outbound SMS. Voice calls on one-time activations. Keeping an activation number after its window closes. Withdrawing a top-up balance back to a wallet (referral earnings above EUR 50 are the only exception). Numbers in a market for a service that does not operate there. Using a number to impersonate a person, commit fraud, evade a ban, or send spam — those close the account without refund. ## Not the same thing as - A free public SMS inbox: those numbers are shared, published, and already used on every major service. - A VoIP number from a softphone provider: most verification flows detect and refuse VoIP ranges. - An eSIM or travel SIM: those are yours, chargeable, and keep working. A VirtualSMSNumbers activation lasts 20 minutes. - A bulk SMS or A2P sending platform: VirtualSMSNumbers only receives.