How to verify Telegram with an API
Get a real phone number, receive the Telegram OTP, and complete verification programmatically — with copy-paste curl, JavaScript and Python.
Telegram sign-up and login require an SMS code. To automate that — for testing, multi-account tooling, or onboarding flows — you need a real number you can read the code from via an API.
1. Create an order
One POST provisions a number for Telegram in the country you choose:
curl -X POST https://api.eveses.com/api/v1/numbers/orders \
-H "Authorization: Bearer $KEY" \
-d '{"country":"ua","mode":"activation","service":"telegram"}'
# → { "order_id":"ord_91f3", "phone":"+380…", "status":"waiting" }
2. Poll for the SMS
import time
while True:
o = client.orders.sms(order.order_id)
if o.sms:
print(o.sms[0].otp); break
time.sleep(1.5)
Prefer webhooks in production — register a URL and we POST the code the moment it lands, no polling.
3. Finish (or cancel)
Call finish once you've used the code so the number is released and you're only billed for delivered OTPs:
curl -X POST https://api.eveses.com/api/v1/numbers/orders/ord_91f3/finish \
-H "Authorization: Bearer $KEY"
That's the whole loop — create → read → finish. Telegram numbers start around $0.06 per OTP, with refunds when a code never arrives.
Ready to build? Create a free Eveses account, top up a wallet, and grab your API key — no KYC. See the API docs or live pricing.