Telegram public post API
  1. Docs
  2. Telegram
  3. Telegram public post API

Telegram public post API

One public post by URL: text, date, views, reactions, forward source, media and link previews.

GET /v1/telegram/post

GET /v1/telegram/post

One public post by URL: text, date, views, reactions, forward source, media and link previews.

  • Cost: 1 credit
  • Cache: Results are kept up to 30 days; send max_age_days to reuse them for free.
  • Timeout: A request still running after about 25 seconds answers 202 with a job to poll (Batch and jobs).

Parameters#

NameTypeRequiredDescription
urlURLyesPost URL (t.me/<channel>/<number>). Accepted hosts: t.me, telegram.me.

Every request also accepts:

  • trim: true for a smaller response without null fields and extra.
  • raw: true to also get the platform's original object as raw.
  • max_age_days: accept a cached result up to this many days old, for 0 credits (Caching).

Example request#

Set your key in the environment first (see Authentication).

1curl -G "https://api.socialscrape.dev/v1/telegram/post" \2  -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3  --data-urlencode "url=https://t.me/durov/543"

Example response#

This is a sample from a recorded response, lists and long text are shortened. Status 200.

200 OKSample response
1{2  "ok": true,3  "credits_charged": 1,4  "credits_remaining": 4999,5  "cached": false,6  "cached_at": null,7  "request_id": "req_beafc1bfa636b3258e36c499",8  "data": {9    "object": "post",10    "platform": "telegram",11    "id": "543",12    "url": "https://t.me/durov/543",13    "type": "text",14    "author": {15      "id": null,16      "handle": "durov",17      "name": "Pavel Durov",18      "url": "https://t.me/durov",19      "avatar_url": null,20      "verified": true21    },22    "title": null,23    "text": "šŸ’Ž Telegram has applied for the .gram domain zone.\n\nIf the application is approved by ICANN, a billion Telegram users could get their own second-level domains.\n\nšŸ–„ For example, @durov would get durov.gram, and @monk would get  monk.gram. \n\nUs...",24    "published_at": "2026-08-18T17:37:31Z",25    "duration_seconds": null,26    "language": null,27    "hashtags": null,28    "mentions": [29      "durov"30    ],31    "stats": {32      "views": 4080000,33      "likes": null,34      "comments": null,35      "shares": null,36      "saves": null,37      "dislikes": null38    },39    "media": {40      "thumbnail_url": null,41      "video_url": null,42      "audio_url": null,43      "image_urls": null,44      "width": null,45      "height": null46    },47    "song": null,48    "location": null,49    "is_pinned": null,50    "is_sponsored": null,51    "extra": {52      "channel_handle": "durov",53      "reaction_count": 113400,54      "reactions": [55        {56          "count": 17300,57          "count_text": "17.3K",58          "emoji": null,59          "emoji_id": null,60          "paid": true61        },62        {63          "count": 59300,64          "count_text": "59.3K",65          "emoji": null,66          "emoji_id": "5373223594484587136",67          "paid": null68        },69        {70          "count": 21800,71          "count_text": "21.8K",72          "emoji": null,73          "emoji_id": "5399847211989246390",74          "paid": null75        }76      ],77      "signature": "Pavel Durov",78      "view_count_text": "4.08M"79    }80  },81  "cursor": null,82  "has_more": null83}

Response#

A Post object in data.

See Data models for every field. The envelope around data is described in Responses.

Errors#

Failures are free: credits_charged is 0. Branch on error.code, never on the message.

CodeHTTPRetryMeaning
invalid_params400noA parameter is missing, unknown or has the wrong type.
unsupported_url400noThe URL is not one this endpoint accepts (wrong platform or form).
not_found404noThe platform says this profile, post or item does not exist.

Every request can also fail with the account and platform errors listed on the Errors page.

Example error:

1{2  "ok": false,3  "error": {4    "code": "not_found",5    "message": "The platform says this profile, post or item does not exist.",6    "retryable": false7  },8  "credits_charged": 0,9  "request_id": "req_cb2e9e718ecb3eda80ee342b"10}