Skip to content
scrapeatlas.Dashboard

Get a Telegram post

Try in Playground

Retrieve a Telegram message by permalink, including text, publication time, views, reactions, media and link previews.

GET/v1/telegram/postx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
1
urlstringrequiredquery

Canonical post permalink.

max 160 chars

Examplehttps://t.me/example/101
Response fields
44
requestIdstring

Operational request identifier.

Source attempts, decoded bytes, elapsed time and active-request sharing.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

accounting.coalescedbooleanoptional

Optional.

successboolean

Whether usable data was returned.

statusenum

success, partial, failed or challenged.

one of: success, partial

sourceUrlstring

Retrieved public post URL.

absolute HTTPS URL

fetchedAtstring

UTC retrieval time.

Field coverage and extraction warnings.

coverage.sourceenum

Always included.

one of: public_preview, public_embed

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

idstring

Source message ID as a decimal string.

channel_handlestring

Canonical channel handle.

urlstring

Canonical post permalink.

absolute HTTPS URL

author_namestringnullable

Displayed author name.

author_urlstringnullable

Public author URL.

textstringnullable

Post text with normalized whitespace.

renderedTextstringnullable

Post text with rendered line breaks and visible inline text.

published_atstringnullable

Source publication datetime.

view_countintegernullable

Numeric displayed view count.

view_count_textstringnullable

Original displayed view count.

Emoji or custom emoji ID with numeric and displayed reaction counts.

up to 100 items

reactions.emojistringnullable

Always included.

reactions.emoji_idstringnullable

Always included.

reactions.countintegernullable

Always included.

reactions.count_textstringnullable

Always included.

reaction_countintegernullable

Sum of available reaction counts.

Forward attribution name and URL when shown.

forwarded_from.namestringnullable

Always included.

forwarded_from.urlstringnullable

Always included.

Ordered photo, video, document or audio entries with source URLs, thumbnails and displayed duration.

up to 100 items

media.typeenum

Always included.

one of: photo, video, document, audio

media.urlstringnullable

Always included.

media.thumbnail_urlstringnullable

Always included.

media.durationstringnullable

Always included.

Linked URL, site name, title, description and image URL.

link_preview.urlstringnullable

Always included.

link_preview.site_namestringnullable

Always included.

link_preview.titlestringnullable

Always included.

link_preview.descriptionstringnullable

Always included.

link_preview.image_urlstringnullable

Always included.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
10
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, unsupported or invalid parameters.
401unauthorizedMissing or invalid service key.
403restricted_pagePublic page explicitly reports restricted access.
404not_foundMissing profile or generic contact fallback.
429upstream_rate_limitedNo automatic retry.
502upstream_challenged unsupported_pageChallenge, unrecognized page or identity mismatch.
502upstream_error unsafe_redirect response_too_large payload_too_complex request_limitBounded retrieval failed.
503busyAll worker slots occupied.
504timeoutDeadline exceeded.
200partialUnknown entity type or unavailable displayed counts.