idbotAPI

Telegram username → ID

HTTP API that turns a Telegram username into its numeric id. Users, bots, channels, groups.

Get a key in the botapi.idbot.dev

How it works

  1. Open @idbot_api_bot, top up your balance and pick a plan. The key is issued instantly.
  2. Send it in the Authorization: Bearer <key> header.
  3. Call /v1/resolve?username=… and get JSON back.

Example

curl -H "Authorization: Bearer $API_KEY" \
  'https://api.idbot.dev/v1/resolve?username=durov'
{
  "ok": true,
  "id": "1006503122",
  "type": "Channel",
  "username": "durov",
  "title": "Pavel Durov",
  "onlineCount": null
}

For channels and supergroups id has no Bot API prefix: in the Bot API it is -100 + id.

Endpoints

GET /v1/resolve?username=…username → id, type, name / title. The leading @ is optional.
GET /v1/mePlan, daily limit, remaining today, monthly usage, paid-until date.
GET /pingHealth check. No key needed.

Quota

Plans

Mini
30
per day
4 USDT · 320 ⭐
per 30 days
Start
100
per day
10 USDT · 800 ⭐
per 30 days
Mid
500
per day
25 USDT · 2000 ⭐
per 30 days
Scale
1000
per day
49 USDT · 3920 ⭐
per 30 days

Prepaid for 30 days. Pay with USDT TRC-20 or Telegram Stars. Auto-renewal from balance; upgrades apply instantly with unused days refunded.

Errors

{"ok": false, "error": "…"}

HTTPerror
401UNAUTHORIZEDmissing or invalid key
403KEY_DISABLEDkey disabled (plan not paid)
400INVALID_USERNAMEmalformed username
429QUOTA_EXCEEDEDdaily limit reached
429RATE_LIMITEDmore than 5 requests per second
503UPSTREAM_UNAVAILABLEtemporarily unavailable, retry later
200NO_USERno such username
200PRIVATE_CHANNELthe channel exists but is private