# Reddit user active subreddits API

The Reddit user active subreddits API returns the communities a Reddit user is active in by username: each one's name, members and icon, all in one page (215 of them were recorded for one account). One call costs 2 credits ($0.004 to $0.0067 depending on the pack); failed calls are free. Call it over HTTP or from your AI client over MCP. Last tested 2026-10-17.

- Page: https://socialtoai.com/reddit-user-subreddits-api/
- Last updated: 2026-10-17
- Last tested: 2026-10-17

| Request | Price key | Credits |
| --- | --- | --- |
| `POST /v1/call/reddit.user_subreddits` | `reddit.user_subreddits` | 2 |

Preview: this interface is not marked stable yet, so its parameters and fields may still change. It is charged like any other call, and a failed call is not charged.

## Request

```bash
curl https://api.socialtoai.com/v1/call/reddit.user_subreddits \
  -H "Authorization: Bearer $SOCIALTOAI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "nasa"
  }'
```

```python
import os
import requests

response = requests.post(
    "https://api.socialtoai.com/v1/call/reddit.user_subreddits",
    headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"},
    json={
        "username": "nasa",
    },
)
print(response.json())
```

## Parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `username` | string | Required | — | Reddit username, without the u/ |

First page only: up to 500 items, with no cursor parameter and no next page.

## Where the values come from

- `username`: Reddit username, without the u/ (e.g. `nasa`)
  No other interface of the platform returns it.

## Response fields

| Field | Type | Meaning | Given |
| --- | --- | --- | --- |
| `items[].title` | string | The entry's title or name. | yes |
| `items[].url` | string | A link that opens it; null where the platform's list has none. | yes |
| `items[].rank` | integer | Position on a board, from 1. | yes |
| `items[].heat` | integer | The platform's heat score. | yes |
| `items[].fields.description` | string | The community's description. | always null: Reddit does not give it |
| `items[].fields.nsfw` | boolean | Whether it is marked as adult content. | yes |
| `items[].fields.created_at` | string | When it was created, ISO 8601 in UTC. | always null: Reddit does not give it |
| `items[].fields.members` | integer | Member count. | yes |

Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. [Response format](https://socialtoai.com/docs/api/response.md)

## Sample response

Sample data: names, links and text are replaced by placeholders; the numbers are as recorded.

```json
{
  "request_id": "req_00000000-0000-4000-8000-000000000001",
  "schema_version": "v1",
  "fetched_at": "2026-10-12T22:12:52.000Z",
  "action": "call",
  "op": "reddit.user_subreddits",
  "platform": "reddit",
  "status": "ok",
  "items": [
    {
      "platform": "reddit",
      "id": "…",
      "ref": "…",
      "approx": [],
      "type": "entry",
      "entry_type": "community",
      "title": "…",
      "url": "https://example.com/…",
      "rank": null,
      "heat": null,
      "fields": {
        "description": null,
        "nsfw": false,
        "created_at": null,
        "members": 37695204
      }
    }
  ],
  "unavailable": ["fields.description", "fields.created_at"],
  "page": {
    "has_more": false
  },
  "warnings": [],
  "applied_params": {
    "username": "nasa"
  },
  "cost_credits": 2,
  "billing": {
    "cost_credits": 2,
    "balance_credits": 98,
    "today_spend_credits": 2,
    "daily_limit_credits": null,
    "daily_remaining_credits": null,
    "display": "This call: 2 credits. Balance: 98 credits."
  },
  "replayed": false
}
```

## Paging and failures

- One call returns the first page only, up to 500 items, with no cursor, for 2 credits.
- A call that runs and finds nothing is a successful call: status is "empty", items is empty, and it costs 2 credits.
- 1 call per second per key, 5 after a purchase; going over is not charged. [Rate limits](https://socialtoai.com/docs/credits-and-billing.md#rate-limits)
- A failed call costs 0 credits and is never retried on its own. [Error codes](https://socialtoai.com/docs/api/errors.md)

## Ask your AI

- Get the communities a Reddit user is active in by username: nasa. → `call {"op":"reddit.user_subreddits","username":"nasa"}`, 2 credits

## More on Reddit

| Interface | What it does | Price key | Credits | Page |
| --- | --- | --- | --- | --- |
| `subreddit` | Get a Reddit community by its name. | `reddit.subreddit` | 2 | https://socialtoai.com/reddit-subreddit-api.md |
| `subreddit_posts` | Get a page of the posts of a Reddit community by its name, hot, newest or top score first. | `reddit.subreddit_posts` | 2 | https://socialtoai.com/reddit-subreddit-posts-api.md |
| `search` | Find posts by keyword: text, author, comment count and publish time. | `reddit.search` | 2 | https://socialtoai.com/reddit-search-api.md |
| `trending` | The posts trending now. | `reddit.trending` | 2 | https://socialtoai.com/reddit-trending-api.md |
| `detail` | One post by ID or link: text, author, comment count and publish time. | `reddit.detail` | 2 | https://socialtoai.com/reddit-detail-api.md |
| `comments` | The comments under one post: text, reply count and time. | `reddit.comments` | 2 | https://socialtoai.com/reddit-comments-api.md |
| `user_profile` | One account: name, bio and post count. | `reddit.user_profile` | 2 | https://socialtoai.com/reddit-user-profile-api.md |
| `user_posts` | The recent posts of one account. | `reddit.user_posts` | 2 | https://socialtoai.com/reddit-user-posts-api.md |

## FAQ

**Do I need a Reddit account or Reddit's own API access?**

No. You only need a SocialToAI key. The call returns content and account information publicly visible on Reddit; you never sign in to Reddit or apply for anything there.

**Can I get the next page?**

No. On Reddit this interface gives its first page only (up to 500 items): the response carries no cursor, and page.has_more is always false.

**What does “Preview” mean here?**

Preview: this interface is not marked stable yet, so its parameters and fields may still change. It is charged like any other call, and a failed call is not charged.
