> ## Documentation Index
> Fetch the complete documentation index at: https://info.bundle.social/llms.txt
> Use this file to discover all available pages before exploring further.

# Twitter / X

> It's X now. The API is... well, it exists. Analytics are not included.

The platform formerly known as Twitter. The API changes have been... eventful. Let's focus on what works.

## 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:

| Tier     | Text Limit   | Video Duration |
| :------- | :----------- | :------------- |
| Free     | 280 chars    | 140s (2:20)    |
| Basic    | 280 chars    | 140s (2:20)    |
| Premium  | 25,000 chars | 600s (10 min)  |
| Premium+ | 25,000 chars | 600s (10 min)  |

See [Platform Limits](/api-reference/limits#twitter--x) for the full breakdown.

***

## Post Options

Send X-specific options inside `data.TWITTER`.

| Field           | Type       | Description                                                           |
| :-------------- | :--------- | :-------------------------------------------------------------------- |
| `text`          | `string`   | Tweet text. Character limit depends on the account subscription tier. |
| `uploadIds`     | `string[]` | Up to 4 uploaded media files. Images and videos can be mixed.         |
| `replySettings` | `enum`     | Controls who can reply. See the values below.                         |

```json theme={null}
{
  "teamId": "team_123",
  "title": "X announcement",
  "status": "SCHEDULED",
  "postDate": "2026-06-01T15:00:00.000Z",
  "socialAccountTypes": ["TWITTER"],
  "data": {
    "TWITTER": {
      "text": "Launching today",
      "uploadIds": ["upload_image_123"],
      "replySettings": "MENTIONED_USERS"
    }
  }
}
```

***

## Reply Settings

You can control who's allowed to reply to your tweets. Set `replySettings` in the `data.TWITTER` object when creating a post.

| Value             | Who can reply                     |
| :---------------- | :-------------------------------- |
| `EVERYONE`        | Anyone (default)                  |
| `FOLLOWING`       | Only people you follow            |
| `MENTIONED_USERS` | Only users mentioned in the tweet |
| `SUBSCRIBERS`     | Subscribers only                  |
| `VERIFIED`        | Verified accounts only            |

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.

```json theme={null}
{
  "data": {
    "TWITTER": {
      "text": "Hot take incoming",
      "replySettings": "MENTIONED_USERS"
    }
  }
}
```

<Note>
  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.
</Note>

***

## Analytics

We'll be honest here.

### Profile Analytics

**Status:** Not available. Won't be.

### Post Analytics

**Status:** Not available. Won't be.

<Info>
  **Why?** The X API changes have made analytics access extremely expensive and restrictive. The cost-to-value ratio doesn't make sense for anyone involved. We know, it sucks. If this changes in the future, we'll add support. But don't hold your breath.
</Info>
