input | string | object | Input The channel this record belongs to (canonical username). |
recordType | string | Record type post (charged) or summary (one per channel, with the channel info; free). e.g. "post" |
position | integer | Position Post number within its channel in this run (1 = newest). |
status | string | Status ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan | skipped_unmetered e.g. "ok" |
charged | boolean | Charged Whether this record incurred a pay-per-event charge. |
chargedEvent | string | Charged event Pay-per-event event charged for this record (present only when charged). |
chargedCount | integer | Events charged Events actually charged when the charge came back short of the requested count (present only then; a warning explains it). |
source | string | Source Upstream data source. |
fetchedAt | string | Fetched at ISO timestamp. |
error | object | Error { code, message, provider?, status? } when status is not ok. Codes set by the runtime: budget_exhausted, free_plan_limit, unmetered, aborted, charge_failed, record_too_large, invalid_record, dataset_push_failed; upstream codes: rate_limit, timeout, network, server, client, invalid_response, not_found; this Actor: invalid_input. |
warnings | array | Warnings Notes about this record, e.g. a cap or the budget that stopped a channel early. |
channel | string | Channel Channel username (lower case). |
postId | integer | Post ID Message id within the channel. |
url | string | Post URL https://t.me/<channel>/<postId> |
date | string | null | Date Publication time, ISO 8601 UTC. |
edited | boolean | Edited The post was edited after publication. |
author | string | null | Author signature Author name shown on the post, when the channel signs posts. |
text | string | null | Text Plain text of the post or caption. |
markdown | string | null | Markdown The same text with bold, italic, links, code and quotes as markdown. |
views | integer | null | Views View count (approximate when Telegram abbreviates it). |
viewsText | string | null | Views (as shown) The view count as Telegram shows it, e.g. 1.56M. |
reactions | array | Reactions [{ emoji, count }]: the emoji, paid (Telegram Stars) or custom:<id> for a custom emoji. |
reactionsTotal | integer | null | Reactions total Sum of all reaction counts. |
forwardedFrom | object | null | Forwarded from { name, url, username } of the original sender of a forwarded post (fields are null when hidden). |
replyTo | object | null | Reply to { postId, url, author, text } of the post this one replies to. |
links | array | Links Links in the text and the link preview. |
hashtags | array | Hashtags #hashtags in the text. |
mentions | array | Mentions @mentions in the text. |
linkPreview | object | null | Link preview { url, siteName, title, description, imageUrl } of the attached link preview. |
poll | object | null | Poll { question, type, options: [{ text, percent }] }. |
media | array | Media [{ type, url, thumbnailUrl, postUrl, durationSecs, title, details }]; type: photo, video, round_video, document, audio, voice, sticker, location. |
mediaTypes | array | Media types Distinct media types of the post. |
mediaNotSupported | boolean | Media only in the app Telegram shows this post's media only in its apps. |
channelTitle | string | null | Channel title The channel's display name. |
raw | string | Raw HTML The post's HTML block from the preview page (only with includeRaw). |
channelDescription | string | null | Channel description Summary records: the channel's description. |
subscribers | integer | null | Subscribers Summary records: subscriber count (approximate when abbreviated). |
subscribersText | string | null | Subscribers (as shown) Summary records: e.g. 9.33M. |
photoUrl | string | null | Channel photo Summary records: channel photo URL. |
verified | boolean | Verified Summary records: the channel has Telegram's verified badge. |
counters | object | Counters Summary records: other header counters (photos, videos, files, links). |
channelUrl | string | null | Channel URL Summary records: https://t.me/<channel>. |
oldestPostIdSeen | integer | null | Oldest post ID seen Summary records: the oldest post ID this run delivered (null when none); pass it as beforePostId to continue further back. |
resultsDelivered | integer | Posts delivered Summary records: charged post rows of this channel. |
stopReason | string | Stop reason Summary records: limit | free_plan | end | budget | aborted | deadline | empty_pages | max_pages | error. |