> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xquik.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get community info

> Retrieve details for an X community including name, description, member count, rules, and join policy

<blockquote className="agent-llms-directive">
  For the complete documentation index, see <a href="/llms.txt">llms.txt</a>.
</blockquote>

<Callout icon="coins" color="#5c3327">
  **1 credit per call** · [All plans](https://xquik.com/#pricing) from \$0.00012/credit
</Callout>

<CodeGroup>
  ```bash cURL theme={null}
  curl https://xquik.com/api/v1/x/communities/1234567890/info \
    -H "x-api-key: xq_YOUR_KEY_HERE" | jq
  ```

  ```javascript Node.js theme={null}
  const communityId = "1234567890";
  const response = await fetch(`https://xquik.com/api/v1/x/communities/${communityId}/info`, {
    headers: { "x-api-key": "xq_YOUR_KEY_HERE" },
  });
  const data = await response.json();
  const community = data.community;
  const communityRecord = {
    community_id: community.id,
    community_name: community.name ?? null,
    description: community.description ?? null,
    member_count: community.member_count ?? null,
    moderator_count: community.moderator_count ?? null,
    join_policy: community.join_policy ?? null,
    banner_url: community.banner_url ?? null,
    created_at: community.created_at ?? null,
    primary_topic_name: community.primary_topic?.name ?? null,
    rule_count: community.rules?.length ?? 0,
  };

  process.stdout.write(JSON.stringify(communityRecord, null, 2));
  ```

  ```python Python theme={null}
  import json
  import requests

  response = requests.get(
      "https://xquik.com/api/v1/x/communities/1234567890/info",
      headers={"x-api-key": "xq_YOUR_KEY_HERE"},
  )
  data = response.json()
  community = data["community"]
  community_record = {
      "community_id": community["id"],
      "community_name": community.get("name"),
      "description": community.get("description"),
      "member_count": community.get("member_count"),
      "moderator_count": community.get("moderator_count"),
      "join_policy": community.get("join_policy"),
      "banner_url": community.get("banner_url"),
      "created_at": community.get("created_at"),
      "primary_topic_name": (community.get("primary_topic") or {}).get("name"),
      "rule_count": len(community.get("rules") or []),
  }

  print(json.dumps(community_record, indent=2))
  ```
</CodeGroup>

Use `GET /x/communities/{id}/info` when a workflow needs one durable community
profile row before member exports, moderator review, content routing, or CRM
enrichment. Store `community_id`, `community_name`, `description`,
`member_count`, `moderator_count`, `join_policy`, `banner_url`, `created_at`,
`primary_topic_name`, and `rule_count`.

## Path parameters

<ParamField path="id" type="string" required>
  Community ID (numeric string).
</ParamField>

## Headers

<ParamField header="x-api-key" type="string" required>
  Your API key. Session cookie authentication is also supported.
</ParamField>

## Response

<Tabs>
  <Tab title="200 OK">
    <ResponseField name="community" type="object">
      Community details.

      <Expandable title="community object">
        <ResponseField name="id" type="string">Community ID.</ResponseField>
        <ResponseField name="name" type="string">Community name. Omitted if unavailable.</ResponseField>
        <ResponseField name="description" type="string">Community description. Omitted if empty.</ResponseField>
        <ResponseField name="member_count" type="number">Total member count. Omitted if unavailable.</ResponseField>
        <ResponseField name="moderator_count" type="number">Moderator count. Omitted if unavailable.</ResponseField>
        <ResponseField name="join_policy" type="string">Join policy (e.g. `Open`). Omitted if unavailable.</ResponseField>
        <ResponseField name="banner_url" type="string">Banner image URL. Omitted if unavailable.</ResponseField>
        <ResponseField name="created_at" type="string">ISO 8601 creation timestamp. Omitted if unavailable.</ResponseField>
        <ResponseField name="primary_topic" type="object">Primary topic with `id` and `name` fields. Omitted if unavailable.</ResponseField>
        <ResponseField name="rules" type="object[]">Community rules, each with `id`, `name`, and `description`. Omitted if unavailable.</ResponseField>
      </Expandable>
    </ResponseField>

    ```json theme={null}
    {
      "community": {
        "id": "1234567890",
        "name": "Web Developers",
        "description": "A community for web developers",
        "member_count": 15000,
        "moderator_count": 5,
        "join_policy": "Open",
        "created_at": "2024-01-15T00:00:00.000Z",
        "primary_topic": { "id": "1", "name": "Technology" },
        "rules": [
          { "id": "1", "name": "Be respectful", "description": "Treat all members with respect." }
        ]
      }
    }
    ```
  </Tab>

  <Tab title="400 Invalid community ID">
    ```json theme={null}
    { "error": "invalid_community_id" }
    ```

    The community ID is empty or invalid.
  </Tab>

  <Tab title="401 Unauthenticated">
    ```json theme={null}
    { "error": "unauthenticated" }
    ```

    Missing or invalid API key.
  </Tab>

  <Tab title="402 Subscription required">
    ```json theme={null}
    { "error": "no_subscription" }
    ```

    No active subscription or insufficient credits. Possible error values: `no_subscription`, `subscription_inactive`, `no_credits`, `insufficient_credits`.
    For [MPP](/mpp/overview) requests without a valid payment credential, 402 returns a `WWW-Authenticate: Payment` challenge header instead.
  </Tab>

  <Tab title="404 Community not found">
    ```json theme={null}
    { "error": "not_found" }
    ```

    The community could not be resolved. Check the community ID.
  </Tab>

  <Tab title="502 X API unavailable">
    ```json theme={null}
    { "error": "x_api_unavailable" }
    ```

    The read service returned an error. Retry after a short delay.
  </Tab>

  <Tab title="429 Rate Limit Exceeded">
    ```json theme={null}
    { "error": "rate_limit_exceeded", "retryAfter": 60 }
    ```

    Your tier rate limit was exceeded. Wait for the `Retry-After` header before retrying.
  </Tab>

  <Tab title="424 Dependency Failed">
    ```json theme={null}
    { "error": "x_api_unavailable" }
    ```

    The normalized v1 response contract can return 424 when the read service is unavailable.
  </Tab>
</Tabs>

<Note>
  **Next steps:** [Community Members](/api-reference/x/community-members) to list members, or [Community Tweets](/api-reference/x/community-tweets) to browse posts.
</Note>
