Skip to main content
The platform formerly known as Twitter. The API changes have been… eventful. Let’s focus on what works.

Billing

Twitter/X is moving to a usage-based billing model. X charges for API access to post, and we pass that cost through to you 1:1 - at cost, with no markup. You pay exactly what X charges us per tweet, nothing more.
We don’t add any margin on top of X’s API pricing. Every tweet published through bundle.social is billed to your account at the same price X bills us. This is separate from your bundle.social plan.

Supported Content Types

  • Tweets: Text with optional media. 0-4 files.
  • Images and videos can be mixed in the same tweet.

Quirks & Gotchas

Media Limits

  • Max 4 images per tweet.
  • Max 4 videos per tweet (though realistically, 1 is most common).
  • Video max size: 512 MB.

Text & Subscription-Based Limits

Twitter/X limits vary based on the account’s subscription tier: See Platform Limits for the full breakdown.

Post Options

Send X-specific options inside data.TWITTER.

Reply Settings

You can control who’s allowed to reply to your tweets. Set replySettings in the data.TWITTER object when creating a post. If you don’t set replySettings or set it to EVERYONE, we don’t send the parameter to Twitter at all - which is Twitter’s default behavior.
Reply settings depend on your Twitter/X account tier. Some options (like SUBSCRIBERS) only make sense if your account actually has subscribers. Twitter won’t error out if you use them anyway - it just won’t do much.

Analytics

Available on demand only. X charges for every API read, so we never refresh X analytics in the background. You trigger a refresh yourself, and each one is billed from your prepaid X credits, the same balance used for posting. After a refresh, the data is available through the regular analytics endpoints.
  • If your credit balance is too low, the refresh fails with a clear “Not enough credits” error and nothing is charged.
  • Forced refreshes have a daily limit per account and per post, like on every other platform.
  • For your own posts X returns organic metrics (the richer set); if those aren’t available we fall back to public metrics.