Twitter / X

Posts, threads and polls on X.

API id: x

At a glance

Text280 characters. 25,000 on accounts with a paid X subscription.
LinksEvery link counts as 23 characters, whatever its real length.
Files per postUp to 4
File needed?No
ThreadsYes — up to 25 posts. Each reply can also have up to 4 files.
Alt textYes
Edit after publishNo
Delete after publishYes
AnalyticsImpressions, likes, comments, shares, quotes, saves
CommentsRead replies from the last 7 days, and reply

Files

TypeRules
Images (JPEG, PNG, WebP)Up to 4 per post, 5 MB each.
GIF1 per post, on its own, up to 15 MB.
Video (MP4)1 per post, on its own. From 0.5 to 140 seconds. Shape between 1:3 and 3:1.

"On its own" means you cannot mix it with other files in the same post.

Options

Send these in channels[].options.

KeyTypeWhat it does
poll_optionslist2 to 4 poll answers, 25 characters each. A post with a poll cannot have files.
poll_duration_minuteschoiceHow long the poll runs: 5, 60, 360, 1440, 4320 or 10080. Default: 1 day.
reply_settingschoiceWho can reply: following or mentionedUsers. Accounts with a paid subscription can also use subscribers or verified. Default: anyone.

Example: a thread with a poll

{
  "channelId": "CHANNEL_X",
  "options": {
    "poll_options": ["Tabs", "Spaces"],
    "poll_duration_minutes": "1440"
  },
  "blocks": [
    { "content": "Settle this once and for all 👇" },
    { "content": "Results tomorrow." }
  ]
}

Good to know

  • A thread publishes one post at a time. If it stops halfway, a retry continues from where it stopped, without posting the first ones again.
  • To publish a thread, the account's continuationStatus on GET /channels must be available.

Comments

You can read the replies to a published post and answer them. See Read and reply to comments.

  • Only replies from the last 7 days. X's search, which Bulkit uses to find them, does not go further back. An older post can come back empty even if people replied.
  • Reading needs an X app access level that includes search. If yours does not, listing fails with a clear error. Replying still works.
  • 100 replies per page. Use nextCursor for more.
  • You get replies to the post and the direct replies under them. Deeper replies, and replies under your own thread posts, are left out.
  • Newest first. When a reply's parent comment is on another page, the reply is listed on its own with parentId set to that comment.
  • Needs tweet.read and tweet.write, which every connected account already has.

Set up

To connect accounts, you first need your own app on this platform. See the X app setup guide.

On this page