# Twitter Community Scraper – X Details & Rules (`scrapingmonkey/twitter-community-details-scraper`) Actor

Extract public Twitter (X) community details by URL. Get names, descriptions, member counts, topics, join policies, creator details and rules in one community row.

- **URL**: https://apify.com/scrapingmonkey/twitter-community-details-scraper.md
- **Developed by:** [ScrapingMonkey](https://apify.com/scrapingmonkey) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

Collect the public description, rules and membership context of Twitter (X) communities from their URLs. **Twitter Community Scraper** returns the community name, member count, topic, join policy, creator details and banner in one row per community.

Use it to compare relevant communities, review participation rules or maintain a directory of public community pages.

| At a glance | Details |
|---|---|
| 📥 Input | Full X or Twitter community URLs |
| 📤 Output | Name, description, members, topic, join policy, creator and rules |
| 🔐 Login required | No Twitter (X) credentials or cookies |
| ⚡ Processing | Up to 5 requests concurrently with automatic retries |
| 💾 Delivery | One community row in one table, with matching JSON fields |

### What the Twitter (X) community scraper extracts 🔎

The Actor reads the public community page and collects its available profile and rule information.

- Community ID, canonical URL, name and description
- Visible member count, topic and join policy
- Creation date and timestamp, plus the sensitive-content flag
- Banner image URL
- Creator ID, name, username, avatar and visible Blue verification flag
- Community rules with IDs, titles and descriptions

### How to scrape Twitter (X) communities 🚀

1. Add a full community URL with an `/i/communities/` path.
2. Add other community links for a batch.
3. Start the Actor and review the result status.
4. Export the community rows and rule columns.

```json
{
  "inputList": [
    "https://x.com/i/communities/1493446837214187523"
  ]
}
```

Repeated valid links that resolve to the same ID are normally processed once per run.

### Twitter (X) community data fields and complete output 📦

| Field group | Included data |
|---|---|
| Community | ID, URL, name, description and topic |
| Membership context | Member count and join policy |
| Appearance and dates | Banner, creation date and sensitive-content flag |
| Creator | ID, name, username, avatar and Blue verification flag |
| Rules | Rule IDs, names and descriptions |

Complete illustrative success item with fictional content, not a live result:

```json
{
  "input": "https://x.com/i/communities/2088355206723477000",
  "status": "success",
  "id": "2088355206723477000",
  "url": "https://x.com/i/communities/2088355206723477000",
  "name": "Field Research Exchange",
  "description": "A place to discuss field methods and share practical research notes.",
  "member_count": 1280,
  "created_at": "2026-09-01T10:00:00Z",
  "created_at_timestamp": 1788256800,
  "join_policy": "Open",
  "is_nsfw": false,
  "topic": "Science",
  "banner_url": "https://example.com/field-research-banner.jpg",
  "creator.id": "100100100",
  "creator.name": "Northstar Lab",
  "creator.username": "northstar_lab",
  "creator.avatar_url": "https://example.com/northstar_lab_normal.jpg",
  "creator.is_blue_verified": false,
  "rules.id": ["1001", "1002"],
  "rules.name": ["Stay on topic", "Credit your sources"],
  "rules.description": ["Discuss field methods and research practice.", "Link to the original source when sharing published work."]
}
```

Fields such as `creator.username` are literal column names in both the table and JSON. The `rules.id`, `rules.name` and `rules.description` lists align by position, so all rules stay attached to their community row.

Successful rows can contain empty strings, zero counts, false flags, empty lists or null optional branches when a value is unavailable. A failed row retains `input`, sets `status` to `failed` and leaves the entity data fields null.

### Input requirements and coverage ⚙️

| Parameter | Type | Required | Default and rules |
|---|---|---|---|
| `inputList` | array of strings | Yes | No default; at least one item. No fixed input-count maximum. |

Provide a full HTTP or HTTPS URL on `x.com` or `twitter.com` with the path `/i/communities/COMMUNITY_ID`. The community ID must be numeric. Bare IDs, search queries and ordinary profile or post links are not accepted.

The result covers public community details. It does not collect member profiles, community posts or a moderator directory. A member count does not imply that an individual member list is accessible.

### Twitter (X) community data use cases 🎯

#### Community directories

Keep names, descriptions, topics and source URLs for a selected group of communities.

#### Participation research

Review join policies and published rules before deciding whether a community fits your work.

#### Topic landscape reviews

Compare the public positioning and displayed membership of communities discussing related subjects.

#### Rule and profile monitoring

Save periodic snapshots of rule descriptions, banners and community descriptions.

### Pricing and billable community rows 💰

Check the Actor's **Pricing** tab for the current charging model and rate. The Store configuration is authoritative.

Under dataset-item pricing, each saved success or failed row can count as a billable item. Automatic retries do not independently add result rows.

One processed community creates one result row. Its creator details and rules remain part of that row.

### Twitter (X) community API and integrations 🔌

Replace `$ACTOR_ID` with the ID shown in the Actor API tab and `$APIFY_TOKEN` with your Apify token.

```bash
curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"inputList":["https://x.com/i/communities/1493446837214187523"]}'
```

Start runs through REST, Apify client libraries or schedules. Use webhooks to handle completion, then export the dataset as JSON, CSV or Excel, or send it to Google Sheets, Make, Zapier and your reporting tools.

### Reliability and limits ⚠️

Temporary request failures and selected access errors are retried automatically. A deleted page or a response without usable community data produces a failed result.

X can omit the topic, creator details or rules from a public response. Missing counts default to zero, and unavailable text can be empty. The Actor collects the visible page data and does not verify membership totals or enforce the community's join policy.

### Frequently asked questions ❓

#### Does it export community members?

No. It returns the visible member count and community details, not individual member profiles.

#### Can it collect posts from the community?

No. This Actor reads the community profile and rules. Use Post Details Scraper for individual post URLs.

#### Does an open join policy guarantee access?

No. The field describes the public policy value. X may still restrict what a particular request can see.

#### Are rules returned as separate rows?

No. Rule names and descriptions remain aligned lists in the single community row.

#### Can I submit a community ID alone?

No. Submit the full X or Twitter community URL.

### Support, responsible use, and related actors 🛟

For a reproducible issue, contact support with the run ID, approximate time and a safe public input. Keep credentials and private data out of support messages.

Use public data in line with applicable privacy, copyright and platform requirements.

# Actor input Schema

## `inputList` (type: `array`):

Add one full X Community URL per item, for example https://x.com/i/communities/COMMUNITY\_ID.

## Actor input object example

```json
{
  "inputList": [
    "https://x.com/i/communities/1493446837214187523"
  ]
}
```

# Actor output Schema

## `communities` (type: `string`):

Dataset rows with success or failed status.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "inputList": [
        "https://x.com/i/communities/1493446837214187523"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapingmonkey/twitter-community-details-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "inputList": ["https://x.com/i/communities/1493446837214187523"] }

# Run the Actor and wait for it to finish
run = client.actor("scrapingmonkey/twitter-community-details-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "inputList": [
    "https://x.com/i/communities/1493446837214187523"
  ]
}' |
apify call scrapingmonkey/twitter-community-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapingmonkey/twitter-community-details-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/e7Zj4MuZtbbehW04d/builds/dGdbv9EdUP4QPU9Ys/openapi.json
