X Community Activity & Member Finder
Collect public X Community posts, about info, rules and members with no login required. Get the community profile, member count, ranked posts with engagement metrics, authors and media.
Input schema
Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.
| Field | Type | Required | Description |
|---|---|---|---|
communityUrls | array | required | Paste the links of the X communities you want to collect. Community links look like https://x.com/i/communities/1493446837214187523. You can also paste the numeric community ID on its own. |
postSource | string | optional | Which public post feed to collect. All merges the popular and media feeds; Top keeps X's ranked posts; Media keeps posts with photos or videos. |
sort | string | optional | How to order the collected posts. Top keeps X's popular order; Latest and Most liked/Viewed re-sort the collected rows. |
Show all input fields
| Field | Type | Required | Description |
|---|---|---|---|
communityUrls | array | required | Paste the links of the X communities you want to collect. Community links look like https://x.com/i/communities/1493446837214187523. You can also paste the numeric community ID on its own. |
postSource | string | optional | Which public post feed to collect. All merges the popular and media feeds; Top keeps X's ranked posts; Media keeps posts with photos or videos. |
sort | string | optional | How to order the collected posts. Top keeps X's popular order; Latest and Most liked/Viewed re-sort the collected rows. |
maxPosts | integer | optional | Upper bound on posts per community. X exposes roughly 1-66 unique public posts per community (typically 20-66), so a larger number is not a guarantee. |
includeAbout | boolean | optional | Add a community row with the name, description, member count, creation date, banner, topic, join policy and rules. |
includeMembers | boolean | optional | Add one row per publicly visible member: the creator, the full exposed moderator list and the community facepile, expanded with public profile details. |
includeActiveMembers | boolean | optional | Add the authors of the collected posts as member rows with role active. This is the cookieless substitute for a full member directory, which requires login on X. |
maxMembers | integer | optional | Cap on member rows per community when either member option is on. The creator and moderators are kept first. |
dateFrom | string | optional | Only keep posts created on or after this date. |
dateTo | string | optional | Only keep posts created on or before this date. |
minimumLikes | integer | optional | Only keep posts with at least this many likes. |
minimumViews | integer | optional | Only keep posts with at least this many views. |
minimumReplies | integer | optional | Only keep posts with at least this many replies. |
minimumRetweets | integer | optional | Only keep posts with at least this many retweets. |
language | string | optional | Only keep posts written in this language. |
authorVerifiedOnly | boolean | optional | Keep only posts whose author is verified or blue-verified. |
proxyConfiguration | object | optional | Optional. The actor works without a proxy; use one only for large or repeated runs. |
Download the published input schema
View complete JSON
{
"description": "Collect public X Community info, rules, moderators, active members and top/media posts with no login or cookies.",
"properties": {
"authorVerifiedOnly": {
"default": false,
"description": "Keep only posts whose author is verified or blue-verified.",
"prefill": false,
"title": "Verified authors only",
"type": "boolean"
},
"communityUrls": {
"description": "Paste the links of the X communities you want to collect. Community links look like https://x.com/i/communities/1493446837214187523. You can also paste the numeric community ID on its own.",
"editor": "stringList",
"example": [
"https://x.com/i/communities/1493446837214187523",
"1493446837214187523"
],
"maxItems": 100,
"minItems": 1,
"prefill": [
"https://x.com/i/communities/1493446837214187523"
],
"title": "Community links or IDs",
"type": "array"
},
"dateFrom": {
"description": "Only keep posts created on or after this date.",
"editor": "datepicker",
"sectionCaption": "Filters",
"sectionDescription": "Optional. Leave everything empty to collect all available posts.",
"title": "Posts from (optional)",
"type": "string"
},
"dateTo": {
"description": "Only keep posts created on or before this date.",
"editor": "datepicker",
"title": "Posts until (optional)",
"type": "string"
},
"includeAbout": {
"default": true,
"description": "Add a community row with the name, description, member count, creation date, banner, topic, join policy and rules.",
"prefill": true,
"title": "Include community info",
"type": "boolean"
},
"includeActiveMembers": {
"default": false,
"description": "Add the authors of the collected posts as member rows with role active. This is the cookieless substitute for a full member directory, which requires login on X.",
"prefill": false,
"title": "Include active members",
"type": "boolean"
},
"includeMembers": {
"default": false,
"description": "Add one row per publicly visible member: the creator, the full exposed moderator list and the community facepile, expanded with public profile details.",
"prefill": false,
"title": "Include creator, moderators and facepile",
"type": "boolean"
},
"language": {
"default": "any",
"description": "Only keep posts written in this language.",
"editor": "select",
"enum": [
"any",
"en",
"es",
"pt",
"fr",
"de",
"it",
"nl",
"tr",
"ar",
"fa",
"ur",
"hi",
"bn",
"id",
"ms",
"ja",
"ko",
"zh",
"ru",
"uk",
"pl",
"sv",
"no",
"da",
"fi",
"cs",
"ro",
"el",
"he",
"th",
"vi",
"ta",
"te",
"mr",
"gu",
"pa",
"sw",
"am",
"ha",
"ne"
],
"enumTitles": [
"Any language",
"English",
"Spanish",
"Portuguese",
"French",
"German",
"Italian",
"Dutch",
"Turkish",
"Arabic",
"Persian",
"Urdu",
"Hindi",
"Bengali",
"Indonesian",
"Malay",
"Japanese",
"Korean",
"Chinese",
"Russian",
"Ukrainian",
"Polish",
"Swedish",
"Norwegian",
"Danish",
"Finnish",
"Czech",
"Romanian",
"Greek",
"Hebrew",
"Thai",
"Vietnamese",
"Tamil",
"Telugu",
"Marathi",
"Gujarati",
"Punjabi",
"Swahili",
"Amharic",
"Hausa",
"Nepali"
],
"prefill": "any",
"title": "Post language",
"type": "string"
},
"maxMembers": {
"default": 50,
"description": "Cap on member rows per community when either member option is on. The creator and moderators are kept first.",
"maximum": 200,
"minimum": 1,
"prefill": 10,
"title": "Maximum members per community",
"type": "integer"
},
"maxPosts": {
"default": 50,
"description": "Upper bound on posts per community. X exposes roughly 1-66 unique public posts per community (typically 20-66), so a larger number is not a guarantee.",
"maximum": 1000,
"minimum": 1,
"prefill": 3,
"title": "Maximum posts per community",
"type": "integer"
},
"minimumLikes": {
"description": "Only keep posts with at least this many likes.",
"maximum": 1000000000,
"minimum": 0,
"title": "Minimum likes (optional)",
"type": "integer"
},
"minimumReplies": {
"description": "Only keep posts with at least this many replies.",
"maximum": 1000000000,
"minimum": 0,
"title": "Minimum replies (optional)",
"type": "integer"
},
"minimumRetweets": {
"description": "Only keep posts with at least this many retweets.",
"maximum": 1000000000,
"minimum": 0,
"title": "Minimum retweets (optional)",
"type": "integer"
},
"minimumViews": {
"description": "Only keep posts with at least this many views.",
"maximum": 1000000000,
"minimum": 0,
"title": "Minimum views (optional)",
"type": "integer"
},
"postSource": {
"default": "all",
"description": "Which public post feed to collect. All merges the popular and media feeds; Top keeps X's ranked posts; Media keeps posts with photos or videos.",
"editor": "select",
"enum": [
"all",
"top",
"media"
],
"enumTitles": [
"All posts (top + media)",
"Top posts only",
"Media posts only"
],
"prefill": "all",
"title": "Post source",
"type": "string"
},
"proxyConfiguration": {
"description": "Optional. The actor works without a proxy; use one only for large or repeated runs.",
"editor": "proxy",
"sectionCaption": "Advanced",
"sectionDescription": "Optional settings for large or repeated runs.",
"title": "Proxy configuration",
"type": "object"
},
"sort": {
"default": "top",
"description": "How to order the collected posts. Top keeps X's popular order; Latest and Most liked/Viewed re-sort the collected rows.",
"editor": "select",
"enum": [
"top",
"latest",
"mostLiked",
"mostViewed"
],
"enumTitles": [
"Top (X's popular order)",
"Latest (newest first)",
"Most liked",
"Most viewed"
],
"prefill": "top",
"title": "Post order",
"type": "string"
}
},
"required": [
"communityUrls"
],
"schemaVersion": 1,
"title": "X Community Activity & Member Finder",
"type": "object"
}
Output schema
Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.
| Field | Type | Required | Description |
|---|---|---|---|
records | string | optional | All collected rows: one community row, one row per post, optional member rows, and status rows for problems. |
Download the published output schema
View complete JSON
{
"actorOutputSchemaVersion": 1,
"description": "Community profile, rules, top/media posts with engagement metrics, and optional creator, moderator, facepile and active-member rows from a public X Community.",
"properties": {
"records": {
"description": "All collected rows: one community row, one row per post, optional member rows, and status rows for problems.",
"template": "{{links.apiDefaultDatasetUrl}}/items",
"title": "Community, posts, members and status rows",
"type": "string"
}
},
"title": "X Community Activity & Member Finder Output",
"type": "object"
}
Dataset schema
Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.
Download the published dataset schema
View complete JSON
{
"actorSpecification": 1,
"views": {
"community": {
"display": {
"component": "table",
"properties": {}
},
"title": "Community info",
"transformation": {
"fields": [
"name",
"memberCount",
"moderatorCount",
"topic",
"createdAt",
"description",
"url"
]
}
},
"members": {
"display": {
"component": "table",
"properties": {}
},
"title": "Members",
"transformation": {
"fields": [
"role",
"username",
"name",
"followers",
"accountCreatedAt",
"communityName",
"profileUrl"
]
}
},
"overview": {
"display": {
"component": "table",
"properties": {}
},
"title": "All records",
"transformation": {
"fields": [
"type",
"communityName",
"name",
"text",
"author.username",
"createdAt",
"likeCount",
"memberCount",
"feed",
"url"
]
}
},
"posts": {
"display": {
"component": "table",
"properties": {}
},
"title": "Posts",
"transformation": {
"fields": [
"text",
"author.username",
"createdAt",
"likeCount",
"retweetCount",
"replyCount",
"viewCount",
"feed",
"url"
]
}
}
}
}
Key-value schema
Published key-value store definitions, when provided by this build.
This definition is not present in the default published build. See the published README for available documentation.
Published README
Read the full published documentation
X Community Activity & Member Finder
Collect a public X Community's profile, rules, topic, creator, moderators, facepile and active post authors, together with its top and media posts. No login, cookies, API key or browser is needed: every request reads the same public pages and guest endpoints a logged-out visitor gets.
What you get
- Community profile: name, description, member count, creation date, banner, topic, join policy, NSFW flag and question when present
- Rules: rule names plus
rulesDetailedwith each rule's description - Creator and moderators: the creator and the full moderator list X exposes on the public About tab, expanded with public profile details
- Facepile: the publicly featured member previews and their image URLs
- Active members: authors of the collected posts, added as member rows with role
active— the cookieless substitute for a full member directory - Top and media posts: merge X's ranked community feed, the media grid and the guest community timelines, de-duplicated by post ID
- Full post detail: text, timestamps, language, engagement counts, author snapshot, media, hashtags, mentions, links, quoted posts, polls and cards
- Filters and sorts:
postSourceall/top/media, sort top/latest/most liked/most viewed, date range, minimum likes/views/replies/retweets, language and verified authors - Honest output: every row has a
type(community,post,memberorstatus); problems produce astatusrow instead of failing the run, and empty fields are omitted — the dataset never containsnull,"",[]or{}
Input
| Field | Type | Default | Description |
|---|---|---|---|
communityUrls |
array | – | Required. Community links or numeric IDs. Accepts x.com, www.x.com and twitter.com links. |
postSource |
select | all |
all merges the top and media feeds; top collects the ranked feed; media collects posts with photos or videos. |
sort |
select | top |
top keeps X's popular order; latest, mostLiked and mostViewed re-sort the collected rows. |
maxPosts |
integer | 50 |
Upper bound per community (1–1000). X's public ceiling is roughly 1–66 posts (typically 20–66), so a larger number is not a guarantee. |
includeAbout |
boolean | true |
Add the community row with profile, rules, topic, creator and moderators. |
includeMembers |
boolean | false |
Add member rows for the creator, moderators and facepile. |
includeActiveMembers |
boolean | false |
Add authors of the collected posts as member rows with role active. |
maxMembers |
integer | 50 |
Cap on member rows per community (1–200) when a member option is on. |
dateFrom / dateTo |
date | – | Keep posts inside this date range. |
minimumLikes |
integer | – | Keep posts with at least this many likes. |
minimumViews |
integer | – | Keep posts with at least this many views. |
minimumReplies |
integer | – | Keep posts with at least this many replies. |
minimumRetweets |
integer | – | Keep posts with at least this many retweets. |
language |
select | any |
Keep posts in one of 40 common languages. |
authorVerifiedOnly |
boolean | false |
Keep posts by verified or blue-verified authors. |
proxyConfiguration |
object | – | Optional; the actor works without a proxy and uses a direct connection by default. |
Example: community overview plus top posts
{
"communityUrls": ["https://x.com/i/communities/1493446837214187523"],
"postSource": "all",
"sort": "top",
"maxPosts": 50,
"includeAbout": true
}
Example: media posts and active members
{
"communityUrls": ["1493446837214187523"],
"postSource": "media",
"sort": "mostLiked",
"includeActiveMembers": true,
"maxMembers": 25,
"minimumViews": 500
}
Example: two communities, verified authors, date window
{
"communityUrls": [
"https://x.com/i/communities/1493446837214187523",
"https://twitter.com/i/communities/1539231166569410560"
],
"authorVerifiedOnly": true,
"dateFrom": "2026-01-01",
"dateTo": "2026-12-31",
"maxPosts": 100
}
Output
Community row (type: "community")
id, url, name, description, memberCount, createdAt, bannerUrl, topic, question, joinPolicy, isNsfw, rules, rulesDetailed, trendingHashtags, creator, moderators, moderatorCount, memberFacepile, memberPreviewImageUrls, collectedPostCount, uniquePostCount, sourcePostCounts, collectedAt.
Post row (type: "post")
id, url, text, createdAt, language, replyCount, retweetCount, likeCount, quoteCount, bookmarkCount, viewCount, engagementRate, isReply, isQuote, isRetweet, isNoteTweet, conversationId, inReplyToTweetId, inReplyToUserId, inReplyToUsername, hashtags, mentions, urls, cashtags, media, quotedTweet, quotedTweetId, poll, card, possiblySensitive, author, communityId, communityName, feed, collectedAt.
feed records which surface produced the row (top or media). engagementRate is (likes + retweets + replies) / followers as a percentage and appears only when the author's follower count is known.
Member row (type: "member")
id, username, name, bio, followers, following, postCount, mediaCount, profileImageUrl, bannerUrl, profileUrl, accountCreatedAt, isBlueVerified, verified, verifiedType, isProtected, location, website, role, communityId, communityName, collectedAt.
role is creator, moderator, member (facepile) or active (post author). accountCreatedAt is the account's public creation date — X does not expose the date a member joined the community.
Status row (type: "status")
status is one of noInput, invalidLink, notFound, rateLimited, noMatchingPosts, membersUnavailable, sourceChanged or error; message explains it.
Public limits
- Roughly 1–66 posts per community (typically 20–66). X shows only the ranked and media slices to logged-out visitors, with no working cursor. The actor returns the union of every public surface and never invents rows to fill
maxPosts. - No live latest feed.
/latestreturns zero rows for guests;sort: "latest"orders the collected top/media posts newest first. - No full member directory.
/membersredirects to login. The actor returns the creator, the exposed moderator list, the facepile and the authors of collected posts. - No community or in-community search. Those routes require login and return no cookieless data.
- No cookies, login or API key. There is no credential input, and every field comes from public data.
FAQ
Do I need an X account, cookies or a developer key? No. The actor reads public community pages and guest endpoints without any credential input. If a saved task still sends cookies, they are ignored with a log message.
How many posts can I get per community? Roughly 1–66 unique posts, typically 20–66, depending on the community. maxPosts is an upper bound, not a promise, and filters can reduce the result further.
Why do I get fewer posts than maxPosts? X exposes only its ranked and media slices to logged-out visitors and has no working public cursor. The actor returns everything reachable and never fabricates rows.
What is the difference between top, media and latest? postSource: "top" collects the ranked feed, "media" collects posts with photos or videos and "all" merges both. sort: "latest" re-orders the collected posts by date because X's live latest feed is login-gated.
Which members are included? The creator, the moderator list shown on the public About tab, the facepile and — when enabled — the authors of the collected posts. A full member directory needs login, so it is not offered.
Why are dates or counts missing on a few rows? Some media-grid rows only expose their date and counts through a second public guest timeline. The actor merges those twins automatically and still omits any value X genuinely does not publish.
Can I collect a private or NSFW community? Public communities work, including NSFW-flagged ones. Private, deleted or login-only communities return a notFound, rateLimited or sourceChanged status row.
How fresh is the data? Live — every run reads X at request time. Schedule the actor for hourly or daily monitoring.
How do I use the results? Download the dataset from the run page, or consume it through the Apify API, webhooks, Zapier, Make, Google Sheets or any other integration.
Is this affiliated with X? No. It is an independent third-party actor that reads publicly available community data.
Python quickstart
Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.
Source build YF4pzdKaKvCueXzye. Documentation is regenerated from the default published build; private drafts are not included.