Dataspryva

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.

FieldTypeRequiredDescription
communityUrlsarrayrequiredPaste 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.
postSourcestringoptionalWhich 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.
sortstringoptionalHow 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
FieldTypeRequiredDescription
communityUrlsarrayrequiredPaste 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.
postSourcestringoptionalWhich 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.
sortstringoptionalHow to order the collected posts. Top keeps X's popular order; Latest and Most liked/Viewed re-sort the collected rows.
maxPostsintegeroptionalUpper 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.
includeAboutbooleanoptionalAdd a community row with the name, description, member count, creation date, banner, topic, join policy and rules.
includeMembersbooleanoptionalAdd one row per publicly visible member: the creator, the full exposed moderator list and the community facepile, expanded with public profile details.
includeActiveMembersbooleanoptionalAdd 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.
maxMembersintegeroptionalCap on member rows per community when either member option is on. The creator and moderators are kept first.
dateFromstringoptionalOnly keep posts created on or after this date.
dateTostringoptionalOnly keep posts created on or before this date.
minimumLikesintegeroptionalOnly keep posts with at least this many likes.
minimumViewsintegeroptionalOnly keep posts with at least this many views.
minimumRepliesintegeroptionalOnly keep posts with at least this many replies.
minimumRetweetsintegeroptionalOnly keep posts with at least this many retweets.
languagestringoptionalOnly keep posts written in this language.
authorVerifiedOnlybooleanoptionalKeep only posts whose author is verified or blue-verified.
proxyConfigurationobjectoptionalOptional. 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.

FieldTypeRequiredDescription
recordsstringoptionalAll 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 rulesDetailed with 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: postSource all/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, member or status); problems produce a status row instead of failing the run, and empty fields are omitted — the dataset never contains null, "", [] 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. /latest returns zero rows for guests; sort: "latest" orders the collected top/media posts newest first.
  • No full member directory. /members redirects 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.

Open the step-by-step Python guide →

Source build YF4pzdKaKvCueXzye. Documentation is regenerated from the default published build; private drafts are not included.