TwitterAPIs Docs
API ReferenceCommunities

X Community About API | Moderators and Members With Full Profiles

The About tab for one community: its moderators, and a preview of its members, both returned as FULL user profiles with bio, follower and following counts, tweet counts, location, website, banner and join date. Community Members and Community Moderators return a reduced row instead, so this is the endpoint that answers who runs a community in one call rather than one call plus a profile lookup per person. It is not paginated, because the upstream operation is not. Billed at $0.0008 per call. Cost: $0.0008 per call.

GET community/about returns an X Community's moderators plus a preview of its members, each as a FULL user profile: bio, follower and following counts, tweet counts, location, website, banner and account creation date. That is the difference from Community Members and Community Moderators, which return a reduced row carrying only id, handle, name, avatar and three booleans. This endpoint does NOT return community metadata: for name, description, rules, member count, topic or join policy, call Community Info. It is not paginated. members_truncated and moderators_truncated tell you when X only sent a preview, which is the signal to page the full roster endpoints. $0.0008 per call.

GET
/community/about

Authorization

bearerAuth
AuthorizationBearer <token>

Pass your API key as a bearer token on every request: Authorization: Bearer <API_KEY>.

In: header

Query Parameters

community_id*string

The numeric X community id, the digits in x.com/i/communities/.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/community/about?community_id=1493446837214187523"
{  "moderators": [    {      "id": "88403351",      "username": "iuditg",      "name": "Udit Goenka",      "description": "Building in public.",      "followers_count": 60868,      "following_count": 372,      "tweet_count": 46535,      "location": "India",      "url": "https://example.com",      "created_at": "Sun Nov 08 11:49:55 +0000 2009",      "profile_image_url": "https://pbs.twimg.com/profile_images/.../photo_normal.jpg",      "is_blue_verified": true    }  ],  "members": [    {      "id": "2535083002",      "username": "sachikantaraul",      "name": "Sachikanta Raul",      "description": "Indie hacker.",      "followers_count": 41,      "following_count": 300,      "tweet_count": 1204,      "location": "India",      "url": null,      "created_at": "Thu May 08 13:15:44 +0000 2014",      "profile_image_url": "https://pbs.twimg.com/profile_images/.../photo_normal.jpg",      "is_blue_verified": true    }  ],  "moderators_truncated": false,  "members_truncated": true,  "other_sections": []}
{  "error": "bad_request",  "message": "Missing or malformed parameter. Fix the request before retrying."}
{  "error": "unauthorized",  "message": "The API key is missing, malformed, or revoked. Check the Authorization header."}
{  "error": "insufficient_credits",  "message": "Your balance is exhausted. Top up your credits to continue."}
{  "error": "not_found",  "message": "The resource does not exist, for example a deleted tweet or a private account."}
{  "error": "rate_limited",  "message": "Too many requests. Back off and retry with exponential backoff."}
{  "error": "server_error",  "message": "Something failed on our side. Retry with backoff; if it persists, contact support."}

Pricing

UnitPrice
Per call$0.0008
Per 1,000 calls$0.80

When to use

Use it when you need to judge the people, not count them: vetting who moderates a community before pitching it, or sizing up the audience from real profiles rather than handles. Switch to Community Members when you need the whole roster.

Notes

  • THIS ENDPOINT DOES NOT RETURN COMMUNITY METADATA, despite its name. It carries no name, description, rules, member count, topic or join policy, because the X operation behind it carries none of them. Call Community Info for those.
  • The profiles here are FULL, which is the reason this endpoint exists alongside Community Members and Community Moderators. Those two are served by a different X operation whose rows have no bio, no follower or following counts, no location, no website and no created_at. Use this one when you need to evaluate people, and those two when you need to enumerate them.
  • IT IS NOT PAGINATED, and there is no cursor to pass. X sends a fixed preview. members_truncated and moderators_truncated are the signal to switch to the paginated roster endpoints.
  • A community id that does not resolve returns 404, not an empty 200. If X returns a shape this API does not recognise you get a 502 parse_failed instead, and that call is not billed to you.
  • Fields describing a viewer's own relationship to these accounts are never returned, for the same pooled-read reason the community objects null role and can_join: the account making the upstream call is one of ours and rotates per request.

FAQ

Why does this not return the community's name or rules?

Because the X operation behind the About tab does not send them. Its payload is the moderator and member modules and nothing else. Community Info is the endpoint that returns name, description, rules, counts, topic and policies.

How is this different from Community Moderators?

The profiles. Community Moderators is paginated and returns a reduced row: id, handle, name, avatar and three booleans. This returns the full profile, including bio, follower and following counts, tweet counts, location, website and join date, in one call. Use Community Moderators when you need to walk a long list, and this when you need to evaluate the people on it.

Can I page through all the members here?

No. There is no cursor, and X sends a capped preview. members_truncated tells you when there are more; Community Members is the paginated endpoint for the full roster.

What is other_sections for?

Anything X puts on the About tab that this API does not yet model. It is empty for every community we have seen. It exists so that if X adds a section, you receive it instead of it being quietly discarded by a parser that only knows two shapes.