# Reddit Subreddit Details Scraper - Community Info and Rules (`thenetaji/reddit-subreddit-details-scraper`) Actor

Reads a subreddit's public record by name and saves a single row: its id, display name, description, creation date, weekly activity figures, and the full numbered rules list with each rule's expanded text. Reddit publishes no subscriber total without an account, so none is reported.

- **URL**: https://apify.com/thenetaji/reddit-subreddit-details-scraper.md
- **Developed by:** [The Netaji](https://apify.com/thenetaji) (community)
- **Categories:** Social media, Marketing, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.80 / 1,000 results

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Reddit Subreddit Details Scraper

The Actor reads a subreddit's public record by name and saves a single structured row: the
community's id, display name, description, creation date, weekly activity figures, and its full
numbered rules list with each rule's expanded text. One run describes one community. No Reddit
account, application, or API credential is involved.

### Accepted input

| Field | Required | Default | Notes |
| --- | --- | --- | --- |
| `subreddit` | yes | — | A bare name (`technology`), a prefixed name (`r/technology`), or a copied reddit.com link. A link is reduced to the community it names. |

```json
{
  "subreddit": "r/technology"
}
```

### Response fields

The saved record carries `id`, `fullname`, `name`, `display_name`, `prefixed_name`, `url`,
`description`, `weekly_active_users`, `weekly_contributions`, `created_at`, and `rules`.

```json
{
  "id": "2qh16",
  "fullname": "t5_2qh16",
  "name": "technology",
  "display_name": "/r/Technology",
  "prefixed_name": "r/technology",
  "url": "https://www.reddit.com/r/technology/",
  "description": "Subreddit dedicated to the news and discussions about the creation and use of technology.",
  "weekly_active_users": 4305645,
  "weekly_contributions": 3184,
  "created_at": "2008-01-25T00:00:00.000Z",
  "rules": [
    {
      "number": 1,
      "title": "Submissions must be about technology",
      "description": "Submissions must be primarily news and developments relating to technology."
    }
  ]
}
```

`name` is the community's name as it appears in an address, and `display_name` is the same name as
its moderators capitalise it, which is not always identical. `rules` is a list rather than a count:
each entry carries the rule's number, its title, and the full body text Reddit shows when the rule
is expanded, which is where the substance of a rule normally is.

### There is no subscriber count, and none is invented

`weekly_active_users` is an activity figure and it is not the community's membership. It comes back
far above member totals — a community whose membership is in the millions can report an activity
figure in the millions too, and the two numbers are not the same measurement. Reddit does not expose
a member total on any surface reachable without an account, so this Actor publishes none rather than
renaming activity into membership. A `subscribers` column filled from this figure would answer the
question wrongly and nobody downstream would find out.

`weekly_contributions` is the number of posts and comments Reddit reports in the community over the
past week, and is a genuine activity figure in the same family.

### Failures and partial results

A subreddit value that cannot be reduced to a community name is rejected before any request is made,
with a message naming what was received. A community that does not exist ends the run cleanly with
nothing saved rather than failing: the source does not distinguish an unknown name from an empty
answer, so reporting a failure would be a claim the run cannot support.

Fields absent from the source are returned as `null` rather than omitted, so the column set is the
same in every record, and `rules` is an empty list for a community that publishes none.

### Cost

Charging is per community record saved to the dataset, plus the platform's one-off Actor start
event. One run saves one row, and the rate reflects a whole run's work going into that row. A run
that saves nothing is charged for nothing beyond the start event.

Reading many communities means many runs. There is no batch input here, deliberately: a run reads
one community and the run either produced that community's record or it did not, which is a
distinction a batch would blur.

### Related Actors

- **Reddit Subreddit Feed Scraper** — the community's posts, in a chosen order, paged and resumable.
- **Reddit Keyword Search Scraper** — searching the `communities` corpus, for finding communities by
  subject rather than describing one already known by name.
- **Reddit Scraper - All In One** — the same read alongside the other eight, chosen at run time.

### Support

Questions, bug reports, and requests for a field that is not here yet: thenetaji@proton.me.

# Actor input Schema

## `subreddit` (type: `string`):

The subreddit to read. A bare name (AskReddit), a prefixed name (r/AskReddit), or a pasted reddit.com URL are all accepted; a URL is reduced to the subreddit it names, and any sort or time in that URL is ignored in favour of the fields below.

## Actor input object example

```json
{
  "subreddit": "AskReddit"
}
```

# Actor output Schema

## `dataset` (type: `string`):

All records scraped by this run

# 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 = {
    "subreddit": "AskReddit"
};

// Run the Actor and wait for it to finish
const run = await client.actor("thenetaji/reddit-subreddit-details-scraper").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 = { "subreddit": "AskReddit" }

# Run the Actor and wait for it to finish
run = client.actor("thenetaji/reddit-subreddit-details-scraper").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 '{
  "subreddit": "AskReddit"
}' |
apify call thenetaji/reddit-subreddit-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,thenetaji/reddit-subreddit-details-scraper"
        }
    }
}

```

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/lcnQUuFw60PjRlBON/builds/en35mwJEy8SLOQY8e/openapi.json
