Channel Posts
GET/v1/telegram/channel/posts1 credit
Returns a page of a public channel's posts with text, publish time, views, reactions, media, link previews, forward source and polls (question, options, results), plus the channel's header details.
01Query parameters
| Name | Type | Description |
|---|---|---|
| handlerequired | string | The public channel's username or link: `durov`, `@durov` or `https://t.me/durov`. |
| cursoroptional | string | The `cursor` value from the previous page (a post id), passed back to get older posts. |
| cache_max_ageoptional | string | Accepted for compatibility: how old a cached answer may be. Every call is fetched fresh, so it does not change the answer or the price.Accepted values:1d3d7d14d30d |
02Request
curl "https://api.scrapesocial.ai/v1/telegram/channel/posts?handle=durov" \ -H "x-api-key: $SCRAPESOCIAL_KEY"
03Responses
Real answers from the API. Lists are shortened to 2 items.
GET /v1/telegram/channel/posts?handle=durov
{
"success": true,
"credits_remaining": 4980,
"credits_charged": 1,
"channel": {
"handle": "durov",
"name": "Pavel Durov",
"description": "Founder of Telegram.",
"url": "https://t.me/durov",
"avatar_url": "https://cdn4.telesco.pe/file/enJjZA2XzVbFAjeTOqFmqCmKVB5C_ZO1xVZAc4I4FHpcUdG6hDb5J51QzS22g6-tJRQGrlGmdtgU1eGT8p-i8JKeqcmCeGhl9vfVeW9yE4BGbeGSkiCZM8PKp_tk6ERV37lqm7F5woM7pH1Yr1ZfsNolrCfBiG16Ds2xrbM99J5Hr-5gsTz2I5f3Mom7BMCwHLFDseUGGHAonLz0SzXMeiX-mnheeroFMi0MZ2WS6E2RFng-3J1CBNV9iH9CUz2sLmQiNcTqepMdytRNF0cNDdMkibIS5_zANtiRy-CRf3bgXHspFVdqQX3lMPpf_rQgT1ABeQh4Cv79DhmnL_hYVw.jpg",
"is_verified": true,
"subscriber_count": 10300000,
"subscriber_count_text": "10.3M",
"member_count": null,
"member_count_text": null,
"photo_count": 102,
"video_count": 47,
"file_count": null,
"link_count": 200
},
"posts": [
{
"id": "531",
"channel_handle": "durov",
"url": "https://t.me/durov/531",
"author_name": "Pavel Durov",
"author_url": "https://t.me/durov",
"text": "🩵 Telegram now has a Rich Text Editor. It supports tables, headings, inline media, lists, AI content, formulas, and more. 😈 Messaging apps will never be the same!",
"published_at": "2026-07-16T20:45:25+00:00",
"view_count": 5840000,
"view_count_text": "5.84M",
"reactions": [
{
"emoji": "⭐",
"emoji_id": null,
"count": 6300,
"count_text": "6.3K"
},
{
"emoji": null,
"emoji_id": "5265077361648368841",
"count": 54600,
"count_text": "54.6K"
}
],
"reaction_count": 95110,
"forwarded_from": null,
"media": [
{
"type": "video",
"url": "https://cdn4.telesco.pe/file/b231b9b161.mp4?token=mg0DQG6NjrvUubauVWSFWjkR_WdX1AnXxIZXPdEMVuxXd72lxKw_kIMLanz6SGiuCz5l8mbIEze9wTqWNhHC8bILm1aUnpkvb_5M-royVgjY1hNDYasNtLKZmYNCj72U6woDbhxLqOGmCdfF5O5h7Z-NrBNtG1wGN7o5-vgp96q3P1hgNw3eJqK4HTkcxvqo3wKI_ZvOyea2svrb6uKd0ybBjRZF9-gtNUhO3gO_lh_RXyap86bgPxqCuAe5avXaoK0pkfHT4zBPLl-27hskOVX93COOb1QbzxqxPhyu_aPdL6dbMMKKqQ6ekV16mSputZMl8yTK5qy1RhVijS-_nIi-rc8JTn…",
"thumbnail_url": "https://cdn4.telesco.pe/file/JcEMS9Bq90aZQ4T4hTjXv8GwjylP99JjolEOlrsaRUQUoTg-FkIiVr22US2gPq7F7KTpVfv3a0LheA34sLpn3yt56djZa24ahRgfrYjrR9Tht3S1qXOxDIqGaCEpDwxIAaXFxgsQPk2vxVM-4k-YrgxsPIhO0ojSDeOqZ5crBHjyNulwZ4VVYkYb03h6natXFjhUUxmiQgXSg_fzlL1-aiz3L4nkJv1RjF2Mvr5ZCS8-Y9L4G_vSBrGsxkeOLVpsnYzLy0ut75H8m3woet_EIqWuLRYS9l3zXRrdmaSwIFeATLcZJqs0Jj7ypHqzrDuyeuYKYaXVYbP93Vl2nV7orA",
"duration": null
}
],
"link_preview": null,
"poll": null
},
{
"id": "532",
"channel_handle": "durov",
"url": "https://t.me/durov/532",
"author_name": "Pavel Durov",
"author_url": "https://t.me/durov",
"text": "🎠 Telegram now supports carousels One small step for messaging, one giant leap toward turning cat photos into keynote presentations. 😺",
"published_at": "2026-07-19T21:45:01+00:00",
"view_count": 6550000,
"view_count_text": "6.55M",
"reactions": [
{
"emoji": "⭐",
"emoji_id": null,
"count": 5810,
"count_text": "5.81K"
},
{
"emoji": null,
"emoji_id": "5373223594484587136",
"count": 56000,
"count_text": "56K"
}
],
"reaction_count": 84340,
"forwarded_from": null,
"media": [
{
"type": "video",
"url": "https://cdn4.telesco.pe/file/181642ae31.mp4?token=nywY3wMCjnXLXXMiFJhv0sbQoLqxxSNKxSYovhlY7A3JUzZSXtSYahEfxgQrmhBaqfrM6prHQBiSwNb5dAwaRJonmM9QRom4BxMseDSfl-NDzOzs1y-YDfZ8zP8LJqyV7if1XQj5LYkJ8LE-oh1uBdyJkRutuPNX9UGyQq0wn8SlcFpj3nYHTzrQWgVMGfAxNPgiTn2Y-ou4LlcSkUjgJNLjByXSbXlxsfbijroRqq8lHAUEPpukvfNSdv6y3MnmLSKT-HGX0tqENF5VNQq6xMG5KchoVEIIZzlhqaUd25Eaz6BJSZQ090fUMqPDUa37RHH4KAF2cWOfYQcb9ZM9oQ",
"thumbnail_url": "https://cdn4.telesco.pe/file/ZkMGYen6bnVsuBLEPnGvFu7hW4i2uC_OlHGJ-i7QBhxqoRm2_99vcbGkgLMAkw_msoy8PlviaPYQ3z1yfS3P9wvI1Vsqq842rUNl81TOjIJGc-Xr2OvmnUd3MeB_FquprJIHQpJ6rM85ufyouI-48-VIeNGaZbOb3u4V-M4gzRTNTAFq0zDlUFrwa_OSDlycjJztcK3mQsW2AFZpAMTCMmKUoEDYgcsWhTJ8nrV_ori1b5s3_-WS3TtkjCP5JQNofXo8c3ygy8XcsmRG2qrByPHuKAeJF8ll1z6bCYL6t_JoNmlmUHK_HxczE342GtLsFB_BLCYhbizLaTW2TNcnvQ",
"duration": null
}
],
"link_preview": null,
"poll": null
}
],
"cursor": "531",
"has_more": true
}Common to every endpoint
Any route can answer these: a missing or wrong key, no credits left, the platform not answering, or a failure on our side. None of them costs credits.
GET /v1/cosmos/profile?handle=design
{
"success": false,
"message": "Invalid API key"
}04Notes
Posts come in `posts`, about 20 per page, oldest first within the page; the first page is the latest posts. Pass `cursor` back as `cursor` for older posts while `has_more` is true; it is null on the oldest page, and a page past it returns an empty list for 0 credits. View and reaction counts are read from Telegram's rounded figures (`5.81M` becomes 5810000). Each post has a `poll` key (our addition, not in ScrapeCreators' answer): null without a poll, else its question, type (`regular` or `quiz`), whether it is anonymous, multiple-choice or closed, the voter count (rounded here, `48.7K`) and each option's percent and votes; a value Telegram's page does not show is null (a closed poll no longer says quiz or anonymous; the correct quiz answer is never shown), and votes are filled only where they follow exactly from the page's result bars. A group or a channel without a public preview is a free 403; an unknown channel a free 404.
05Errors & credits
Every error has success: false, a real HTTP status and costs no credits.
400missing_parameter
A required parameter is missing or invalid.
403private_account
The account is private or age-restricted.
404not_found
No such account.
503upstream_error
The platform did not answer; retry shortly.