Bots that sell codes
A Telegram or Discord bot can sell verification numbers to users who follow the same Acceptable Use Policy.
The API does one thing well: it gives your code a real carrier mobile number, waits for an SMS, and hands you the text and the code. That small primitive fits many legitimate products and internal tools. Below are use cases we see as a good fit, each with the parts of the API it relies on, followed by a plain list of what is not allowed. If you are unsure whether your idea fits, read the Acceptable Use Policy before you build, not after. Endpoint details are at /api/docs/.
With the Noir SMS API at https://noirsms.com/api/v1 you can build anything that needs a real mobile number to receive one SMS: a Telegram or Discord bot that sells verifications under the reseller rules, an internal tool so employees never put their personal number on work accounts, tests of how your OTP SMS looks in many countries and languages, or a privacy layer for verifying your own accounts. Every use must be for legitimate accounts that belong to you or your customers. Bulk or automated account creation, ban evasion, spam, fraud and bypassing bank, fintech or KYC checks are not allowed. Docs: https://noirsms.com/api/docs/.
A Telegram or Discord bot can sell verification numbers to users who follow the same Acceptable Use Policy.
An internal tool gives staff a number for work sign-ups, so nobody uses a personal phone.
Receive your own OTP SMS in many countries to check language, sender and formatting.
Verify your own accounts without exposing your real number, then secure them with your own recovery methods.
A bot is a natural interface for a single verification: the user picks a service and a country, pays the bot owner, gets a number in the chat and receives the code a few seconds later. Your backend calls GET /services to build the menu, POST /numbers with max_price to buy, and listens for the signed sms.received webhook to post the code back into the right chat. If the number expires, the price returns to your balance and your bot should refund the user too.
A bot that sells to the public is a reseller, so the reseller rules apply in full: your users must follow the Noir SMS Acceptable Use Policy, you are responsible for abuse through your bot, and accounts that resell to abusers are closed. Also follow Telegram's or Discord's own bot and payment rules.
Marketing, support and operations teams constantly sign up for tools that want a phone number. When people use their personal phones, the company loses access when they leave, and their private number ends up in vendor databases. A small internal page backed by the API can hand out a number for one verification and show the code, with the cost charged to one company balance and every purchase listed by GET /numbers?status=all.
Be honest with your team about the limits: numbers are single use and recycled later. For accounts the company keeps, the tool should prompt staff to add a durable recovery method, such as a shared mailbox or an authenticator app, right after verifying.
# Nothing arrived and cancelable_at has passed: cancel and get the price back
curl -X POST https://noirsms.com/api/v1/numbers/6026e15f-088d-45b5-bf22-70ed0b417afa/cancel \
-H "Authorization: Bearer nsk_live_YOUR_KEY"
# Code arrived and you need a second SMS on the same number (free while open)
curl -X POST https://noirsms.com/api/v1/numbers/6026e15f-088d-45b5-bf22-70ed0b417afa/resend \
-H "Authorization: Bearer nsk_live_YOUR_KEY"If your app sends verification codes worldwide, the SMS a user receives in Canada, the UK or Brazil can differ from what you see at home: a different sender format, a translated template, a stripped character, a message split in two. By receiving your own OTP on real numbers from many countries, you can read sms[].text exactly as it arrived and check language, length and branding. GET /countries tells you where numbers are in stock today.
import requests
BASE = "https://noirsms.com/api/v1"
H = {"Authorization": "Bearer nsk_live_YOUR_KEY"}
# Which countries have numbers in stock right now?
countries = requests.get(f"{BASE}/countries", headers=H).json()["countries"]
for c in countries[:10]:
services = requests.get(f"{BASE}/services", params={"country": c["country"]}, headers=H).json()["services"]
print(c["country"], len(services), "services in stock")Some developers build a personal tool that verifies their own accounts with a temporary number, so their real phone number is not tied to every newsletter, marketplace or test environment they sign up for. That is the same use as the dashboard, just scripted. The same caution applies: for any account you plan to keep, add your own phone, email or authenticator afterwards, because the rented number will not be available for recovery later.
These uses are prohibited by the Noir SMS Acceptable Use Policy whether you use the dashboard, the API or a reseller. Accounts involved in them are closed, and resellers whose customers do them lose their account too.
Yes, as a reseller. Your users must follow the same Acceptable Use Policy, you are responsible for abuse through your bot, and accounts that resell to abusers are closed.
No. Bulk or automated account creation is prohibited on Noir SMS and usually breaks the target platform's terms. Accounts doing it are closed.
Yes. One account, one API key and one balance can back an internal tool. GET /numbers lists every number bought through the API.
No. Bypassing bank, fintech, payment, crypto-exchange or identity (KYC) checks is prohibited, through the API or the dashboard.
No. Each number is reserved for 20 minutes for one verification and is recycled later by the provider. Add your own recovery method to accounts you keep.
Your phone number links to spam, data brokers, SIM-swap attacks and account takeover. Practical steps to protect it, and where a temporary number helps.
Read the guide →Safety & privacyStep-by-step: switch an account's sign-in and recovery from a temporary number to an authenticator app, passkey, email or your own number.
Read the guide →Safety & privacyIs it legal to use a temporary or virtual phone number for verification in the US, UK and Canada? What's lawful, what's not, and terms of service.
Read the guide →Getting startedWhether you can reuse a temporary number for another code, another app or a later login, what happens after it expires, and how to avoid lockouts.
Read the guide →A REST API to buy temporary numbers and read SMS codes from code: bearer auth, polling or signed webhooks, clear error codes and automatic refunds.
Read more →API for resellersOffer SMS verification in your own panel, app or bot at your own prices. One balance, signed webhooks, and clear rules for your customers.
Read more →API for your own systemUse the Noir SMS API in internal tools, QA of your OTP sign-up flow, CI pipelines and delivery monitoring, in the US, Canada, UK and more.
Read more →WhatsApp bulk messaging, the allowed wayUnsolicited WhatsApp bulk messages get numbers banned. Learn the allowed options: broadcast lists to opted-in contacts and Meta's official Cloud API.
Read more →Create a free account, add funds and generate your API key on the API page of your dashboard.
Use the Noir SMS API only for your own legitimate accounts or, as a reseller, for customers who follow the same Acceptable Use Policy. Bulk or automated account creation, spam, ban evasion and bypassing bank, fintech or identity checks are prohibited and lead to account closure.