input | string | object | Input The input item this record corresponds to. |
status | string | Status ok (post found, charged x-post-context) | not_found (deleted / protected / unknown post, not charged) | error | skipped_invalid | skipped_budget | skipped_free_plan 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. |
source | string | Source Upstream data source (twitterapi = TwitterAPI.io). |
fetchedAt | string | Fetched at ISO timestamp. |
error | object | Error code / message when status is not ok (or a partial failure). |
warnings | array | Warnings Non-fatal notes (partial data, stopped early, free-plan caps). |
found | boolean | null | Found Post exists and was returned. |
postId | string | null | Post id Numeric X post id. |
postUrl | string | null | Post URL https://x.com/<handle>/status/<id>. |
postText | string | null | Post text Full text of the post. |
postCreatedAt | string | null | Posted at ISO 8601. |
authorHandle | string | null | Author handle Handle of the post's author. |
post | object | null | Post Normalized post: counts, entities, media, reply / quote / repost flags. |
author | object | null | Author profile Normalized author profile (followers, bio, verification, createdAt…); null when includeAuthor is false or the lookup failed. |
authorSource | string | null | Author source embedded (from the post payload, no extra call) or lookup (/twitter/user/info). |
likes | integer | null | Likes Likes at fetch time. |
retweets | integer | null | Reposts Reposts at fetch time. |
replyCount | integer | null | Reply count Total replies reported by X (not just the sampled ones). |
quoteCount | integer | null | Quote count Quote posts reported by X. |
views | integer | null | Views Views at fetch time. |
bookmarks | integer | null | Bookmarks Bookmarks at fetch time. |
engagementTotal | integer | null | Engagement total likes + reposts + replies + quotes. |
engagementRateByViewsPct | number | null | Engagement rate (views) % engagementTotal / views × 100. |
engagementRateByFollowersPct | number | null | Engagement rate (followers) % engagementTotal / author followers × 100. |
postAgeHours | number | null | Post age (h) Hours between posting and fetch. |
likesPerHour | number | null | Likes per hour likes / postAgeHours. |
hashtags | array | Hashtags Hashtags in the post. |
mentions | array | Mentions Handles mentioned in the post. |
links | array | Links Expanded links in the post. |
linkDomains | array | Link domains Domains of the post's links. |
repliesReturned | integer | null | Replies returned Replies included in replies[] (newest first). |
uniqueRepliers | integer | null | Unique repliers Distinct reply authors in the sample. |
topRepliers | array | Top repliers Up to 5 { handle, replies } by replies in the sample. |
verifiedRepliersSharePct | number | null | Verified repliers % Share of unique repliers with a blue check (over repliers whose status is known). |
authorRepliesCount | integer | null | Author replies Sampled replies written by the post's author. |
avgReplyLikes | number | null | Avg reply likes Mean likes per sampled reply. |
medianReplyLikes | number | null | Median reply likes Median likes per sampled reply. |
mostLikedReply | object | null | Most liked reply { id, url, authorHandle, text, likes }. |
repliesWithMediaPct | number | null | Replies with media % Share of sampled replies with images / video. |
repliesWithLinksPct | number | null | Replies with links % Share of sampled replies with links. |
replyLanguages | array | Reply languages Up to 5 { lang, count }. |
replyTopHashtags | array | Reply hashtags Up to 10 { tag, count } across sampled replies. |
replyTopMentions | array | Reply mentions Up to 10 { handle, count }, the post's author excluded. |
replyLinkDomains | array | Reply link domains Up to 10 { domain, count } linked in replies (x.com excluded). |
newestReplyAt | string | null | Newest reply ISO 8601. |
oldestReplyAt | string | null | Oldest reply ISO 8601 (oldest in the sample). |
replies | array | Replies Sampled replies, newest first: { id, url, text, createdAt, lang, authorHandle, authorName, authorFollowers, authorIsBlueVerified, likes, retweets, replies, quotes, views, inReplyToId, hashtags, mentions, urls, mediaCount }. |
repliesRequested | integer | null | Replies requested Effective maxReplies (20 on the free plan). |
repliesPagesFetched | integer | null | Reply pages Upstream reply pages fetched. |
repliesStopReason | string | null | Replies stop reason limit | end | budget | deadline | aborted | empty_pages | max_pages | error | skipped. |
extraRepliesCharged | integer | null | Extra replies charged Replies charged as x-context-extra-reply (beyond the included 20). |
emptyReplyPagesCharged | integer | null | Empty reply pages charged Extra-reply pages the upstream billed that added no new reply, charged one x-context-extra-reply each. |
quotesIncluded | boolean | null | Quotes requested Whether includeQuotes was on. |
quotesReturned | integer | null | Quotes returned Quote posts in quotePosts[]. |
quotePosts | array | Quote posts Up to 20 newest quote posts (same shape as replies[]). |