Post
GET/v1/telegram/post1 credit
Returns a single post from a public channel: text, author, publish time, views, reactions, media, link preview, forward source and its poll (question, options, results).
01Query parameters
| Name | Type | Description |
|---|---|---|
| urlrequired | string | The public post URL, e.g. `https://t.me/durov/543`. |
| 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/post?url=https%3A%2F%2Ft.me%2Fdurov%2F543" \ -H "x-api-key: $SCRAPESOCIAL_KEY"
03Responses
Real answers from the API. Lists are shortened to 2 items.
GET /v1/telegram/post?url=https%3A%2F%2Ft.me%2Fdurov%2F543
{
"success": true,
"credits_remaining": 4980,
"credits_charged": 1,
"id": "543",
"channel_handle": "durov",
"url": "https://t.me/durov/543",
"author_name": "Pavel Durov",
"author_url": "https://t.me/durov",
"text": "💎 Telegram has applied for the .gram domain zone. If the application is approved by ICANN, a billion Telegram users could get their own second-level domains. 🖥 For example, @durov would get durov.gram, and @monk would get monk.gram. Users would be able to set up their interactive websites hosted by Telegram — just by typing one prompt ✨",
"published_at": "2026-08-18T17:37:31+00:00",
"view_count": 4050000,
"view_count_text": "4.05M",
"reactions": [
{
"emoji": "⭐",
"emoji_id": null,
"count": 17300,
"count_text": "17.3K"
},
{
"emoji": null,
"emoji_id": "5373223594484587136",
"count": 59200,
"count_text": "59.2K"
}
],
"reaction_count": 113300,
"forwarded_from": null,
"media": [],
"link_preview": null,
"poll": null
}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
`view_count` is read from Telegram's rounded figure (`3.96M` becomes 3960000), with the original in `view_count_text`. `poll` (our addition, not in ScrapeCreators' answer) is null without a poll, else its question, type (`regular` or `quiz`), whether it is anonymous, multiple-choice or closed, the exact voter count 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. Private and invite-only links (`t.me/c/...`) and other URLs are a free 400; an unknown post is 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.