Tutorial · 4 min read

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.

FAQ

▸Can I receive Telegram codes via API?
Yes — create an order for the telegram service, then poll GET /orders/{id}/sms or use a webhook to receive the code.
▸Which countries work for Telegram?
Ukraine, India and Brazil have the deepest, cheapest pools, but 190+ countries are available.
▸How much does a Telegram number cost?
From about $0.06 per OTP, billed only when the code is delivered.
Related guides