DocsReference
X (Twitter)
ℹ️
Posting is available on all plans. Analytics are unavailable on X/Twitter's free API tier — upgrade your X Developer account to a Basic or Pro plan to unlock per-post insights.
LetsPost posts to X via the X API v2, using OAuth 2.0 with PKCE. The free API tier has meaningful restrictions — read the gotchas section before expecting full parity with what you can do manually.
Authentication
Connect via X OAuth 2.0 (PKCE). LetsPost requests:
- tweet.read — read your tweets and timeline
- tweet.write — post and delete tweets on your behalf
X access tokens expire after 2 hours and are refreshed automatically with a refresh token. If you see "X reconnect required" in LetsPost, the refresh token has been revoked — this happens when you change your X password or revoke app access in X settings.
Supported formats
| Format | Supported | Notes |
|---|---|---|
| Text tweet | ✓ | Up to 280 characters. URLs count as 23 characters regardless of actual length. |
| Image tweet | ✓ | Up to 4 images per tweet. JPEG, PNG, WebP, or GIF (static). Max 5 MB per image. |
| Video tweet | ✓ | 1 video per tweet. MP4 or MOV, max 512 MB, max 2 min 20 s. |
| Animated GIF | ✓ | 1 GIF per tweet (cannot mix with images or video). Max 15 MB. |
| Thread | — | Not supported yet. Thread creation requires multiple API calls in sequence — planned for a future release. |
Limits & quotas
| Limit | Value |
|---|---|
| Tweet text | 280 characters |
| Images | 4 per tweet |
| Video | 1 per tweet |
| Video file size | 512 MB |
| Video duration | 2 min 20 s |
| Image file size | 5 MB |
Gotchas
- Free API tier: no long-form posts — X's free API tier does not support long-form posts (X Articles). The 280-character limit applies. Upgrading to a paid X developer plan gives access to longer post formats, but that is configured on X's side, not in LetsPost.
- Rate limits hit fast — The free X API tier allows a limited number of tweet writes per 15-minute window. If you're publishing in bulk, LetsPost will queue posts and space them out automatically to avoid hitting the limit.
- URLs always count as 23 characters — X wraps all URLs in their t.co shortener, so every URL counts as exactly 23 characters toward your 280-character limit, regardless of the original URL length. The LetsPost composer shows the correct character count.
- Images and video can't be mixed — A single tweet can have up to 4 images, or 1 video, or 1 GIF — but not combinations of these. The composer will prevent you from adding both images and a video to the same tweet.
Was this page helpful?
Something unclear? Email us — we read every message.