New numbers every day at 00:00 UTClast drop 2 Oct 2026: +104next: +6 in 0h 04m

For developers · REST, JSON

Free SMS numbers API.

A free JSON API without a key: countries, numbers by country, used numbers, the SMS list of any number with full text, and the daily drop of new numbers at 00:00 UTC. Same data as the website, CORS open.

Base URLGET · JSON · OpenAPI 3.1
https://getvirtualphonenumber.com/api/v1

Countries with free numbers

Every country with its dial code, how many numbers are online, how many are used (offline) and the SMS total.

GET /api/v1/countries
curl "https://getvirtualphonenumber.com/api/v1/countries"

Open live response

Numbers by country

Online numbers, newest first. country = slug (usa, uk, canada) or ISO code (us, gb, ca); leave it out for all countries. limit up to 500.

GET /api/v1/numbers?country={country}
curl "https://getvirtualphonenumber.com/api/v1/numbers?country=algeria&limit=2"

Open live response

Used numbers

Numbers whose provider switched them off. Nothing new arrives on them, the SMS history stays readable. Same country and limit filters.

GET /api/v1/numbers/used
curl "https://getvirtualphonenumber.com/api/v1/numbers/used?limit=2"

Open live response

SMS list for a number

Messages received by one number, newest first, with the full text, sender, detected service, extracted code and time. limit up to 50, offset, since.

GET /api/v1/sms?number={E.164}
curl "https://getvirtualphonenumber.com/api/v1/sms?number=%2B213540010889&limit=2"

Open live response

Daily drop

Numbers added in the latest drop at 00:00 UTC (or ?date=YYYY-MM-DD), when the next drop goes live and the queue per country.

GET /api/v1/drops
curl "https://getvirtualphonenumber.com/api/v1/drops"

Open live response

Response fields

Each number: number (E.164), country, dial_code, added (date of the drop), online, sms_total, last_sms, page and sms_api. Each SMS: service, from, text, code, received.

For AI agents: the MCP server

The same numbers are available as an MCP server at https://getvirtualphonenumber.com/mcp, with tools to list numbers, get the latest drop, read an inbox and wait for a code. Set up MCP.

Questions

Do I need a key?
No. The API is free and open, with CORS enabled for browser apps. It serves the same public numbers and inboxes as the website.
How fresh is the data?
Number lists refresh every minute; an SMS request reads the inbox live, with a 15-second cache per number. New numbers are added every day at 00:00 UTC.
Why is part of an old code hidden?
Codes are shown in full for 10 minutes after arrival, then partly masked, exactly as on the website. The rest of the text stays readable.
What are used numbers?
Numbers their provider switched off. They receive nothing new, and their pages and SMS history stay online.
API or MCP?
Use the API from code and scripts. Use the MCP server when an AI agent should pick a number and wait for a code by itself.