Tweets
Publish tweets with automatic format detection
Publish tweets to X (Twitter) with automatic format detection. Handle images, videos, and text posts seamlessly.
One API call handles tweets with automatic content format detection.
Free plan No credit card Live in under 5 minutes
Publish tweets with automatic format detection
Add up to 4 images or 1 video per tweet
Create threaded conversations with multiple tweets
Content format determined automatically based on media
$ curl -X POST "https://api.postproxy.dev/api/posts" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"post": {
"body": "Just shipped a new feature! Check it out."
},
"profiles": ["twitter"],
"media": ["https://example.com/image.jpg"]
}' {
"id": "tw_abc123",
"body": "Just shipped a new feature! Check it out.",
"status": "scheduled",
"draft": false,
"source": "postproxy",
"scheduled_at": "2026-05-04T15:00:00.000Z",
"queue_id": null,
"created_at": "2026-05-04T15:00:00.144Z",
"media": [
{
"id": "tw_m1",
"status": "pending",
"error_message": null,
"content_type": "image/jpeg",
"source_url": "https://example.com/image.jpg",
"url": null
}
],
"platforms": [
{
"platform": "twitter",
"status": "pending",
"permalink": null,
"error": null,
"params": {
"format": "post"
},
"attempted_at": null
}
],
"thread": []
} $ curl -X POST "https://api.postproxy.dev/api/posts" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"post": {
"body": "1/ Here is everything we learned building our API platform:"
},
"profiles": ["twitter"],
"thread": [
{
"body": "2/ First, we unified all platform SDKs behind one endpoint."
},
{
"body": "3/ Then we added scheduling, retries, and webhooks.",
"media": ["https://example.com/diagram.jpg"]
},
{
"body": "4/ The result: one API call publishes to any platform."
}
]
}' {
"id": "1RteEJ",
"body": "1/ Here is everything we learned building our API platform:",
"status": "scheduled",
"draft": false,
"source": "postproxy",
"scheduled_at": "2026-05-04T13:23:32.117Z",
"queue_id": null,
"created_at": "2026-05-04T13:23:32.144Z",
"media": [],
"platforms": [
{
"platform": "twitter",
"status": "pending",
"permalink": null,
"error": null,
"params": {
"format": "post"
},
"attempted_at": null
}
],
"thread": [
{
"id": "Djtbaa",
"body": "2/ First, we unified all platform SDKs behind one endpoint.",
"media": []
},
{
"id": "q1txnp",
"body": "3/ Then we added scheduling, retries, and webhooks.",
"media": [
{
"id": "b5fYOK",
"status": "pending",
"content_type": "image/jpeg",
"source_url": "https://example.com/diagram.jpg",
"url": null
}
]
},
{
"id": "54tmk4",
"body": "4/ The result: one API call publishes to any platform.",
"media": []
}
]
} View full documentation for all platform-specific features for X
View documentationOne test post against a sandbox account is the easy part. Production X publishing means app verification, OAuth across many accounts, media pipelines, dozens of edge cases, and a permanent on-call rotation for "why didn't this one go through this time?"
Social media integration is not a one-off job — it's a constant commitment. Platforms change their APIs, scopes, limits, and policies on their own schedule. Every change becomes your problem unless someone else is absorbing it.
That's exactly what Postproxy does for X — and every other platform we support — so your team ships features instead of chasing failed publishes.
Free plan includes the X API. No credit card.
No need to handle Twitter API v2, OAuth flows, or rate limits. Postproxy handles it all.
Twitter rate limits are managed automatically with intelligent retry logic.
Publish tweets with text, images, or videos through one unified API.
Automatic retries and clear status reporting ensure your tweets reach X.
format to poll to attach a native X poll instead of a plain tweet. Pass poll_options (2–4 choices, max 25 characters each) and poll_duration_minutes (5 minutes to 7 days). Polls are mutually exclusive with media and threads, and the tweet body is capped at 280 characters regardless of account tier. Postproxy validates the option count, lengths, and duration before the post reaches X.Ask your favorite LLM what it thinks about us, then decide.
Common questions about X (Twitter) integration
No, X (Twitter) does not have custom parameters. Content format is determined automatically based on the media you provide. Postproxy handles all the formatting automatically.
Twitter supports images (jpg, png, webp, gif) up to 5 MB with a maximum of 4 images per tweet, and videos (mp4, mov) up to 512 MB with a duration between 1 second and 140 seconds.
Standard accounts have a 280 character limit for tweet text. Postproxy will automatically validate this limit before publishing.
Yes! Twitter fully supports text-only posts. Simply omit the media array from your post request.
No, Twitter does not allow mixing videos and images in a single tweet. You can post up to 4 images or 1 video per tweet.
Start with our free plan and scale as your needs grow. No credit card required.