Communities
X community moderators API & admin profiles
Retrieve X community moderators with usernames, bios, verification state, profile media, and follower and following counts. Includes costs and errors.
- 200
- 400
- 401
- 402
- 404
- 424
- 429
- 502
GET
X community moderators API & admin profiles
Export moderator profiles for one X community. Store stable user IDs for
access reviews. Analyze visible profiles or monitor the moderator roster.
Use
The community ID is empty or invalid.
Missing or invalid API key.
The community could not be resolved. Check the community ID.
The read service returned an error. Retry after a short delay.
Your tier rate limit was exceeded. Wait for the
Send
X community moderator API questions
What does an X community moderator do?
X’s moderator playbook separates creators, admins, moderators, and members. The creator is also the first admin. Admins can change settings and manage moderator roles. Moderators review reported Community posts, manage members, and enforce Community rules. This route only reads profiles exposed by the visible moderator roster. It cannot assign roles, remove members, return reports, or expose private actions. Read X’s official Communities Moderator Playbook for current role responsibilities. StorecommunityRole only when the response supplies it. Never infer admin
status from verification, follower counts, biographies, or profile images.
How do I find X community moderators?
Open the Community page when one manual lookup is enough. X says direct Community URLs expose visible member and moderator lists. X documents that public interface in its official Communities guide. Use this API for repeatable collection, pagination, exports, and snapshot review. Start with the numeric Community ID. Store that ID with every moderator ID. A username can change and cannot identify the source Community. Request another page only whenhas_next_page is exactly true. Pass the
returned cursor string back without editing it. Mark the roster complete only
after has_next_page is false.
Which tools support X community moderation?
Choose each endpoint by the record it returns:- Retrieve visible moderator profiles with this route.
- Retrieve rules and counts with Community Info.
- Retrieve recent posts with Community Tweets.
- Search Community posts with Community Search.
- Review reports or change roles in X’s own moderator interface.
Can AI automate community moderation?
Do not automate enforcement from a moderator profile snapshot. Verification, follower counts, biographies, and avatars do not prove behavior or permissions. Use automation to normalize rows, compare complete snapshots, and queue human review. An AI model may summarize an approved public change set. Keep private review notes outside the exported profile record. Require a human decision before any account action.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 result returned · All plans from $0.00012/credit
GET /x/communities/{id}/moderators for moderator audits, governance
review, trust and safety queues, or CRM enrichment. It creates one row per
community moderator. Store community_id, moderator_id, username,
display_name, bio, follower_count, verified, profile_image_url, and
next_cursor. Store page_size and has_next_page with the checkpoint when
you paginate moderator audits or saved review queues.
Direct moderator handoff
Use the first page with nocursor. Request the next page only when
has_next_page is exactly true. Pass next_cursor back as cursor without
modification. Requested result counts are upper bounds. Use page_size to
record the returned moderator count for each page.
Moderator rows
Store one row per moderator with community ID, user ID, username, profile
fields, verification, and follower count.
Next page
Persist each page and its pagination fields before requesting another page.
Default page
Expect up to the default page size per call, reduced when the caller cannot
cover every paid result.
Saved export
Use
community_moderator_explorer when the workflow needs an extraction
job or CSV, JSON, or XLSX output.Build a complete moderator roster
Treat each response page as a durable checkpoint. Save every profile row before storing its cursor. Resume with the exact saved cursor after an interruption. Create a localexport_manifest_id for each collection run. Store it with
community_id, moderator_id, page number, cursor, and collection time. This
key prevents one roster from mixing with another collection run.
Label credit-bounded, failed, and interrupted runs as incomplete moderator
exports. Do not compare a partial roster with a completed baseline. A partial
comparison can falsely report removed moderators.
Deduplicate resumed pages with community_id and moderator_id. Keep the
latest username as a label. Use numeric user IDs to join collection runs.
Store these completion fields with the export manifest:
- Requested Community ID.
- Returned page count and profile count.
- First and final cursor values.
- Final
has_next_pagevalue. - Collection start and completion times.
- Complete, partial, or failed status.
Audit a community moderation team
Use this route when the role matters more than general membership. Every returned profile represents a moderator visible for the selected community. Keep the community ID and collection time with each profile. Review moderator rows for:- User ID, username, and profile name.
- Verification state and public biography.
- Follower counts and profile image.
- Cursor position and collection time.
community_id and your local export_manifest_id must match. Then join
the moderator roster with Community Info.
Keep rules, member counts, and moderator profiles in separate tables. This
preserves each endpoint’s public response contract.
Store communityRole only when the response provides it. Never expand it into
a broader permission. An omitted role cannot prove admin, creator, or member
permissions.
Review moderator coverage
Compare complete moderator snapshots by Community ID and user ID. Record added and removed IDs without guessing the reason. Use this review sequence:- Confirm both exports ended with
has_next_pageset tofalse. - Confirm both exports use the same numeric Community ID.
- Compare stable moderator IDs, not usernames or display names.
- Ask a reviewer to inspect added and missing IDs.
- Store the decision outside the public profile snapshot.
Path parameters
string
required
Community ID (numeric string).
Query parameters
string
Pagination cursor from a previous response. Omit for the first page.
Which community endpoint?
Community moderators
Use
GET /x/communities/{id}/moderators for governance audits, moderator
review queues, and profile enrichment.Community members
Use
GET /x/communities/{id}/members
for the broader member list.Community info
Use
GET /x/communities/{id}/info for
member count, moderator count, rules, and join policy.Community tweets
Use
GET /x/communities/{id}/tweets
for posts inside one community.Community search
Use
GET /x/communities/tweets
for keyword search across community tweets.Saved exports
Use
Create extraction with
community_moderator_explorer, community_extractor, or
community_post_extractor for queued file exports.User result filters
These filters apply before billing. Selective filters can return fewer rows.integer
Require this minimum follower count. Filtering happens before billing.
integer
Allow this maximum follower count. Missing counts pass this filter.
integer
Require this minimum following count.
integer
Allow this maximum following count. Missing counts pass this filter.
integer
Require this minimum post count.
integer
Allow this maximum post count. Missing counts pass this filter.
integer
Require this minimum account age in days.
boolean
When
true, only return verified profiles.string
Match the exact verification type.
boolean
When
true, require a profile website.boolean
When
true, require a profile location.string
Require every comma-separated or line-separated bio term.
string
Require this text in the profile location.
string
Require this text in the username.
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 moderators.
User object fields.
string
User ID.
string
X username.
string
Display name.
string
Profile bio.
number
Reports the profile’s follower count.
number
Following count.
boolean
Verified status.
string
Profile image URL.
string
Profile location.
string
Account creation date (ISO 8601).
number
Total number of tweets posted. Omitted if unavailable.
string
Cover/banner image URL. Omitted if unavailable.
number
Total number of media tweets posted. Omitted if unavailable.
string
Website URL from profile. Omitted if empty.
number
Total number of tweets liked. Omitted if unavailable.
boolean
Whether the user has custom timelines. Omitted if unavailable.
boolean
Whether the user is an X translator. Omitted if unavailable.
string[]
Country codes where the account is withheld. Omitted if empty.
boolean
Whether the account is flagged as possibly sensitive. Omitted if unavailable.
string[]
Lists pinned Tweet IDs. Omitted if none.
boolean
Whether the account is marked as automated. Omitted if unavailable.
string
Username of the account operator if automated. Omitted if not automated.
Whether the account is unavailable. Omitted if available.
Reason the account is unavailable. Omitted if available.
string
Verification type (e.g.
Business, Government). Omitted if not verified or standard blue check.object
Structured profile bio with entity annotations. Omitted if unavailable.
boolean
Whether the account has X Premium verification. Omitted if unavailable.
boolean
Normalized verification status. Omitted if unavailable.
string
Profile banner URL. Omitted if unavailable.
boolean
Whether the account protects its posts. Omitted if unavailable.
string
Role within the requested community context. Omitted outside community results.
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
xquik-api-contract: 2026-04-29 to opt in to HTTP 424. Default v1 returns
HTTP 502 with x_api_unavailable.
Next steps. Community Members for the full member list, or Community Info for community details.
- 200
- 400
- 401
- 402
- 404
- 424
- 429
- 502
X community moderators API & admin profiles