Social Fetch
Telegram

List Telegram channel posts

List recent posts from a public Telegram channel. Groups are not supported.

GET/v1/telegram/channels/{handle}/posts
1credit
x-api-key*stringheader

API key (`sfk_...`)

Parameters
2
handle*stringpath

Telegram public username (channel or group), with or without leading @.

min 1 chars · max 200 chars

cursorstringoptionalquery

Opaque pagination cursor from a previous response. Omit for the first page.

Response fields
27

Endpoint-specific response payload.

datalookupStatus
string

Domain outcome of the channel lookup. Always check this before reading `posts`.

one of: found, not_found, restricted

Posts in reverse chronological order (newest first) when lookupStatus is `found`. Empty when `not_found` or `restricted`.

dataposts[]postId
string

Unique post ID within the channel.

dataposts[]text
stringnullable

Post text as simplified HTML (<br> line breaks, <a href> links, custom tg-emoji expanded to unicode, common HTML entities decoded so arrows and quotes read naturally in JSON). Null if the post contains only media.

dataposts[]date
stringnullable

ISO 8601 publication timestamp.

dataposts[]views
integernullable

View count from the public feed. Telegram may abbreviate large values (e.g. 1.13M → 1130000). Null for very recent posts.

dataposts[]forwardedFrom
stringnullable

Original channel name if this post was forwarded.

Reply/quote preview when this post replies to another channel message; null otherwise.

dataposts[]replyTopostId
string

Numeric post ID of the message being replied to, from the public t.me link in the reply preview.

dataposts[]replyToauthorName
stringnullable

Channel or author name shown in the reply preview bar.

dataposts[]replyTotext
stringnullable

Preview snippet of the replied-to message as shown in the embed (often truncated). May be a short media label such as Photo when Telegram does not show body text.

Photo URLs from Telegram CDN. May expire over time; download promptly if needed.

dataposts[]photoUrls[]
stringoptional
dataposts[]videoUrl
stringnullable

Video URL if the post contains a video. May expire over time; download promptly if needed.

Reaction counts shown on the public preview page. Empty when Telegram omits them for a post.

dataposts[]reactions[]emoji
stringnullable

Unicode reaction emoji when Telegram exposes it in the public HTML (including Stars as ⭐). Null for premium/custom animated reactions — use customEmojiId and emojiImageUrl.

dataposts[]reactions[]customEmojiId
stringnullableoptional

Telegram custom emoji document id when the reaction uses a premium/custom emoji.

dataposts[]reactions[]emojiImageUrl
stringnullableoptional

Preview image URL for custom emoji reactions (from Telegram's public emoji metadata). Null for standard unicode reactions.

dataposts[]reactions[]isPaid
booleanoptional

True when the reaction is a Telegram Stars paid reaction.

dataposts[]reactions[]count
integer

Number of users who added this reaction.

≥ 0

datanextCursor
stringnullable

Pagination cursor for the next page. Null if no more posts.

datahasMore
boolean

Whether older posts are available. True when Telegram's public feed HTML includes a load-more control for earlier messages.

Metadata describing the request and billing outcome.

metarequestId
string

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integer

Credits charged for this request.

≥ 0

metaversion
string

Public API version that served the response.

one of: v1

Code example

curl "https://api.socialfetch.dev/v1/telegram/channels/durov/posts" \
  -H "x-api-key: YOUR_API_KEY"

Responses

Lookup result. Check `data.lookupStatus` for `found`, `not_found`, or `restricted` before reading `data.posts`. When `found`, use `data.nextCursor` for pagination when `data.hasMore` is true.

On this page

No Headings