Telegram Post API
Get one public Telegram channel post by its t.me link: text, posting time, views, photo and video links, and reactions.
Pricing and providers
Telegram Post API pricing: one API, 3 interchangeable providers
The cheapest provider serves first. If it fails, the next one takes over in the same call.
Try it
Get Telegram post in one request
{
"data": {
"channel": "example",
"createdUtc": 12.5,
"id": "a1b2c3d4",
"image": "https://example.com/image.jpg",
"mediaUrls": [
"https://example.com/page"
],
"reactions": [
{
"count": 12500,
"emoji": "example"
}
],
"text": "A short example description of this item.",
"url": "https://example.com/page",
"views": 12500
},
"found": true,
"reason": "not_found"
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-19 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- urlstring
https://t.me/telegram/460
Link to one public channel post, e.g. https://t.me/telegram/460 (t.me/s/ links work too).
Response
JSON, one example value per field.
The post record, or null when nothing was found.
- channelstring
Username of the channel that published the post. Populated whenever the provider has data for the entity.
- createdUtcnumber
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Populated whenever the provider has data for the entity.
- idstring
Post number, unique within the channel. Posts are numbered in order. Populated whenever the provider has data for the entity.
- imagestring
Thumbnail image URL for the post's photo, video or link preview; null when it has none. Temporary: Telegram's CDN link expires.
- mediaUrlsstring[]
Direct URLs of the post's photos and videos. Temporary and signed: keep the query string. Empty when the post has no media or Telegram withholds a large video's file.
- textstring
Post text or media caption, plain. Empty when the post has none. Some sources collapse line breaks into spaces. Populated whenever the provider has data for the entity.
- urlstring
The post's t.me link. Populated whenever the provider has data for the entity.
- viewsinteger
View count. Telegram rounds it ("1.2K" becomes 1200). Null when not shown.
Reactions on the post and how many of each. Empty when the post has none or the channel hides them.
- countinteger
How many times it was given. Telegram rounds large counts.
- emojistring
The reaction's emoji; null for a custom emoji, and on some sources for a paid star reaction.
- foundboolean
True when the post was found; false when it was deleted, never existed, or its channel is not public.
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the Telegram Post API
The AnyAPI Telegram Post API returns Telegram post data as normalized JSON from one POST call to /v1/run/telegram.post. Get one public Telegram channel post by its t.me link: text, posting time, views, photo and video links, and reactions. AnyAPI routes each request across 3 sources and falls back automatically when one fails. It costs from $1.10 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Telegram post calls through AnyAPI succeeded, with a median response time of 1.9 seconds across 1 measured calls.