TelegramPOST /v1/telegram/posts

Telegram Channel Posts Scraper API

A public Telegram channel's header (counters, description) plus its latest messages (up to 100) with text, media, views and dates.

Cost
2 credits
Failed requests
Refunded
Cache hits
Free
Response fields
15
Limits
Latest 100 messages · public channels only
All limits

What the Telegram Channel Posts Scraper API does

The Telegram Channel Posts Scraper API returns a public Telegram channel's header and its latest messages, newest first, up to 100 per request. Each message has its ID, link, type (text, photo, album, video, poll, document, voice, round video or sticker), plain text, photo URLs, video URL, thumbnail and duration, view count, post time in ISO 8601, forward information and link preview. The header includes title, description, photo, verification badge, subscriber count and the number of photos, videos, files and links. Only public channels with a t.me web preview are supported. View and subscriber counts are approximate, with the original compact text alongside. No Telegram account or bot token is needed. Each request costs 2 credits.

What you get

Top-level fields of the response. Every field is typed and documented; nullable fields are null when the platform does not show them.

FieldTypeDescription
usernamestringChannel username from page header
namestringChannel title
is_verifiedbooleanHas verified badge
descriptionstringChannel description; empty string if none
photo_urlstring | nullChannel photo URL
subscriber_countinteger | nullApproximate subscribers from compact text
subscriber_count_textstring | nullRaw counter text, e.g. '11M'
photo_countinteger | nullApproximate number of photos
video_countinteger | nullApproximate number of videos
file_countinteger | nullApproximate number of files
link_countinteger | nullApproximate number of links
linkstringhttps://t.me/<username>
posts_fetchedintegerNumber of messages returned
has_morebooleanOlder messages exist beyond those returned
postsarray<object> (15 fields each)Messages, newest first, max limit

Request example

Send the API key as a Bearer token. The body is a small JSON object.

curl -X POST https://api.scrapeeverything.com/v1/telegram/posts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username":"durov","limit":25}'
ParameterRequiredDescription
usernameYesPublic channel username, @handle or t.me link.
limitNoMaximum number of messages to return.

What it costs

Each successful request costs 2 credits. Your first 100 credits are free. With credit packs, 1,000 requests to this endpoint cost:

  • Builder pack

    $3.12

    25,000 credits for $39.00

  • Growth pack

    $2.38

    100,000 credits for $119.00

  • Scale pack

    $1.80

    500,000 credits for $449.00

See pricing for all packs and rate limits.

Use cases

  • Monitor crypto, news and community channels for new announcements.
  • Measure views per message to see which content a channel's audience reads.
  • Map which channels forward each other's posts using forwarded_from.

Limitations: Unofficial API: not affiliated with or endorsed by the platform. Public data only, as a logged-out visitor sees it. Only channels with a public t.me web preview; view counts are approximate.

  • Public channels with web preview only.
  • Up to 100 latest messages. View counts are approximate; the original text is in view_count_text.

Questions

How many messages are returned?

Up to 100 latest messages (default 20), newest first. has_more tells you whether older messages exist.

Do groups and private channels work?

No. Only public channels with a t.me web preview are supported.

Are view counts exact?

No. They are parsed from Telegram's compact text, for example 3.76M. view_count_text holds the original.

How much does the Telegram Channel Posts Scraper API cost?

2 credits per successful request. Credits are bought in one-time packs and never expire. New accounts get 100 free credits. No payment details needed.

Am I charged for failed requests?

No. If the platform blocks the request, it times out or something fails on our side, the credits are refunded automatically. A definitive answer such as "this account does not exist" is billed because the lookup completed.

Can I re-read a result without paying again?

Yes. Send cache_days (1 to 14) and a repeat request for the same target within that window is served from your cache for free.

More Telegram endpoints

Start with 100 free credits.

Continue with Google, create an API key and send your first request in under a minute.

Get 100 free credits