sv-number/skills
Give your AI agent a phone number: order a private number in 200+ countries over the API, read the SMS verification code, hand the number back. The widest country coverage in the category, checkable with one API call.
SV Number agent skill – what it is
A tiny, self‑contained skill that lets an autonomous AI agent obtain a disposable phone number, receive the SMS verification code for a service, and (optionally) generate a TOTP code – all through a commercial API. The skill follows the Agent Skills specification, so any runner that can read a SKILL.md file (Claude Code, Codex, etc.) can use it without extra SDKs.
Core capabilities
| Feature | How it works (as described in the README) |
|---|---|
| Get a number in the right country | The agent calls the API endpoint action=getCountryAndOperators to list the 200+ supported countries, then requests a number for the desired country (e.g., Indonesia). |
| Receive the verification code directly | The API returns the code already extracted from the SMS, so the agent never has to parse an inbox or write regexes. |
| Pay‑per‑code | Money is held when the number is ordered and only charged when the code arrives (or released after ~20 min if no code). |
| Private, one‑time numbers | Each activation is tied to a single service request; no other user can see the code. |
| Dynamic pool awareness | The catalogue call also reports the success‑rate and live‑pool size per country, letting the agent avoid low‑yield regions. |
| Finish 2‑FA with TOTP | If the service asks for an authenticator, the agent stores the TOTP secret locally and computes the 6‑digit code (RFC 6238) without sending the secret anywhere. |
Typical workflow (as illustrated in the README)
1. getNumber → ACCESS_NUMBER:id:phone (order a number, money held)
2. getStatus → STATUS_WAIT_CODE (poll every 3‑5 s)
3. → STATUS_OK:123456 (code received)
4. setStatus 6 → ACCESS_ACTIVATION (code used, charge stays)
5. setStatus 8 → ACCESS_CANCEL (no code, money refunded)
The repository ships two ready‑to‑run scripts (order_number.py and order_number.mjs) that implement this loop.
Getting started
# Grab the skill definition
curl -O https://raw.githubusercontent.com/sv-number/skills/main/sv-number/SKILL.md
# Export your API key (obtain it after signing up at sms‑verification‑number.com)
export SVN_API_KEY=your_key_here
Place the sv-number directory where your agent runner expects skills, and invoke the skill from your LLM‑driven workflow.
What it is not
- It does not provide a full‑duplex phone line – numbers cannot receive calls or hold ongoing conversations.
- It is not intended for high‑risk use cases such as banking, payment, or government account verification.
- The underlying service is commercial; the skill itself is MIT‑licensed, but you must fund the API account.
Limitations & constraints
- You need a paid account on
sms-verification-number.com; there is no free tier. - Each activation must be closed (
setStatus 6or8) otherwise the held funds remain locked. - Success depends on the provider’s pool health – the skill helps you avoid bad pools, but delivery is never 100 % guaranteed.
Quick example (from the README)
> Read the sv-number skill and register me a Telegram account on an Indonesian number.
ordered +62 838 1234 5678
code 123456
account created
The agent asks the skill for an Indonesian number, receives the code 123456, and can complete the Telegram signup automatically.
Links
- Skill definition:
sv-number/SKILL.md - Web page version: https://sms-verification-number.com/en/agent-skill/
- Full API docs: https://sms-verification-number.com/en/api-sms-activate/
- Coverage & pricing: https://sms-verification-number.com/en/number-for-ai-agents/
Related
- Project
- Project
- Project