No output yet. Submit the form to generate content.
Transparent pricing with no hidden fees. Pay as you go.
| Rule & Modality | Channel | Credits | Price (USD) | Official / Reference Price | Daily Savings |
|---|---|---|---|---|---|
create-tweet otherTwitter | Starter | 0.01per post | $0.00005 | - | - |
Competitor pricing costs $45.450 more
ApiPass is 90.90% lower, estimated at multiple calls returning 10,000 returned posts total
create-tweet
ApiPass Price
$0.0005
0.1 credits per post
Competitor Prices
Complete guide to using twitter-api-graphql
Publish tweets programmatically to any authenticated X (Twitter) account with full support for text, media attachments, replies, and sensitive content flags through a single unified endpoint.

The Twitter Graphql Create Tweet API on ApiPass is a POST endpoint (/api/v1/jobs/createTask) that lets developers publish tweets on behalf of authenticated Twitter/X accounts without going through Twitter's official developer program approval process. By passing an auth_token cookie from a logged-in Twitter session along with the tweet payload, you can post plain text tweets, attach up to four media items, reply to existing tweets, tag users in media, add semantic annotations, and flag content as possibly sensitive. The API operates asynchronously — each request returns a taskId that you can either poll via the recordInfo endpoint or receive via callback once the tweet has been successfully published.
Skip the lengthy Twitter Developer Platform application, elevated access review, and enterprise tier gatekeeping. Authenticate with a standard auth_token cookie and start posting immediately.
ApiPass routes your requests through multiple providers (starter, regular, official) at prices far below Twitter's official Basic (200/month) or Pro (5,000/month) tiers, with the default auto channel automatically selecting the most cost-effective and stable provider in real time.
Access the same internal GraphQL mutation Twitter's web client uses, including media_entities, tagged_users, semantic_annotation_ids, dark_request, and reply-thread controls that aren't exposed in older REST endpoints.
Every tweet creation returns a taskId that you can query or receive via callBackUrl, making it easy to build resilient, high-volume posting pipelines without blocking your application threads.
Because authentication is per-request via AuthToken, you can manage unlimited Twitter accounts from a single API key — ideal for agencies, social-media management tools, and multi-brand publishing.
One JSON payload covers text-only tweets, media tweets, replies, and sensitive-content posts. No need to juggle multipart uploads, separate media endpoints, or different auth flows for different tweet types.
Attach pre-uploaded media via media.media_entities with media_id references, tag users in images via tagged_users, and mark uploads as possibly_sensitive when needed.
Use reply.in_reply_to_tweet_id to post replies into existing conversations, and reply.exclude_reply_user_ids to selectively mute participants from the reply notification chain.
Choose between auto, starter, regular, and official channels to balance cost, stability, and speed based on your workload — from ultra-low-cost bulk posting to production-grade official-tier reliability.
Build Buffer/Hootsuite-style tools that let users connect their X accounts and schedule tweets, threads, and media posts across dozens of accounts simultaneously.
Pair with an LLM to automatically generate and publish tweets, news summaries, market updates, or AI-generated imagery on a schedule or in response to events.
Use the reply parameters to build support bots that respond to customer @-mentions or ticket-linked tweets from a brand's official handle.
Add X as an output channel in a broader CMS or newsroom workflow where a single "publish" action fans out to Twitter, alongside other social networks.
While Twitter's official POST /2/tweets endpoint requires a paid Developer Account, OAuth 2.0 app setup, and enforces strict tier-based rate limits, ApiPass offers the same tweet-publishing capability through a lightweight cookie-based authentication model with pay-as-you-go pricing — making it dramatically faster to integrate and more cost-effective to scale.
Twitter's official POST /2/tweets endpoint requires an approved Developer Account, OAuth 2.0 app setup, and a paid subscription tier ($200+/month) with strict monthly post caps. ApiPass requires only an auth_token cookie extracted from a logged-in browser session (F12 → Application → Cookies → auth_token) and a single Bearer API key — no app registration, no OAuth callback URLs, no tier gating.
Twitter's official API enforces tier-based monthly post limits (1,500/month on Basic, 300,000/month on Pro) with fixed subscription fees regardless of usage. ApiPass charges per successful task on a pay-as-you-go basis, and the channel parameter lets you trade cost for stability — the starter tier is dramatically cheaper for non-critical workloads, while official delivers pricing and reliability equivalent to the native API.
Publish breaking news, price alerts, weather warnings, or system-status updates from monitoring pipelines directly to a branded X account in real time.
Auto-post daily AI-generated images, summaries, quotes, or thread-form articles to grow a content-driven account without manual intervention.
Reply to mentions, quote tweets, and thread continuations at scale using the in_reply_to_tweet_id parameter to power giveaway bots, FAQ responders, or community-moderation accounts.
Agencies managing dozens of client accounts can post to any of them by swapping the AuthToken per request, all billed under one ApiPass key with unified logging.
Sign up at ApiPass and generate an API key from your dashboard. Then open twitter.com, log in to the account you want to post from, open DevTools (F12) → Application → Storage → Cookies, and copy the value of the auth_token cookie. This token authorizes ApiPass to post on behalf of that specific account.
Send a POST request to https://api.apipass.dev/api/v1/jobs/createTask with your ApiPass API key as a Bearer token in the Authorization header. In the JSON body, set model to twitter/graphql/create-tweet, provide your AuthToken inside the input object, and fill in the variables object with at minimum a tweet_text field. Optionally include media.media_entities for image or video attachments, reply.in_reply_to_tweet_id to post as a reply, and a callBackUrl if you want ApiPass to notify your server on completion. The response will return a taskId you can use to track the request.
Either supply a callBackUrl in the initial request to be notified when the tweet is published, or poll GET /api/v1/jobs/recordInfo?taskId={taskId} until state returns success. The resultJson field will contain the published tweet details. Possible task states include waiting, queuing, generating, success, and fail (with failCode and failMsg returned when applicable for debugging).
All APIs require authentication via Bearer Token.
Authorization: Bearer
Post a tweet.
The API accepts a JSON payload with the following structure:
1{
2 "model": "string",
3 "callBackUrl": "string (optional)",
4 "channel": "auto",
5 "input": {
6 "AuthToken": "string",
7 "variables": {
8 "tweet_text": "string",
9 "dark_request": "boolean",
10 "media": {
11 "media_entities": "[]",
12 "possibly_sensitive": "boolean",
13 },
14 "reply": {
15 "in_reply_to_tweet_id": "string",
16 "exclude_reply_user_ids": "[]",
17 },
18 "semantic_annotation_ids": "[]",
19 "includePromotedContent": "boolean",
20 }
21 }
22}modelRequiredstringThe model name to use for generation
"twitter/graphql/create-tweet"
callBackUrlOptionalstringCallback URL for task completion notifications. If omitted, no callback will be sent.
"https://your-domain.com/api/callback"
channelOptionalstringYou may specify the corresponding provider within APIPASS via the channel parameter; these providers handle the actual image and video generation tasks. APIPASS currently offers three provider options:
The default value for the channel parameter is auto. When enabled, APIPASS automatically allocates tasks across available providers based on real-time pricing and stability metrics to balance minimal cost and reliable performance. Retain the default auto value unless you have custom routing requirements.
Available options:
auto
The input object contains the following parameters:
input.variables.tweet_textRequiredstringhello
input.variables.dark_requestOptionalbooleanfalse
input.variables.media.media_entitiesOptionalarray[]
input.variables.media.possibly_sensitiveOptionalbooleanfalse
input.variables.semantic_annotation_idsOptionalarray[]
input.variables.includePromotedContentOptionalbooleanfalse
variables.reply.in_reply_to_tweet_idOptionalstring123
variables.reply.exclude_reply_user_idsOptionalstring[]
input.AuthTokenRequiredstringOpen the Twitter homepage, log in, then go to F12 > Application > Storage > Cookies > auth_token.

YOUR_X_AUTH_TOKEN
1curl -X POST "https://api.apipass.dev/api/v1/jobs/createTask" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: Bearer YOUR_API_KEY" \
4 -d '{
5 "model": "twitter/graphql/create-tweet",
6 "callBackUrl": "https://your-domain.com/api/callback",
7 "input": {
8 "AuthToken": "YOUR_X_AUTH_TOKEN",
9 "variables": {
10 "tweet_text": "hello",
11 "dark_request": false,
12 "reply": {
13 "in_reply_to_tweet_id": "123",
14 "exclude_reply_user_ids": []
15 },
16 "media": {
17 "media_entities": [
18 {
19 "media_id": "1869610428579606520",
20 "tagged_users": []
21 }
22 ],
23 "possibly_sensitive": false
24 },
25 "semantic_annotation_ids": [],
26 "includePromotedContent": false
27 }
28 }
29 }'1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "taskId": "task_12345678"
6 }
7}codeStatus code, 200 for success, others for failure
messageResponse message, error description when failed
data.taskIdTask ID for querying task status and results