Telegram Channel Posts API

Get one page of recent public posts from a Telegram channel or group.

1 creditper request
GET
/v1/telegram/channel/posts
curl "https://api.scrapecreators.com/v1/telegram/channel/posts" \
  -H "x-api-key: "
{
  "success": true,
  "credits_remaining": 1000000,
  "credits_charged": 1,
  "channel": {
    "handle": "durov",
    "name": "Pavel Durov",
    "description": "Founder of Telegram.",
    "url": "https://t.me/durov",
    "avatar_url": "https://cdn1.telesco.pe/file/...",
    "is_verified": true,
    "subscriber_count": 11100000,
    "subscriber_count_text": "11.1M",
    "member_count": null,
    "member_count_text": null,
    "photo_count": 14,
    "video_count": 225,
    "file_count": null,
    "link_count": 372
  },
  "posts": [
    {
      "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 approved, Telegram users could get their own second-level domains.",
      "published_at": "2026-08-18T17:37:31+00:00",
      "view_count": 1210000,
      "view_count_text": "1.21M",
      "reactions": [
        {
          "emoji": "⭐",
          "emoji_id": null,
          "count": 16300,
          "count_text": "16.3K"
        },
        {
          "emoji": null,
          "emoji_id": "5373223594484587136",
          "count": 44700,
          "count_text": "44.7K"
        }
      ],
      "reaction_count": 89300,
      "forwarded_from": null,
      "media": [],
      "link_preview": null
    }
  ],
  "cursor": "523",
  "has_more": true
}

Headers

x-api-key
string
required

Your Scrape Creators API key

Query Parameters

handle
string
required

Public Telegram handle, @handle, or t.me channel URL.

Example:
durov
cursor
string

Numeric cursor returned by the previous page. Omit it for the latest posts.

Example:
523
cache_max_age
string

If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). See the Caching page for details.

Example:
7d
Available options:
1d,
3d,
7d,
14d,
30d