Get a phone number in minutes

Buy a real number, then turn on Calls, SMS, and WhatsApp. Same number, one API, 54 countries.

  • 54 countries
  • From $3/mo
  • One API

+1 (415) 555-0142

Calling

Trusted by developers at

How It Works

From zero to a working line in one API call

Choose a country

Pick where your number is based.

Search countries...

Filter
Country ^Price
US
United States(US)
2 types
$3/mo
AR
Argentina(AR)
Documents required
$9/mo
AU
Australia(AU)
3 typesDocuments required
from$3/mo
AT
Austria(AT)
2 typesDocuments required
$3/mo
BE
Belgium(BE)
Documents required
$3/mo
Features

One number. Every channel

Today 8:22 AM

Hi Ana! Your order #4821 has shipped

+1 (415) 555-0142

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.

AI Agent+1 (415) 555-0142

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.

Today
This is getting hard to explain over text
08:21
No problem, calling you now
08:21
Voice call9 min
08:22

WhatsApp

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 WhatsApp

Porting

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.

For AI agents

Give your AI agent a phone number

One real number your agent calls from, texts from, and answers on.

Talk
Caller
Zernio
Voice Agent

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.

Text

Can you reschedule me?

from your AI Agent

Moved to Thursday 3pm

Agent sends and receives SMS

Every reply arrives as a message.received event, threaded into one conversation.

One webhook
POST /your-webhook
$ 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.

Pricing

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

Monthly Price

Example Countries

$3

United StatesUnited KingdomGermanyFranceSpainCanadaItalyIreland

$4

BrazilEstoniaCroatiaPuerto Rico

$6

MexicoSingaporeCyprus

$7

AustraliaIceland

$11

PolandSwedenSouth AfricaPanama

$16–$21

GeorgiaThailandColombiaIndonesia
Number types

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.

Ways to integrate

REST, 8 SDKs, or let an agent do it

Call it from Node, Python, Go, Ruby, Java, PHP, .NET, or Rust, or the raw REST API and CLI.

Node

import Zernio from '@zernio/node';
const zernio = new Zernio(); // reads ZERNIO_API_KEY
const { data } = await zernio.phoneNumbers.purchase({
  profileId: 'prof_2x9', country: 'US', wantsSms: true,
});

console.log(data.phoneNumber.phoneNumber); // +14155550142
✓ provisioned · calls on · sms enabled

The full phone-number surface is also exposed over our MCP server

An AI agent can buy a number, complete verification, and start calling or texting with no dashboard.

Start for free

MCP server

Claude Code v2.1.19

Opus 4.5 · Claude Max

~/software

✓ searched US inventory — matched +1 (415) 555-0142

✓ purchased · calls on by default

✓ enabled SMS · reused approved 10DLC campaign

✓ number live — ready to call and text

Reliability

Know the moment a number changes state

Every provisioned number emits lifecycle webhooks, activation, decline, suspension, reactivation, and release, so you never poll.

Read the docs
EventDescription
whatsapp.number.kyc_submittedFired when an end customer completes a hosted KYC share link; the number enters review under your account.
whatsapp.number.activatedFired when a WhatsApp number you provisioned finishes setup and is ready to connect.
whatsapp.number.declinedFired when a regulated number order is declined in review and no number is activated.
whatsapp.number.action_requiredFired when the regulator asks for more information on a placed number order; the order stays pending until you provide it.
whatsapp.number.verification_requiredFired when a regulated number needs end-user ID verification; carries the link to forward.
whatsapp.number.suspendedFired when an active number is suspended (e.g. failed payment); carries a reason.
whatsapp.number.reactivatedFired when a suspended number is usable again.
whatsapp.number.releasedFired when a number is released and no longer usable (terminal); carries a reason.

Frequently Asked Questions

Still have questions?

Get your first number today

No sales call. Search inventory, provision inline, and turn on the channels you need.

  • 54 countries
  • From $3/mo
  • One API