Get a phone number in minutes
Buy a real number, then turn on Calls, SMS, and WhatsApp. Same number, one API, 55 countries.
- 55 countries
- From $3/mo
- One API

+1 (415) 555-0142
Calling
Number search
Find your number, we hold it through signup
From zero to a working line in one API call
Choose a country
Pick where your number is based.
Search countries...
Confirm your number
Review the number and price before we buy it.
Calls included. Inbound and outbound, live from day one.
WhatsApp ready. Connect it anytime from the number's row.
SMS capable. Enable texting whenever you need it.
Choose a country
Pick where your number is based.
Search countries...
One number. Every channel

Today 8:22 AM
Hi Ana! Your order #4821 has shipped
Track it here: acme.co/t/4821
Reply STOP to opt out
SMS & MMS
Send a text from your number and get a reply back. US carriers make every business register (10DLC) before it can text, and we run that registration through the API.
Explore SMS & MMS
Calls
Calling works the moment you buy the number. Ring out from your code, and decide what picks up when someone rings in: a real phone, your SIP setup, or an AI that talks back.
Explore Voice & Calls
Connect the same number to WhatsApp Business and reach people in the app they already have open. Messages and calls both run through it.
Explore WhatsAppPorting
Bring a number over from another carrier. Check portability, upload the LOA and invoice, submit.
KYC, handled
Some countries require identity details. Send your customer a form under your branding, and the number is live in 1-3 days.
Manage at scale
List, fetch, and release numbers over one API, up to your plan's limit.
Give your AI agent a phone number
One real number your agent calls from, texts from, and answers on.

Connect to your AI voice agent
Point the number at a wss:// media stream and Zernio streams call audio both ways to Vapi, Retell, or your own voice agent.

Can you reschedule me?
Moved to Thursday 3pm
Agent sends and receives SMS
Every reply arrives as a message.received event, threaded into one conversation.

$ curl -X POST https://zernio.com/api/v1/phone-numbers/PN_ID/voice \
-H "Authorization: Bearer ****" \
-d '{"forwardTo":"wss://your-agent.example.com/media"}'✓ 200 · inbound calls now bridge to your agent
Voice and text arrive in one shape
Call.received, call.ended, message.received. No separate pipelines to wire.
Simple per-number pricing
Pay per number, per month, billed by the active day, separate from usage (call minutes, SMS segments).
$0 /account
first 2, then graduated
from $3/mo
optional, if bought here
Example number pricing by country
From / month
Example Countries
$3













$4–$5



$8–$9




$15



$21

$30

Plus 12 more countries where you can pre-order a number, sourced for you in 2 to 4 weeks.
Countries
Phone numbers in 67 countries
Prices, number types, and the documents each country asks for.
The right number type, picked for you
We provision local, mobile, or national numbers depending on a country's inventory, and auto-select the type that works across Calls, SMS, and WhatsApp. No guessing which one to buy.
Local
A geographic number tied to an area code or city (e.g. a 415 San Francisco line). Best for a local presence.
Mobile
A number on a mobile range, used where a country requires it for texting or reachability.
National
A non-geographic number that works within an entire country.
Let an agent buy the number
The full phone-number surface is on our MCP server. An AI agent can buy a number, complete verification, and start calling or texting with no dashboard.
› claude
Claude Code v2.1.19
Opus 4.5 · Claude Max
~/software
›
✓ registered · https://mcp.zernio.com/mcp
✓ signed in over OAuth · no key pasted
✓ call_tool · +1 (415) 555-0142 · reused 10DLC campaign
✓ number live · ready to call and text
Build it yourself with 8 SDKs
or the REST API
Buy and manage numbers from Node, Python, Go, Ruby, Java, PHP, .NET, or Rust, or call the REST API directly.
Read the docsimport Zernio from '@zernio/node';const zernio = new Zernio(); // reads ZERNIO_API_KEYconst { data } = await zernio.phonenumbers.purchasePhoneNumber({body: { profileId: 'prof_2x9', country: 'US', wantsSms: true },});
Node
Python
Go
Ruby
Java
PHP
.NET
Rust
Know the moment a number changes state
Every provisioned number emits lifecycle webhooks, activation, decline, suspension, reactivation, and release, so you never poll.
Frequently Asked Questions
Numbers by use
Virtual phone numbers
What a virtual number is, what it costs, and every kind we sell.
Virtual phone number for WhatsApp
Numbers pre-verified with Meta, ready for your WhatsApp Business account.
Virtual phone number with SMS
Numbers that send and receive texts, and the countries that sell them.
Toll-free numbers
800-style numbers that callers in the country ring for free.
Business phone number
A company line with forwarding, voicemail, business hours and a phone menu.
Voice & Calls
Place and answer calls from your code, forward them, or hand them to an AI agent.
Get your first number today
No sales call. Search inventory, provision inline, and turn on the channels you need.
- 55 countries
- From $3/mo
- One API