POST /v1/telegram/postTelegram Post Scraper API
A single public Telegram channel message by link: text, media, views, date, forward info, link preview and channel info.
- Cost
- 1 credit
- Failed requests
- Refunded
- Cache hits
- Free
- Response fields
- 16
- Limits
- Public channels only
What the Telegram Post Scraper API does
The Telegram Post Scraper API returns a single message from a public Telegram channel: the channel it belongs to, message ID and link, type, plain text, photo URLs, video URL, thumbnail and duration, view count, post time in ISO 8601, forward information and the link preview card. Send a t.me/<channel>/<id> link, a short form such as durov/342, or the channel username together with the message ID. It is a small building block for tracking how one announcement performs over time, archiving messages you cite and unfurling t.me links pasted into your product. View counts are approximate, parsed from Telegram's compact text. Private channel links (t.me/c/...) are not supported. Each request costs 1 credit.
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.
| Field | Type | Description |
|---|---|---|
channel | object | Channel that posted the message |
id | integer | null | Message ID within the channel |
post | string | '<channel>/<id>' identifier |
link | string | https://t.me/<channel>/<id> |
type | string | text|photo|album|video|poll|document|voice|round_video|sticker |
text | string | Plain-text message body |
photo_urls | array<string> | Photo URLs; empty if none |
video_url | string | null | Video file URL |
video_thumb_url | string | null | Video thumbnail URL |
video_duration | string | null | Duration text, e.g. '0:32' |
view_count | integer | null | Approximate views from compact text |
view_count_text | string | null | Raw views text, e.g. '3.76M' |
posted_at | string | null | Post time, ISO 8601 datetime |
is_forwarded | boolean | Message was forwarded |
forwarded_from | string | null | Original source name if forwarded |
link_preview | object | null | Link preview card |
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/post \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://t.me/durov/342"}'| Parameter | Required | Description |
|---|---|---|
url | No | Message link t.me/<channel>/<id>. |
post | No | Alias of url, e.g. 'durov/342'. |
username | No | Channel username; only together with id. |
id | No | Message ID; only together with username. |
What it costs
Each successful request costs 1 credit. Your first 100 credits are free. With credit packs, 1,000 requests to this endpoint cost:
Builder pack
$1.56
25,000 credits for $39.00
Growth pack
$1.19
100,000 credits for $119.00
Scale pack
$0.90
500,000 credits for $449.00
See pricing for all packs and rate limits.
Use cases
- Track views of a specific announcement over the days after it is posted.
- Archive Telegram messages cited in research or reports, with media URLs and dates.
- Unfurl t.me message links that users paste into your app.
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.
- Pass url, post ("channel/123") or username together with id. Private channel links (t.me/c/...) are not supported.
Questions
Which inputs are accepted?
A message link (t.me/<channel>/<id>), post in the form "channel/123", or username together with id.
Do private channel links work?
No. Private channel links (t.me/c/...) are not supported.
Are view counts exact?
No. view_count is parsed from Telegram's compact text; view_count_text holds the original, for example 3.76M.
How much does the Telegram Post Scraper API cost?
1 credit 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.