X / Twitter
BulkPublish
X / Twitter API
Publish, schedule and manage X / Twitter from your own code. One REST API and one key cover X / Twitter and every other network you connect, so you write the integration once.
What the X / Twitter API covers
Everything below is part of the published API and works with X / Twitter today.
| Capability | Endpoint |
|---|---|
| Create, schedule, update and publish posts | POST /api/posts |
| Upload images and video | POST /api/media |
| Find the next free slot in your queue | GET /api/posts/queue-slot |
| Create repeating schedules | POST /api/schedules |
| Publish new items from an RSS feed | POST /api/rss-feeds |
| Post a first comment automatically | platformSpecific._firstComment |
| Publish multi-part threads | postFormat: "thread" |
| Read per-post metrics | GET /api/posts/{id}/metrics |
| Read and reply to comments on published posts | GET /api/posts/{id}/engagement, POST /api/posts/{id}/comments/reply |
| Read and answer direct messages | GET /api/inbox/conversations, POST /api/inbox/conversations/{id}/messages |
| Check that the connection is healthy | GET /api/channels/{id}/health |
| Check your plan usage | GET /api/quotas/usage |
Post types you can publish to X / Twitter
Choose the type with postTypeOverrides. A type X / Twitter does not offer is rejected before anything is queued.
| Post type | Media |
|---|---|
tweet Tweet | Optional, up to 4 images or videos |
Schedule X / Twitter posts with curl
Three requests: find your channel, upload the file if the post has one, then create the post. Replace the key with one from Settings, then API keys, and 12 with your own channel id.
1. List your channels and note the id of your X / Twitter account.
curl https://app.bulkpublish.com/api/channels \
-H "Authorization: Bearer bp_your_key_here" 2. Create the post.
curl -X POST https://app.bulkpublish.com/api/posts \
-H "Authorization: Bearer bp_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"content": "Shipping a new release today",
"channels": [{ "channelId": 12 }],
"status": "scheduled",
"scheduledAt": "2026-12-01T09:00:00Z",
"platformSpecific": {
"x": {
"replySettings": "following"
}
}
}' The response is the created post, with its id and status. Fetch it later with GET /api/posts/{id} to see how it went.
X / Twitter options
Send these inside platformSpecific, under the key for X / Twitter.
| Option | What it does | Accepts |
|---|---|---|
replySettings | Who can reply | everyonefollowingverifiedsubscribersmentionedUsers |
X / Twitter analytics through the API
These metrics come back for each X / Twitter post on GET /api/posts/{id}/metrics, with snapshots over time.
- Impressions
- Likes
- Comments
- Shares
- Saves
- Engagement rate
Comments and messages
Through the API you can read and reply to comments on published posts and read and answer direct messages.
Reading comments works on every plan. Replying to comments needs a paid plan, and the inbox is part of Pro and Business. Until a feature is switched on for your account the API answers 403 with a code you can check for.
API access on every plan
Every plan includes API keys, the Free plan included. Here is what each one allows.
| Plan | API keys | Requests per day |
|---|---|---|
| Free | 1 | 30 |
| Pro | 5 | 5,000 |
| Business | 10 | 50,000 |
Build on X / Twitter directly, or use BulkPublish
Going direct is a fair choice, especially if you need something BulkPublish does not expose. This is what X API asks of you, checked against its documentation in October 2026.
- You register a developer app with X / Twitter before you can publish.
- Usage is billed per request.
- Access tokens are short-lived, so you build the refresh step yourself.
- Large videos go through a chunked upload that you have to implement.
BulkPublish keeps the connection for you: it refreshes tokens, checks each post against X / Twitter's rules before it is queued, and reports a failed destination on the post, so your code makes one request.
Read the official documentation
Prefer to ask an assistant?
Claude, ChatGPT and Cursor can do the same through the X / Twitter MCP server, with prompts instead of code.
See the X / Twitter MCP server
Prefer a calendar to code?
The same X / Twitter account can be scheduled from the app, with a content calendar and bulk upload.
Frequently asked questions
Common questions about the X / Twitter API.
Is there a ready-made API for X / Twitter, so I do not have to build the integration myself?
Yes. BulkPublish exposes X / Twitter through its REST API. Connect your X / Twitter account once, then publish, schedule and manage it with a key. The same key works for every other network you connect.
What can I publish to X / Twitter through the API?
The post types are Tweet. Each is checked against X / Twitter's media rules before anything is queued, so a request X / Twitter would reject fails straight away with a clear error.
Can I schedule X / Twitter posts through the API?
Yes. Send status "scheduled" with a scheduledAt time and a timezone, or ask for the next free slot in your queue first. Repeating schedules and RSS feeds are available too.
Can I read X / Twitter analytics through the API?
Yes. Per-post metrics include Impressions, Likes, Comments, Shares, Saves, and Engagement rate, with snapshots over time.
Can I read and answer X / Twitter comments or messages through the API?
Yes. You can read and reply to comments on published posts and read and answer direct messages. Replying to comments needs a paid plan, and the inbox is part of Pro and Business.
Does the X / Twitter API cost extra?
No. API access is on every plan. Free includes 1 key and 30 requests a day, Pro 5 keys and 5,000 a day, Business 10 keys and 50,000 a day.
Do I need a X / Twitter developer account or an app review?
Not to use BulkPublish. You connect your X / Twitter account on the Channels page and publish with a BulkPublish key. If you build on X / Twitter's own API instead, the section above lists what it asks of you.
Can an AI assistant do this too?
Yes. The X / Twitter MCP server page shows how to connect Claude, ChatGPT or Cursor and what to ask for.
Other networks
The same key and the same request shape work for 15 networks.
Start publishing to X / Twitter from code
Create a free account, connect X / Twitter and generate a key. No card needed.