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 |
|---|---|---|---|---|---|
tweet-detail 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
tweet-detail
ApiPass Price
$0.0005
0.1 credits per post
Competitor Prices
Complete guide to using twitter-api-graphql
Retrieve complete tweet details—including content, engagement metrics, replies, and conversation context—using a single tweet ID.

The Twitter Graphql Tweet Detail API on ApiPass is a powerful endpoint that allows developers to fetch comprehensive information about any public tweet on X (formerly Twitter) using its unique tweet ID. By calling the twitter/graphql/tweet-detail model through ApiPass's unified job system, you receive structured JSON data containing the tweet's text, author information, media attachments, engagement statistics (likes, retweets, replies, views), conversation threads, quoted tweets, community notes (Birdwatch), and rich article content. The API leverages Twitter's internal GraphQL schema, giving you access to far richer data fields than what's available through traditional REST endpoints, all while abstracting away authentication complexity, proxy management, and rate limit handling.
Skip the lengthy approval process for Twitter's official API tiers. Get started immediately with just an ApiPass API key.
Access Graphql-level fields including Birdwatch notes, voice tweets, community context, article rich content, and full conversation threads in a single request.
The default channel: auto setting automatically allocates tasks across providers based on real-time pricing and stability metrics, ensuring both cost-efficiency and reliability.
Choose between starter, regular, or official tiers to balance budget against performance based on your project's specific needs.
Submit a job, receive a task ID instantly, and either poll for results or have ApiPass push the completed data to your webhook URL.
Fine-tune your response payload using boolean flags like withCommunity, withBirdwatchNotes, withVoice, and withArticlePlainText to fetch only the data you need.
Retrieve not just the focal tweet but its full reply tree, quoted tweets, and parent thread, perfect for building conversation viewers or sentiment analyzers.
Extract embedded images, videos, voice notes, and long-form article content with dedicated toggles for rich content state and plain text extraction.
Pull contextual fact-checks and community-contributed notes attached to tweets, giving your application built-in credibility signals.
Power custom tweet preview widgets and embed cards for blogs, news sites, or chat applications.
Build tools that map out reply chains, identify key influencers in a discussion, and visualize engagement flow.
Create permanent, searchable archives of important tweets and their full reply context for journalism, research, or legal documentation.
Feed structured tweet data with engagement metrics into LLM fine-tuning workflows or sentiment classification models.
See how ApiPass stacks up against Twitter's official API in terms of access barriers, pricing, and data depth—and why developers are making the switch.
Twitter's official v2 API requires a paid developer subscription with strict monthly tweet caps and an application review process. ApiPass requires only an API key, charges per successful task, and offers a starter channel at an ultra-low-cost tier for budget-conscious projects.
The official GET /2/tweets/:id endpoint returns a flat object with selected expansions. ApiPass's GraphQL endpoint mirrors Twitter's own internal data structure, exposing nested fields like Birdwatch notes, community context, V2 timeline modules, and quick promote eligibility flags that are otherwise unavailable through the public REST API.
Track high-impact tweets mentioning your brand or industry, pulling full conversation threads to understand public sentiment in real time.
Investigative reporters can capture tweets with their complete reply context, community notes, and metadata for source verification and citation.
Marketing platforms can validate that sponsored tweets are live, measure their engagement growth over time, and confirm community-notes status.
Build platforms that turn viral Twitter threads into structured articles or learning materials by extracting the full conversation hierarchy.
Sign up at ApiPass, navigate to your dashboard, and generate a Bearer token for authentication. This single key grants you access to all ApiPass endpoints without requiring a separate Twitter Developer account.
Send a POST request to /api/v1/jobs/createTask with model set to twitter/graphql/tweet-detail and the target focalTweetId inside the input.variables object. You can further customize the response by enabling toggles such as withCommunity, withBirdwatchNotes, or withVoice, and optionally provide a callBackUrl to receive results via webhook. The API will immediately return a taskId for tracking.
Use the returned taskId to query /api/v1/jobs/recordInfo. Poll the endpoint or wait for your callback to fire—once the state field returns success, parse resultJson.resultObject to access the full tweet detail payload, including content, engagement metrics, replies, and conversation context.
All APIs require authentication via Bearer Token.
Authorization: Bearer
Get tweet details
The API accepts a JSON payload with the following structure:
1{
2 "model": "string",
3 "callBackUrl": "string (optional)",
4 "channel": "auto",
5 "input": {
6 "variables": {
7 "focalTweetId": "string",
8 "referrer": "string",
9 "controller_data": "string",
10 "with_rux_injections": "boolean",
11 "includePromotedContent": "boolean",
12 "withCommunity": "boolean",
13 "withQuickPromoteEligibilityTweetFields": "boolean",
14 "withBirdwatchNotes": "boolean",
15 "withVoice": "boolean",
16 "withV2Timeline": "boolean",
17 },
18 "fieldToggles": {
19 "withArticleRichContentState": "boolean",
20 "withArticlePlainText": "boolean",
21 },
22 }
23}modelRequiredstringThe model name to use for generation
"twitter/graphql/tweet-detail"
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.focalTweetIdRequiredstring1694634492403843248
input.variables.referrerOptionalstringprofile
input.variables.controller_dataOptionalstringDAACDAABDAABCgABAAAAAAAAAAAKAAkAAAABFPY0+AAAAAA=
input.variables.with_rux_injectionsOptionalbooleanfalse
input.variables.includePromotedContentOptionalbooleanfalse
input.variables.withCommunityOptionalbooleantrue
input.variables.withQuickPromoteEligibilityTweetFieldsOptionalbooleantrue
input.variables.withBirdwatchNotesOptionalbooleantrue
input.variables.withVoiceOptionalbooleantrue
input.withV2Timeline.withVoiceOptionalbooleantrue
input.fieldToggles.withArticleRichContentStateOptionalbooleantrue
input.fieldToggles.withArticlePlainTextOptionalbooleantrue
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/user-by-screen-name",
6 "callBackUrl": "https://your-domain.com/api/callback",
7 "input": {
8 "variables": {
9 "focalTweetId": "1694634492403843248",
10 "referrer": "profile",
11 "controller_data": "DAACDAABDAABCgABAAAAAAAAAAAKAAkAAAABFPY0+AAAAAA=",
12 "with_rux_injections": false,
13 "includePromotedContent": false,
14 "withCommunity": true,
15 "withQuickPromoteEligibilityTweetFields": true,
16 "withBirdwatchNotes": true,
17 "withVoice": true,
18 "withV2Timeline": true,
19 },
20 "fieldToggles": {
21 "withArticleRichContentState": true,
22 "withArticlePlainText": true,
23 }
24 }
25 }'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