Skip to content

Events

Post

View as MarkdownPlain text source(opens in new tab)

Fires when a tracked user publishes a new post. Not a reply, quote, or repost. Each of those has its own event type.

A post event fires when a tracked user publishes a new original post.

Fields

FieldTypeNotes
type"post"
idstringX post ID
urlstringCanonical https://x.com/{username}/status/{id}
authorAuthorThe tracked user who posted
textstringPost text. URLs are expanded; HTML entities are decoded
createdAtMsnumberUnix milliseconds, truncated to the second
latencyMsnumber | nullReal wall-clock from X creation to delivery. null when the upstream payload lacks a creation timestamp
mediaMediaRef[]Empty array when no media
articleArticleRef | nullCard preview when the post links to an article
pollPollRef | nullWhen the post is a poll
symbolsSymbolRef[]Cashtags the author selected from X’s picker. Typing $btc in body text alone doesn’t count

Example

Here’s a real post event from @elonmusk. The author object is shortened for the preview; the wire ships every Author field.

{
  "type": "post",
  "id": "2062662195192697233",
  "url": "https://x.com/elonmusk/status/2062662195192697233",
  "author": {
    "id": "44196397",
    "username": "elonmusk",
    "displayName": "Elon Musk",
    "verified": true,
    "verifiedType": "blue"
  },
  "text": "Starlink V3 satellites have >10X bandwidth of V2 and there'll be >10X launched, which means >100X more bandwidth...",
  "createdAtMs": 1780611964000,
  "latencyMs": 58,
  "media": [],
  "article": null,
  "poll": null,
  "symbols": []
}
  • reply: the user replied to a post
  • quote: the user quoted a post
  • repost: the user reposted a post
  • deleted with deletedKind: "post": a previously delivered post was deleted