# Reddit Subreddit API. Send a subreddit or its link.

Rules, description and weekly visitors. We handle the proxies, blocks and platform changes.

[Get API key](https://socialtap.dev/signup/?next=%2Fplayground%2F%3Fendpoint%3Dreddit.subreddit)

## Reddit Subreddit API at a glance

Returns a public subreddit from its name or link: title, description, rules with their explanations, creation date, privacy, NSFW flag and icon. It also has the banner, what the subreddit calls its members, and the weekly visitors and contributions Reddit shows.

GET `/v1/reddit/subreddit`

[Read the API reference](https://socialtap.dev/docs/reference/reddit/subreddit/index.md)

- **1 credit** per request, $0.75–$1.97 per 1,000 requests
- **17 typed fields** null when unknown
- **`url`** is all it needs, e.g. `https://www.reddit.com/r/golang/`
- **100 credits** free when you sign up, no card, so you can build before you spend

## Send one request. Get 17 fields back.

Copy the request in your language, or hand it to your agent. Sign up for an API key and your first 100 credits are free.

`$ npm install socialtap`

`url = https://www.reddit.com/r/golang/`

[Open in playground](https://socialtap.dev/playground/?endpoint=reddit.subreddit)

cURL:

```shell
curl -G 'https://socialtap.dev/v1/reddit/subreddit' \
  --data-urlencode 'url=https://www.reddit.com/r/golang/' \
  -H "x-api-key: $SOCIALTAP_API_KEY"
```

TypeScript SDK:

```typescript
import { SocialTap } from "socialtap";

const client = new SocialTap(); // apiKey defaults to process.env.SOCIALTAP_API_KEY

const res = await client.reddit.subreddit.get({ url: "https://www.reddit.com/r/golang/" });
console.log(res.data);
console.log(res.credits.charged, res.meta.request_id);
```

Node.js (fetch):

```javascript
const params = new URLSearchParams({
  url: "https://www.reddit.com/r/golang/",
});
const res = await fetch(`https://socialtap.dev/v1/reddit/subreddit?${params}`, {
  headers: { "x-api-key": process.env.SOCIALTAP_API_KEY ?? "" },
});
const body = await res.json();
if (!res.ok) throw new Error(`${body.error.code}: ${body.error.message}`);
const { data, meta } = body;
console.log(data, meta.credits_charged);
```

Python (requests):

```python
import os

import requests

res = requests.get(
    "https://socialtap.dev/v1/reddit/subreddit",
    params={"url": "https://www.reddit.com/r/golang/"},
    headers={"x-api-key": os.environ["SOCIALTAP_API_KEY"]},
)
body = res.json()
if not res.ok:
    raise RuntimeError(f"{body['error']['code']}: {body['error']['message']}")
data, meta = body["data"], body["meta"]
print(data, meta["credits_charged"])
```

Go (net/http):

```go
package main

import (
	"encoding/json"
	"fmt"
	"log"
	"net/http"
	"net/url"
	"os"
)

func main() {
	q := url.Values{}
	q.Set("url", "https://www.reddit.com/r/golang/")
	req, err := http.NewRequest("GET", "https://socialtap.dev/v1/reddit/subreddit?"+q.Encode(), nil)
	if err != nil {
		log.Fatal(err)
	}
	req.Header.Set("x-api-key", os.Getenv("SOCIALTAP_API_KEY"))
	res, err := http.DefaultClient.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer res.Body.Close()
	var body struct {
		Data  json.RawMessage `json:"data"`
		Meta  map[string]any  `json:"meta"`
		Error *struct {
			Code    string `json:"code"`
			Message string `json:"message"`
		} `json:"error"`
	}
	if err := json.NewDecoder(res.Body).Decode(&body); err != nil {
		log.Fatal(err)
	}
	if body.Error != nil {
		log.Fatalf("%s: %s", body.Error.Code, body.Error.Message)
	}
	fmt.Println(string(body.Data), body.Meta["credits_charged"])
}
```

200 OK:

```json
{
  "data": {
    "approximate_fields": [],
    "avatar_url": "https://styles.redditmedia.com/t5_2rc7j/styles/communityIcon_wy4riduoe9k11.png?width=128&frame=1&auto=webp&s=a9c9b6dba0f0655d79102b24e34b9d04706eb0d6",
    "banner_url": "https://styles.redditmedia.com/t5_2rc7j/styles/bannerBackgroundImage_k15p9ugyd9k11.png?frame=1&auto=webp&s=d0fe21082f615ee236e0aff56e7f3c884565c48a",
    "categories": [],
    "created_at": "2009-11-11T00:54:28Z",
    "description": "Ask questions and post articles about the Go programming language and related tools, events etc.",
    "id": "t5_2rc7j",
    "is_nsfw": false,
    "metrics": {
      "member_count": null
    },
    "moderators": [],
    "name": "golang",
    "platform": "reddit",
    "platform_specific": {
      "reddit": {
        "is_quarantined": false,
        "member_nickname": "gophers",
        "weekly_contribution_count": 680,
        "weekly_visitor_count": 74052
      }
    },
    "privacy": "public",
    "rules": [
      {
        "description": "Post is not in keeping with an inclusive and friendly technical atmosphere.",
        "title": "Be friendly and welcoming."
      },
      {
        "description": "Remember that people have varying communication styles and that not everyone is using their native language. (Meaning and tone can be lost in translation.)",
        "title": "Be patient."
      },
      {
        "description": "Productive communication requires effort. Think about how your words will be interpreted. Remember that sometimes it is best to refrain entirely from commenting.\n\nCheck for your answer in the subreddit FAQs and the Tour of Go before posting common questions, please.",
        "title": "Be thoughtful."
      }
    ],
    "title": "The Go Programming Language",
    "unknown_fields": [
      "categories",
      "moderators"
    ],
    "url": "https://www.reddit.com/r/golang/"
  },
  "meta": {
    "request_id": "req_3f9c2a7d1e8b4c6a9f0e2d4b6a8c0e1f",
    "platform": "reddit",
    "source": "page",
    "is_cached": false,
    "credits_charged": 1,
    "latency_ms": 513,
    "fetched_at": "2026-10-25T12:00:00Z",
    "input": {
      "kind": "community",
      "id": "t5_2rc7j",
      "url": "https://www.reddit.com/r/golang/"
    },
    "credits_remaining": 9999,
    "client_request_id": null,
    "warnings": []
  }
}
```

Long arrays and strings are shortened here. Real responses are complete.

## One schema on 3 platforms.

The [response reference](https://socialtap.dev/docs/reference/reddit/subreddit/index.md#response) lists every field, its type and when it is `null`. [See the full schema](https://socialtap.dev/resources/community/index.md).

- ### Null means unknown

  A field Reddit doesn't show is null, never zero or an empty string, so a real zero always means zero.
- ### What it accepts

  The subreddit: its link on any reddit.com host (www, old, new, np, m, sh), any of its tabs included (/about, /new, /top, /wiki), r/\<name>, or its bare name (golang).
- ### Write one parser

  Reddit, Facebook and X answer in these fields, so the code that reads one reads them all.

- **`platform`string**: Platform ID (reddit, facebook, …).
- **`id`string**: Platform-native community ID (string): Reddit's subreddit ID with its t5_ prefix, Facebook's numeric group ID.
- **`name`string**: The name its links use, without a prefix (golang for r/golang; a Facebook group's vanity name); null when it has none (a Facebook group known only by its number).
- **`title`string**: The community's title as its page shows it ("The Go Programming Language"; what Facebook calls a group's name); null when it has none.
- **`description`string**: Its short description as plain text; null when it has none.
- **`url`string**: Canonical community URL (https://www.reddit.com/r/golang/, https://www.facebook.com/groups/\<id>/).
- **`avatar_url`string**: The community's icon or picture; null when it has none. Platform CDN URLs can expire.
- **`banner_url`string**: Header or cover image URL; null when it has none.

Live data from 33 platforms.

[TikTok](https://socialtap.dev/apis/tiktok/index.md) · [Instagram](https://socialtap.dev/apis/instagram/index.md) · [Facebook](https://socialtap.dev/apis/facebook/index.md) · [YouTube](https://socialtap.dev/apis/youtube/index.md) · [Reddit](https://socialtap.dev/apis/reddit/index.md) · [Threads](https://socialtap.dev/apis/threads/index.md) · [Spotify](https://socialtap.dev/apis/spotify/index.md) · [Amazon](https://socialtap.dev/apis/amazon/index.md) · [Apple Music](https://socialtap.dev/apis/applemusic/index.md) · [Pinterest](https://socialtap.dev/apis/pinterest/index.md) · [Rumble](https://socialtap.dev/apis/rumble/index.md) · [X](https://socialtap.dev/apis/x/index.md) · [Bluesky](https://socialtap.dev/apis/bluesky/index.md) · [Twitch](https://socialtap.dev/apis/twitch/index.md) · [LinkedIn](https://socialtap.dev/apis/linkedin/index.md) · [Telegram](https://socialtap.dev/apis/telegram/index.md) · [TikTok Shop](https://socialtap.dev/apis/tiktokshop/index.md) · [Kwai](https://socialtap.dev/apis/kwai/index.md) · [Snapchat](https://socialtap.dev/apis/snapchat/index.md) · [SoundCloud](https://socialtap.dev/apis/soundcloud/index.md) · [Truth Social](https://socialtap.dev/apis/truthsocial/index.md) · [Kick](https://socialtap.dev/apis/kick/index.md) · [Komi](https://socialtap.dev/apis/komi/index.md) · [Lnk.Bio](https://socialtap.dev/apis/linkbio/index.md) · [Linkme](https://socialtap.dev/apis/linkme/index.md) · [Linktree](https://socialtap.dev/apis/linktree/index.md) · [Pillar](https://socialtap.dev/apis/pillar/index.md) · [TikTok Ad Library](https://socialtap.dev/apis/tiktok-ad-library/index.md) · [Facebook Ad Library](https://socialtap.dev/apis/facebook-ad-library/index.md) · [Facebook Events](https://socialtap.dev/apis/facebook-events/index.md) · [Facebook Marketplace](https://socialtap.dev/apis/facebook-marketplace/index.md) · [Google Ads Transparency Center](https://socialtap.dev/apis/google-ads-transparency/index.md) · [LinkedIn Ad Library](https://socialtap.dev/apis/linkedin-ad-library/index.md)

## What teams build with the Reddit Subreddit API.

- ### Check a subreddit's rules before posting
- ### Track a subreddit's weekly visitors over time
- ### Enrich subreddit names with titles and icons

## Good to know before you build.

- Moderators and the subreddit's topic categories aren't shown logged out, so moderators and categories are \[\] and listed in unknown_fields.
- A private, quarantined or members-only subreddit returns private_or_unavailable. A banned or unregistered name returns not_found.
- r/popular and r/all are Reddit's feeds, not subreddits. The Reddit Subreddit Posts API reads their posts.
- Reddit shows no privacy for an archived subreddit, so privacy is null there.

## 1 credit per request. Failed requests are free.

Buy credits once and spend them on any endpoint, on any platform.

[Plans and packs](https://socialtap.dev/pricing/index.md) · [How this endpoint is priced](https://socialtap.dev/docs/reference/reddit/subreddit/index.md#pricing) · [How credits work](https://socialtap.dev/docs/credits/index.md)

| Source | Price per successful request | Per 1,000 requests |
| --- | --- | --- |
| Public page `page` | 1 credit | $0.75–$1.97 |

- Cache hits are free.
- Credits from packs and top-ups never expire.
- A monthly plan's credits are spent first, and what is left of them ends at each renewal.
- Prices exclude tax: sales tax is added at checkout where it applies.
- Outside the US, plans and packs are sold to businesses: checkout asks for your VAT, GST or other business tax ID.

## Questions about the Reddit Subreddit API.

More in the [API reference](https://socialtap.dev/docs/reference/reddit/subreddit/index.md).

**Does it return the subscriber count?**

No. Reddit shows no subscriber count logged out, so metrics.member_count is null. platform_specific.reddit.weekly_visitor_count and weekly_contribution_count are the activity Reddit shows instead.

**How much does the Reddit Subreddit API cost?**

A request costs 1 credit. SocialTap credits cost $0.75–$1.97 per 1,000, depending on the plan or pack.

Other platforms

## Communities on 2 more platforms.

- [Facebook Group API](https://socialtap.dev/apis/facebook/group/index.md) (1 credit · `GET /v1/facebook/group`)
- [X (Twitter) Community API](https://socialtap.dev/apis/x/community/index.md) (1 credit · `GET /v1/x/community`)

More Reddit

## Reddit API. 13 endpoints, one key.

- [Reddit Post API](https://socialtap.dev/apis/reddit/post/index.md) (1 credit · `GET /v1/reddit/post`)
- [Reddit Search API](https://socialtap.dev/apis/reddit/search_posts/index.md) (1 credit / page · `GET /v1/reddit/search_posts`)
- [Reddit User Posts API](https://socialtap.dev/apis/reddit/posts/index.md) (1 credit / page · `GET /v1/reddit/posts`)
- [Reddit Subreddit Posts API](https://socialtap.dev/apis/reddit/subreddit_posts/index.md) (1 credit / page · `GET /v1/reddit/subreddit_posts`)
- [Reddit Profile API](https://socialtap.dev/apis/reddit/profile/index.md) (1 credit · `GET /v1/reddit/profile`)
- [Reddit User Search API](https://socialtap.dev/apis/reddit/search_profiles/index.md) (1 credit / page · `GET /v1/reddit/search_profiles`)
- [Reddit Comments API](https://socialtap.dev/apis/reddit/comments/index.md) (1 credit / page · `GET /v1/reddit/comments`)
- [Reddit User Comments API](https://socialtap.dev/apis/reddit/profile_comments/index.md) (1 credit / page · `GET /v1/reddit/profile_comments`)
- [Reddit Comment Search API](https://socialtap.dev/apis/reddit/search_comments/index.md) (1 credit / page · `GET /v1/reddit/search_comments`)
- [Reddit Video Transcript API](https://socialtap.dev/apis/reddit/transcript/index.md) (From 1 credit · `GET /v1/reddit/transcript`)
- [Reddit Engagement API](https://socialtap.dev/apis/reddit/engagement/index.md) (1 credit · `GET /v1/reddit/engagement`)
- [Reddit Subreddit Search API](https://socialtap.dev/apis/reddit/search_subreddits/index.md) (1 credit / page · `GET /v1/reddit/search_subreddits`)

## Try it on a link you already have.

Paste it in the playground, or copy the request into your code.

100free credits

- No credit card
- Failed requests are free
- Works on all 218 endpoints

[Start for free](https://socialtap.dev/signup/) [Read the docs](https://socialtap.dev/docs/index.md)

---

[HTML version](https://socialtap.dev/apis/reddit/subreddit/) · [Docs index for AI agents](https://socialtap.dev/llms.txt) · [All docs in one file](https://socialtap.dev/llms-full.txt)
