Telegram Channel posts API
Get a public Telegram channel's posts by username, about 20 per page with a cursor for older pages: text, posting time, views, photo and video links, and reactions.
价格与服务商
Telegram Channel posts API 价格:一个 API,3 个可互换的服务商
最便宜的服务商优先响应。如果它失败,下一个会在同一次调用中接手。
试一试
一个请求获取 Telegram Channel posts
{
"data": {
"nextCursor": "example",
"posts": [
{
"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"
}完整的参数与响应参考:这个接口的每个字段、类型和示例。
参考
一个请求,一种响应结构。
你发送的每个字段和收到的每个字段,都附有真实示例。
最近验证于 2026-10-19 · 可用率和延迟按 30d 统计
请求体
JSON,POST 到这个接口。
- handlestring
telegram
Public Telegram channel username, with or without the @ (e.g. "telegram"), or its t.me link.
- cursorstring
Opaque pagination cursor from a previous response's nextCursor, for older posts. Omit for the newest page; a page holds about 20 posts.
响应
JSON,每个字段一个示例值。
Wrapper holding the posts array and the next-page cursor, or null when nothing was found.
- nextCursorstring
Opaque cursor for the next, older page of posts, or null/empty when there are no more. Pass it back as cursor to continue.
One page of the channel's posts, about 20, from the newest page back. Populated whenever the provider has data for the entity.
- channelstring
Username of the channel that published the post.
- 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, e.g. https://t.me/telegram/441. 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 channel's posts were found; false when no public channel has this username or it has no readable posts.
- 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.
常见问题
关于 Telegram Channel posts API
AnyAPI 的 Telegram Channel posts API 只需一次 POST 请求 /v1/run/telegram.channel_posts,就以统一格式的 JSON 返回 Telegram 数据。Get a public Telegram channel's posts by username, about 20 per page with a cursor for older pages: text, posting time, views, photo and video links, and reactions.AnyAPI 会在 3 个数据源之间路由每个请求,某个数据源失败时自动切换。费用:每千次请求 US$1.10 起,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 Telegram Channel posts API 调用中有 100.0% 成功,响应时间中位数为 1.2 秒,共测量 1 次调用。