# X (Twitter) Community Membership Checker (`arjun_code/x-twitter-community-membership-checker`) Actor

Check whether any X / Twitter account belongs to a specific Community, or discover the visible Communities joined by that account. Get clear membership answers and structured Community details—no login, cookies, API key, or proxy setup required.

- **URL**: https://apify.com/arjun_code/x-twitter-community-membership-checker.md
- **Developed by:** [Arjun Data](https://apify.com/arjun_code) (community)
- **Categories:** Social media, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 1,000 completed community membership checks

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

Check X (Twitter) Community membership for any public account, or discover the visible Communities an account has joined. Enter a username, profile URL, or numeric user ID to get a clear membership answer and structured Community data—without supplying an X login, cookies, API key, or proxy.

Use the results for Community research, access checks, audience discovery, moderation workflows, creator analysis, or automated membership verification through the Apify API.

### What can this Actor do?

- Check whether one X account belongs to one specific Community.
- Return a plain `true` or `false` membership result with a readable summary.
- List the visible Communities joined by an account.
- Follow the available X pagination when an account has more than one page of Communities.
- Export Community names, links, descriptions, member counts, rules, topics, creator details, and administrator details.
- Save unavailable inputs and empty results as readable status rows instead of leaving an unexplained empty Dataset.

### How to use the Community membership checker

1. Choose **Check membership in one Community** or **List visible Communities joined by an account**.
2. Enter an X username, `@handle`, profile URL, or numeric user ID.
3. For a membership check, add the Community URL or numeric Community ID.
4. For a Community list, optionally choose how many visible Communities to save.
5. Click **Start** and open the Dataset when the run finishes.

The prefilled input is ready for a quick test.

### Input parameters

| Field | Purpose |
| --- | --- |
| `action` | Use `check` for one account–Community membership check, or `list` to discover visible Communities joined by the account. |
| `user` | One username, `@handle`, full X profile URL, or numeric user ID. |
| `community` | Community URL or numeric ID. Used only when `action` is `check`. |
| `maxCommunities` | Maximum Communities saved in list mode. The default is `100`; use `0` to collect all Communities currently exposed by X pagination. |

#### Check one account against one Community

```json
{
  "action": "check",
  "user": "legit_api",
  "community": "https://x.com/i/communities/1762494276565426592"
}
```

#### List Communities joined by an account

```json
{
  "action": "list",
  "user": "https://x.com/elonmusk",
  "maxCommunities": 100
}
```

### Example membership result

```json
{
  "result_type": "membership_check",
  "action": "check",
  "status": "success",
  "is_member": true,
  "result_summary": "@legit_api is a member of AI — Rumors & Insights.",
  "checked_at": "2026-10-14T03:48:06Z",
  "requested_user": "legit_api",
  "requested_community": "https://x.com/i/communities/1762494276565426592",
  "user_id": "1056867968511066112",
  "username": "legit_api",
  "user_profile_url": "https://x.com/legit_api",
  "community_id": "1762494276565426592",
  "community_name": "AI — Rumors & Insights",
  "community_url": "https://x.com/i/communities/1762494276565426592",
  "member_count": 30726,
  "moderator_count": 10,
  "join_policy": "Open",
  "user": {
    "user_id": "1056867968511066112",
    "username": "legit_api",
    "name": "Legit",
    "profile_url": "https://x.com/legit_api",
    "verified": false,
    "blue_verified": true,
    "protected": false
  },
  "community": {
    "community_id": "1762494276565426592",
    "name": "AI — Rumors & Insights",
    "community_url": "https://x.com/i/communities/1762494276565426592",
    "description": "Discuss the state of AI from industry insiders and anons 🕵️‍♂️",
    "created_at": "2024-02-27T15:05:55.754000Z",
    "member_count": 30726,
    "moderator_count": 10,
    "join_policy": "Open",
    "primary_community_topic": {
      "topic_id": "302",
      "topic_name": "Artificial Intelligence"
    }
  }
}
```

List mode uses the same Community structure and saves one `joined_community` row for every visible Community found.

### Dataset views and exports

The Dataset provides three focused views:

- **Overview** shows the membership answer, account, Community, member count, and result message.
- **Community details** shows descriptions, topics, joining policy, creator, administrator, and other Community fields.
- **Status rows** explains invalid input, unavailable accounts or Communities, temporary request failures, and accounts with no visible joined Communities.

Download results as JSON, CSV, Excel, XML, or RSS, or connect the Dataset to your existing Apify integrations.

### Automate checks with the Apify API

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor(
    "arjun_code/x-twitter-community-membership-checker"
).call(run_input={
    "action": "check",
    "user": "legit_api",
    "community": "1762494276565426592",
})

results = client.dataset(run["defaultDatasetId"]).list_items().items
```

You can also save the input as an Apify Task, schedule repeated checks, trigger runs from workflows, or send completed Dataset results through webhooks and integrations.

### Pricing

This Actor uses pay-per-event pricing with platform usage included. A small `apify-actor-start` event is charged automatically when a run starts. A conclusive membership check produces one `membership-check-result` event, while list mode produces one `joined-community-result` event for every visible Community successfully saved.

| Apify plan | Membership check | Joined Community |
| --- | ---: | ---: |
| Free | $0.00100 | $0.00030 |
| Bronze | $0.00090 | $0.00025 |
| Silver | $0.00080 | $0.00020 |
| Gold | $0.00070 | $0.00015 |
| Platinum | $0.00070 | $0.00015 |
| Diamond | $0.00070 | $0.00015 |

The `apify-actor-start` event covers the fixed cost of starting a run. Invalid input, unavailable accounts or Communities, empty results, and request failures do not create a custom result charge. The Actor's **Pricing** tab shows the currently active start fee and remains the source of truth while scheduled pricing changes are pending. You can use **Maximum cost per run** in Apify Run options to control spending.

### Availability and limitations

- X can hide private, restricted, deleted, or otherwise unavailable Community memberships.
- `0 = all visible` means all Communities exposed through the available X membership timeline; it is not a promise to reveal private memberships.
- Community counts and profile fields can change between runs.
- An unavailable account or Community produces a status row with an explanation.
- This Actor is an independent data tool and is not affiliated with or endorsed by X Corp.

### Related X Community Actors

- [X (Twitter) Community Search & Details](https://apify.com/arjun_code/x-twitter-communities-search) finds Communities by topic, URL, or ID and returns descriptions, rules, creators, administrators, and moderators.
- [X (Twitter) Community Members & Moderators](https://apify.com/arjun_code/x-twitter-community-members) exports visible member, administrator, and moderator profiles from a public Community.

### FAQ

#### Can I enter a user ID instead of a username?

Yes. The account input accepts a username, `@handle`, profile URL, or positive numeric X user ID.

#### What happens if the account has joined no visible Communities?

The Actor saves a `no_results` status row explaining that no visible joined Communities were found.

#### Does list mode include private Communities?

Only memberships currently exposed by X are returned. Private or restricted memberships may be absent.

#### Can I use the results in another application?

Yes. Read the Dataset through the Apify API, download it in a supported format, or connect it to another service through Tasks, schedules, webhooks, and integrations.

### Support and responsible use

Use this Actor only for lawful purposes and handle profile and Community data in accordance with applicable rules. If a public input produces an unexpected result, open an issue from the Actor page and include the Run ID and non-sensitive input. Never post API tokens, cookies, or other credentials in an issue.

# Actor input Schema

## `action` (type: `string`):

Choose Check membership for one clear yes/no result. Choose List joined Communities to save one row for each visible Community joined by the account.

## `user` (type: `string`):

Enter the account to check as a username, @handle, full X / Twitter profile URL, or numeric user ID. For example: legit_api, @legit_api, https://x.com/legit_api, or 1056867968511066112.

## `community` (type: `string`):

Required only for Check membership. Paste a full X Community link or enter its numeric ID. This field is ignored when listing joined Communities.

## `maxCommunities` (type: `integer`):

Maximum number of visible joined Communities to save. Set 0 to continue until X provides no more visible Communities. Default: 100.

## Actor input object example

```json
{
  "action": "check",
  "user": "legit_api",
  "community": "https://x.com/i/communities/1762494276565426592",
  "maxCommunities": 100
}
```

# Actor output Schema

## `results` (type: `string`):

Membership checks and visible joined Communities stored in the Dataset.

# 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 = {
    "user": "legit_api",
    "community": "https://x.com/i/communities/1762494276565426592"
};

// Run the Actor and wait for it to finish
const run = await client.actor("arjun_code/x-twitter-community-membership-checker").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 = {
    "user": "legit_api",
    "community": "https://x.com/i/communities/1762494276565426592",
}

# Run the Actor and wait for it to finish
run = client.actor("arjun_code/x-twitter-community-membership-checker").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 '{
  "user": "legit_api",
  "community": "https://x.com/i/communities/1762494276565426592"
}' |
apify call arjun_code/x-twitter-community-membership-checker --silent --output-dataset

```

## MCP server setup

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

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/Lib1ln6aMA2fTfSLb/builds/sg08VoHbyLqKZIJg7/openapi.json
