Communities
Twitter community posts API & X timeline export
Export X community tweets with authors, text, replies, reposts, likes, quotes, and media. Traverse cursor pages or save CSV, JSON, and XLSX exports for reviews.
- 200
- 400
- 401
- 402
- 404
- 424
- 429
- 502
GET
Twitter community posts API & X timeline export
string
Only include posts with this language code.
string
Use
images, videos, gifs, media, links, or none.integer
Require this minimum like count.
integer
Require this minimum reply count.
integer
Require this minimum repost count.
integer
Require this minimum view count.
string
Include posts created on or after this date or timestamp.
string
Include posts before this date or timestamp.
boolean
When
true, only return posts from verified authors.Archive the unfiltered community feed
This endpoint accepts a community ID without a keyword. It preserves the returned feed order for timeline archives, content review, and moderation.
Choose Community Search for keyword filters,
Latest, or Top ranking.
X community tweet export questions
Export community tweets
CallGET /api/v1/x/communities/{id}/tweets for the recent community feed.
Keep the Community ID, Tweet ID, text, author, creation time, and media. Store
each returned engagement count and cursor checkpoint.
Choose Community Search when the workflow requires a keyword. Feed retrieval
returns recent posts. Search returns posts that match a query.
Save each page and cursor before requesting another page.
Deduplicate by stable Tweet ID when new posts enter the feed. Record Community
ID, Tweet ID, author ID, text, and creation time. Store each engagement count
with media and collection timestamps.
Label interrupted, result-capped, or credit-bounded collections as partial.
Are Twitter community posts public or private?
X says Community posts can appear on the Community page, profiles, global search, and other timelines. Read the official Communities guide for current visibility and participation rules. A restricted membership policy does not make every visible Community post private. This endpoint returns posts available to the read service for the requested Community. A missing Tweet does not prove deletion, privacy, or moderation. Store the collection time and observed cursor window with every export.Where can I find analytics for X community posts?
Use the returned reply, repost, like, quote, view, and bookmark counts when available. Keep each count beside its Tweet ID and collection time. Compare complete snapshots to measure changes without rewriting the original values. Calculate concrete measures from the captured rows:- Unique Tweet IDs and authors.
- Earliest and latest creation times.
- Replies, reposts, likes, quotes, views, and bookmarks.
- Tweets with photos, videos, or animated GIFs.
- Repeated Tweet IDs removed after retries.
Do I need to join a community to export community tweets?
This read route never changes membership. It exports Community posts visible to the connected read context. An export never proves membership. Use X’s Communities tab to join a Community or join Communities.What rules apply to members posting in communities?
Each Community sets its posting rules for members. X controls posting access, membership, visibility, and moderation. Community moderators manage roles through X. Xquik reads visible community content without changing those settings.Can this API schedule or moderate community posts?
No. This route reads a Community feed. It cannot publish, schedule, hide, report, or remove posts. Use X’s own Community tools for role changes and moderation actions. Use the captured community content to prepare a review queue. Require a human decision before any moderation action. Keep private review notes outside Tweet text, author profiles, and exported engagement fields.What does the Twitter community API return?
The member route returns community profiles. The tweet route returns community posts and author fields. The info route returns community details. Moderator and search routes serve their own focused records. Choose one route per task. Do not combine profile membership and tweet activity into an ambiguous row. Join them later with stable user and community IDs.How do I build a complete community tweet export?
Save every page and cursor before requesting another page. Deduplicate Tweet IDs when new posts change the live feed. Record the first and last observed Tweet timestamps. Use a saved Community extraction for CSV, JSON, or XLSX exports. Keep direct API pages for live ingestion. Mark interrupted or credit-bounded runs as partial.Requested result counts are upper bounds for paid authenticated calls. When remaining credits cannot cover the full page or ID list, Xquik returns fewer results. If zero paid results are affordable, it returns
402 insufficient_credits.1 credit per tweet returned · All plans from $0.00012/credit
Direct community tweet handoff
UseGET /x/communities/{id}/tweets for community monitoring, content review,
post exports, or moderation queues. It creates one row per community tweet.
Store each Tweet ID in its own record. Preserve the Community ID, author, text,
creation time, engagement counts, media, and cursor checkpoint.
Community tweet rows
Store one row per post in the community. Keep author fields and engagement
counts with the tweet row for review queues and exports.
Next page
Keep
has_next_page beside next_cursor for each page. Continue only when
has_next_page is true and next_cursor is present.Default page
Request 1 to 100 tweets with
pageSize. The default is 20. Treat the value
as an upper bound because the source or available credits can return fewer.Saved export
Use
community_post_extractor when the workflow needs a saved job with
CSV/JSON/XLSX output.Audit a cursor-based community feed
Start each feed run with one numeric community ID. Record the request time and requestedpageSize. Do not add a keyword to this route. Use community search
when the workflow needs text matching.
Save every response before advancing its cursor. Record has_next_page beside
next_cursor for each response. Continue only when has_next_page is true and
next_cursor is present. Reuse next_cursor without modification.
Count returned rows and unique Tweet IDs after each page. A busy community can
receive new posts during pagination. Deduplicate repeated Tweet IDs without
discarding richer author, engagement, or media fields.
Keep the first and last tweet timestamps for every run. They describe the
observed feed window. They do not prove a complete historical archive. Label
result caps, credit limits, and interrupted cursors explicitly.
Store a completion record after the final page. Include community ID, page
count, unique Tweet count, first timestamp, and last timestamp. Add collection
time and the interrupted cursor when applicable. Store a final
has_next_page value of false for a completed cursor chain.
Preserve community tweet authors and media
Store each stable Tweet ID in its own record. Keep author ID, username, profile name, and verification when returned. Separate Tweet content from author attributes. Keep replies, reposts, likes, and quotes as measured engagement fields. Store their ISO 8601 collection time. Counts can change after publication. Store each media URL with its owning Tweet ID. Keep media type when available. Do not infer missing images or videos from tweet text. Do not move media URLs into an author profile column. Use JSON when an application needs nested authors or media. Use CSV when analysts need one normalized row. Use XLSX for reviewed spreadsheet handoffs. Document any column flattening beside the exported file. Join later profile snapshots through stable author ID. Usernames and profile names are mutable attributes. Store Tweet creation times separately from later profile checks.Compare community timeline snapshots
Create a new snapshot ID for every completed feed run. Keep the same community ID across snapshots. Compare stable Tweet IDs before engagement counts. Report newly observed tweets separately from changed tweet fields. A missing Tweet ID may reflect the observed window. It does not prove deletion from X. Compare authors through stable user IDs. Report username or profile changes as attributes. Do not treat them as new authors. Mark every incomplete run before comparison. Exclude partial snapshots from claims about feed growth or activity. Preserve their rows for troubleshooting and cursor recovery. Keep the request time, page count, row count, and completion state. These fields let another reviewer repeat the comparison without guessing its scope.Path parameters
string
required
Community ID (numeric string).
Query parameters
string
Pagination cursor from a previous response. Omit for the first page.
number
Upper bound for tweets per page. Range: 1-100. Default:
20.Which community endpoint?
Community tweets
Use
GET /x/communities/{id}/tweets for posts from one known community.Community tweet search
Use
GET /x/communities/tweets
with communityId and q to search within one community.Community members
Use
GET /x/communities/{id}/members
for account rows from the same community.Bulk community jobs
Use
Create extraction with
community_post_extractor, community_extractor, or
community_moderator_explorer when the workflow needs a saved export.Headers
string
Full account key. Sessions and OAuth also work.
string
Bearer xq_your_guest_key_here for paid_reads.Response
200 OK
object[]
Array of community tweets.
Tweet object fields.
string
Tweet ID.
string
Contains the complete Tweet text.
string
Classifies the Tweet when X returns a type.
string
ISO 8601 creation timestamp.
boolean
Whether this is a Note Tweet. Omitted if unavailable.
number
Reports the number of likes when available.
number
Reports the number of reposts when available.
number
Reports the number of replies when available.
number
Reports the number of quotes when available.
number
Reports the number of views when available.
number
Reports the number of bookmarks when available.
string
Permalink URL on X. Omitted if unavailable.
string
Reports the Tweet language code when available.
boolean
Whether the tweet is a reply. Omitted if unavailable.
string
Tweet ID being replied to. Omitted if not a reply.
string
Identifies the replied-to user when available.
string
Reports the replied-to username when available.
string
Conversation thread ID. Omitted if unavailable.
string
Client used to post the tweet. Omitted if unavailable.
number[]
Start and end offsets for rendered tweet text. Omitted if unavailable.
boolean
Whether replies are limited. Omitted if unavailable.
boolean
Whether this tweet quotes another tweet. Omitted if unavailable.
object
Parsed entities. Omitted if unavailable.
object
Returns paid-promotion and AI-generated-media labels when available. Includes
advertising.isPaidPromotion and aiGenerated.hasAiGeneratedMedia.object
Tweet author profile. Omitted if unavailable.
Author object fields.
string
Author user ID.
string
Author X username.
string
Author display name.
number
Reports the author’s follower count when available.
boolean
Whether the author is verified. Omitted if unavailable.
string
Profile picture URL. Omitted if unavailable.
object[]
object
Embedded quoted tweet. Omitted if not a quote tweet.
object
Original retweeted tweet. Omitted if not a retweet.
boolean
Whether more results are available.
string
Cursor for the next page. Pass as the
cursor query parameter.400 Invalid community ID
401 Unauthenticated
Anonymous requests getWWW-Authenticate: Bearer and a guest wallet checkout action. This is not a Payment challenge.
402 Payment required
Account keys get account options; guest keys get guest top-up only. No checkout starts automatically. Confirm any payment action.404 Community not found
502 X API unavailable
429 Rate limit exceeded
Retry-After header before retrying.
424 Dependency failed
Next steps. Community Info for community details, or Community Members to list members.
- 200
- 400
- 401
- 402
- 404
- 424
- 429
- 502
Twitter community posts API & X timeline export