Developer API

SMS Verification API
for Developers

Order numbers, poll for codes, and manage your balance from your own code. The VirtSMS REST API turns SMS verification into a few HTTP calls, so you can automate QA, multi-account workflows, and growth tooling at scale.

๐Ÿ”‘ Simple API-key auth๐ŸŒ 55+ countries๐Ÿ“ฆ Plain JSON responses๐Ÿ’ฐ Pay per verification
Overview

What the API does

The VirtSMS public API lets you do everything the web dashboard does, programmatically. You request a virtual number for a given country and service, poll for the SMS code when it lands, and cancel or release the number when you are finished. Pricing, your balance, and your order history are all available as JSON, so you can build the whole flow into your own scripts and services without a human in the loop.

It is a plain REST API. Every endpoint lives under https://api.virtsms.com/api/v1/, takes and returns JSON, and authenticates with a single API key. There is no SDK to install and no special protocol to learn. If your language can make an HTTP request, it can use VirtSMS.

๐Ÿงช

QA & test automation

Run real phone-verification flows in your end-to-end test suite without burning physical SIM cards or waiting on a human to read a code.

โš™๏ธ

Multi-account operations

Provision and verify accounts in bulk across regions, with each number scoped to the country and service you actually need.

๐Ÿ“ˆ

Growth automation

Wire verification into onboarding pipelines and internal tooling so the slow manual step disappears entirely.

Reference

Endpoints overview

A complete order is usually three calls: create an activation to get a number, poll the SMS endpoint until the code arrives, then either let it complete or cancel it. The core endpoints are below. The full reference, with request bodies and response shapes for every route, lives in the API documentation.

MethodEndpointWhat it does
GET/v1/countriesList available countries
GET/v1/servicesList supported services
GET/v1/pricingLive prices per country and service
POST/v1/activationsOrder a number for a service
GET/v1/activations/:id/smsPoll for the received code
POST/v1/activations/:id/cancelCancel and refund a number
GET/v1/balanceCheck your account balance
Auth & limits

Authentication and rate limits

Generate an API key from your dashboard once your account is funded, then send it as a bearer token on every request. There are no separate OAuth flows or session tokens to manage. The key is the credential, so keep it server-side and out of client code.

# Order a US number for WhatsApp curl -X POST https://api.virtsms.com/api/v1/activations \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "country": "usa", "service": "whatsapp" }'

Every endpoint is rate limited per key to keep the platform stable and fair. The limits are generous enough for normal automation and batch workloads. If you have a high-volume use case that needs more headroom, get in touch through the contact page and we can talk about it. Exact per-route limits are documented in the API reference.

Pricing

Pricing model

There is no monthly fee and no per-seat cost. You top up a prepaid balance and pay per verification, with prices that vary by country and service based on real provider supply. High-supply regions are cheap, premium markets cost more, and the live numbers are always available from the /v1/pricing endpoint so your code can make cost-aware decisions before ordering.

๐Ÿ’ก If a code never arrives within the activation window, that order is refunded to your balance automatically. You only pay for verifications that actually deliver, which matters a lot when you are running thousands of them through the API.

Get started

Getting started

Create an account, add a balance, and generate an API key. From there it is three steps: list the countries and services you want, order a number, and poll for the code. The API documentation walks through a complete request-to-code example end to end.

Prefer to drive VirtSMS from an AI assistant instead of raw HTTP? We publish an MCP server, virtsms-mcp on npm, that exposes the same capabilities to tools like Claude and ChatGPT. You can order numbers, rent numbers, and check your balance in natural language. See the MCP server page for setup.