The Telegram API
MTProto access to every public channel, as a plain REST call.
Why MTProto and not the Bot API
A bot can only read a channel it has been added to. That rules out every channel you do not control, which is every channel worth measuring.
This runs on MTProto — the protocol the Telegram clients themselves use — so it reads any public channel by @username, exactly what a logged-out visitor sees. No bot token, no phone number, no session to keep alive.
Request
curl --request GET \
--url 'https://telegram155.p.rapidapi.com/v1/usernames/durov' \
--header 'x-rapidapi-host: telegram155.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_KEY'Resolve a username, then ask for the channel by id. Two calls and you have the description, the subscriber count and the discussion group.
What comes back
| Field | What it is |
|---|---|
participants_count | Subscriber count, the number Telegram shows on the channel page |
about | The channel description |
verified / scam / fake | Telegram's own flags, passed through unchanged |
date | When the channel was created |
linked_chat_id | The discussion group attached to the channel, when there is one |
Built for discovery, not just lookup
Most Telegram APIs stop at "give me this channel". Two endpoints here go further: /v1/contacts/search searches the public directory by keyword, and /v1/channels/recommendations returns the channels Telegram itself places alongside any given one.
Those two are how the index on this site grew past its seed list. Search finds the first few hundred channels; the recommendation graph finds the rest.
Both discovery endpoints are on the free tier
2,500 calls a month, no card. No bot token and no phone number.