The first number site built for developers too
Everything you can do on numberotp.com, from your code, your terminal or your AI agent. Real numbers in 190+ countries, the code the moment it lands, and a full refund when none arrives.
notp login # approve this terminal in your browsernotp buy whatsapp --country uk --copy # number now, code on your clipboardCODE=$(notp buy telegram --country usa -q) # scripts: only the code on stdoutInstall
$ npm install numberotp$ pip install numberotp$ go get github.com/DishantSinghDev2/numberotp-go$ brew install DishantSinghDev2/tap/notp$ npx -y numberotp-mcpNo Homebrew? curl -fsSL https://www.numberotp.com/install.sh | sh
Pick your tool
All of them talk to the same API, with the same prices, pools and refunds as the website.
SDKs
Official clients for TypeScript, Python and Go. Typed, retried, idempotent.
See the SDKsnotp CLI
Buy numbers and get codes from your terminal and scripts. One static binary.
Install the CLIMCP for AI agents
Let Claude, Cursor and other agents get a number and read the code, on a budget.
Connect an agentREST API
Every endpoint with examples, webhooks and live events. OpenAPI 3.1.
API referenceBuilt for production
The details that make verification flows boring — in a good way.
Never charged twice
Every purchase carries an Idempotency-Key, so a retry after a timeout returns the same number instead of buying another.
Automatic refunds
No SMS within 20 minutes, or you cancel first? The full price goes back to your balance. No tickets.
Codes in real time
Long-poll a single number, stream every event over SSE, or receive signed webhooks.
Typed errors
Stable error codes like INSUFFICIENT_BALANCE and NO_NUMBERS_AVAILABLE, so your code can branch on them.
Scoped keys
Give CI or an agent a read,buy key. Keys can never manage other keys, webhooks or the account.
Sign in your users
Device and email-code sign-in for apps, extensions and CLIs, with rotating refresh tokens.