---
title: "Group"
description: "Get a Reddit community."
---

```http
GET | POST /v1/reddit/group
```

Send parameters as a query string with `GET`, or as a JSON body with `POST`. Both are equivalent.

## What to Pass

| Pass | Reads | Notes |
|---|---|---|
| `community` | The community | `include=rules,style` adds its rules and style under `ext` (+1 unit each) |

Pass one source per call. Every identifier also takes the page URL.

## Parameters

| Parameter | Type | Required | Notes |
|---|---|---|---|
| `community` | string |  | Community name (with or without r/) or URL. |
| `include` | string list |  | Extra reads to attach under `ext`: rules (+1 unit). The community's style is always in `ext.style` (it comes with the community), so `style` is accepted and free. |

## Request

```bash tab="cURL"
curl "https://gateway.apinoa.com/v1/reddit/group?community=technology&include=rules" \
  -H "x-api-key: $APINOA_API_KEY"
```

```js tab="JavaScript"
const params = new URLSearchParams({ community: "technology", include: "rules" });
const res = await fetch(`https://gateway.apinoa.com/v1/reddit/group?${params}`, {
  headers: { "x-api-key": process.env.APINOA_API_KEY },
});
const { success, data, error } = await res.json();
```

```python tab="Python"
import os

import requests

res = requests.get(
    "https://gateway.apinoa.com/v1/reddit/group",
    params={"community": "technology", "include": "rules"},
    headers={"x-api-key": os.environ["APINOA_API_KEY"]},
)
body = res.json()
```

## Response

Returns [`Group`](/docs/api-reference/sns/response-schema#group) in `data`. A real response, shortened: arrays keep their first entries and long text is cut.

```json
{
  "success": true,
  "data": {
    "platform": "reddit",
    "kind": "community",
    "id": "2qh16",
    "name": "technology",
    "url": "https://www.reddit.com/r/technology/",
    "description": "Subreddit dedicated to the news and discussions about the creation and use of technology and its surrounding issues.",
    "avatarUrl": "https://b.thumbs.redditmedia.com/J_fCwTYJkoM-way-eaOHv8AOHoF_jNXNqOvPrQ7bINY.png",
    "createdAt": "2008-01-25T03:27:55.000Z",
    "counts": {
      "members": 20595712
    },
    "sensitive": false,
    "ext": {
      "fullname": "t5_2qh16",
      "title": "/r/Technology ",
      "sidebar": "/r/Technology is a place to share and discuss the latest developments, happenings and curiosities in the world of techn…",
      "type": "public",
      "language": "en",
      "submissionType": "link",
      "advertiserCategory": "Local",
      "submitText": "* Submissions must be primarily news and developments relating to technology. Do not submit content older than 2 weeks.…",
      "settings": {
        "allowImages": false,
        "allowVideos": false,
        "allowVideoGifs": false,
        "allowPolls": false,
        "allowGalleries": false,
        "spoilersEnabled": false,
        "allowDiscovery": true,
        "restrictPosting": true,
        "restrictCommenting": false,
        "allOriginalContent": false,
        "linkFlairEnabled": true,
        "userFlairEnabled": true,
        "crosspostable": false,
        "archivePosts": true,
        "commentScoreHideMins": 0,
        "wikiEnabled": true
      },
      "style": {
        "keyColor": "#0dd3bb",
        "iconUrl": "https://b.thumbs.redditmedia.com/J_fCwTYJkoM-way-eaOHv8AOHoF_jNXNqOvPrQ7bINY.png",
        "headerImageUrl": "https://a.thumbs.redditmedia.com/VwBugImhQhFTJhC0HjM9IWyEEEF898HHtI2AunD5SW4.png",
        "headerTitle": "r/Technology"
      },
      "rules": {
        "platform": "reddit",
        "community": "technology",
        "rules": [
          {
            "priority": 0,
            "shortName": "Submissions must be about technology",
            "description": "Submissions must be primarily news and developments relating to technology.\n\n[Self posts](https://www.reddit.com/r/tech…",
            "appliesTo": "posts",
            "violationReason": "Not related to technology",
            "createdAt": "2022-05-19T15:51:02.000Z"
          }
        ],
        "siteRules": [
          "Spam",
          "Personal and confidential information"
        ]
      }
    }
  }
}
```

## Errors

| Status | Code | Meaning |
|---|---|---|
| 400 | `INVALID_PARAMS` | A parameter is missing, unknown or out of range. The message names it. |
| 401 | `UNAUTHORIZED` | The `x-api-key` header is missing, or the key is revoked or unknown. |
| 402 | `INSUFFICIENT_BALANCE` | The balance does not cover this call. Top up in the dashboard. |
| 404 | `NOT_FOUND` | The account, post or group does not exist, or is private, deleted or age-restricted. |
| 429 | `MARKETPLACE_SATURATED` | Too many concurrent calls. Retry after the `Retry-After` seconds. |
| 502 | `UPSTREAM_ERROR` | The platform answered with something unusable. Retry with backoff. |

Every code is listed in [Errors](/docs/errors). Failed calls are not billed.

## Pricing

**Price** $0.001 per call, plus $0.001 for each extra call it makes — at most 1 more, so $0.002 in total. [List price](https://apinoa.com/en/pricing); the rate steps down above 1,000 calls a day.
