Reddit Subreddits V2 — Info, Rules, Wiki, Leaderboard (16) avatar

Reddit Subreddits V2 — Info, Rules, Wiki, Leaderboard (16)

Pricing

from $1.99 / 1,000 results

Go to Apify Store
Reddit Subreddits V2 — Info, Rules, Wiki, Leaderboard (16)

Reddit Subreddits V2 — Info, Rules, Wiki, Leaderboard (16)

Full subreddit toolkit: ID, rules, access info, type, channels, flairs, emojis, style/widgets, highlights, status, wiki + 5 bearer ops (access eligibility, settings, post requirements, top posters, top commenters).

Pricing

from $1.99 / 1,000 results

Rating

5.0

(3)

Developer

Red Crawler

Red Crawler

Maintained by Community

Actor stats

1

Bookmarked

8

Total users

1

Monthly active users

16 days ago

Last modified

Share

Reddit Subreddits V2

Endpoints Auth Proxy Pricing

Sixteen self-contained subreddit lookups — ID, rules, access state, type / topic, chat channels, flairs, custom emojis, theme & widgets, highlighted posts, status, wiki, plus the 5 bearer-only endpoints that require a signed-in Reddit account (access eligibility, full mod-side settings, post requirements, top-poster leaderboard, top-commenter leaderboard).

The first 11 endpoints are anonymous — no Reddit account, no proxy required. The 5 bearer endpoints reuse a Reddit account you've already saved in the Reddit Vault actor (or you can paste a Token V2 + matching proxy directly).

Pick an endpoint, fill the matching section, hit Start.


What you can fetch

Every endpoint accepts a subreddit in any of these formats — paste whichever you have:

  • bare name — AskReddit
  • prefixed — r/AskReddit
  • subreddit URL — https://www.reddit.com/r/AskReddit
  • old-Reddit URL — https://old.reddit.com/r/AskReddit

Public endpoints (no Reddit account needed)

1. ID — resolve subreddit name to its t5_ ID

The simplest endpoint. Takes a subreddit name and returns Reddit's internal t5_... ID.

Returns: id (t5_...), name, prefixedName (r/...).

Use it when: you need a subreddit ID to seed another endpoint that takes IDs (e.g., the Recommended Media feed in Reddit Feeds V2, or any of Reddit's bulk-by-ID lookups).

Example

Input

{ "endpoint": "id", "id_subreddit": "AskReddit" }

Output (one dataset record)

{
"endpoint": "id",
"type": "id",
"subreddit": "AskReddit",
"success": true,
"subredditInfoByName": { "id": "t5_2qh1i" },
"rate_limit_used": 1,
"rate_limit_remaining": 1799,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

2. Rules — community rules list

Returns the subreddit's published rules — the list shown in the sidebar / community page.

Returns: array of rules, each with priority, name (short name), description, violationReason, kind (link / comment / all), createdAt.

Use it when: moderation tooling, rule-based content classification, building a "before you post" UX, or compliance / content-policy auditing.

Example

Input

{ "endpoint": "rules", "rules_subreddit": "AskReddit" }

Output (truncated)

{
"endpoint": "rules",
"type": "rules",
"subreddit": "AskReddit",
"success": true,
"subredditInfoByName": {
"siteRules": [
{ "ruleText": "Spam" },
{ "ruleText": "Personal and confidential information" },
{ "ruleText": "Threatening, harassing, or inciting violence" }
],
"rules": [
{
"name": "Rule 1 - Questions must be clear and direct and may not use the body textbox",
"content": { "html": "<ul><li>All questions must be clear, written in English...</li></ul>" }
}
]
},
"rate_limit_used": 2,
"rate_limit_remaining": 1798,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

3. Access Info — public / restricted / private + age gate

Tells you whether the subreddit is public, restricted, or private — and whether content is age-gated (NSFW).

Returns: isContributorRequired (restricted-mode flag), isNsfw (over-18 flag), isQuarantined, subscribersCount, permissions (what an anonymous viewer can do).

Use it when: filtering content collection (skip private / quarantined subs), bulk-checking accessibility before scraping, NSFW-policy enforcement.

Example

Input

{ "endpoint": "access_info", "access_info_subreddit": "AskReddit" }

Output

{
"endpoint": "access_info",
"type": "access_info",
"subreddit": "AskReddit",
"success": true,
"subredditInfoByName": {
"id": "t5_2qh1i",
"type": "PUBLIC",
"name": "AskReddit",
"publicDescriptionText": "r/AskReddit is the place to ask and answer thought-provoking questions.",
"isContributor": false,
"isCommentingRestricted": false,
"isPostingRestricted": true,
"styles": { "icon": "https://styles.redditmedia.com/t5_2qh1i/styles/communityIcon_p6kb2m6b185b1.png?..." }
},
"rate_limit_used": 3,
"rate_limit_remaining": 1797,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

4. Type — community type & topic settings

Returns Reddit's type-classification settings for the subreddit — what kind of community it is, what posts it allows, what topic it's tagged under.

Returns: type (public / restricted / private / employees_only), topic (Reddit's interest-topic tag), allowedPostTypes (text / link / image / video / poll / gallery), language, country, originalContentTagEnabled.

Use it when: community taxonomy, building targeting rules ("only image-allowed gaming subs in EN"), audience research.

Example

Input

{ "endpoint": "type", "type_subreddit": "AskReddit" }

Output

{
"endpoint": "type",
"type": "type",
"subreddit": "AskReddit",
"success": true,
"subredditInfoByName": {
"isNsfw": false,
"type": "PUBLIC",
"isCommentingRestricted": false,
"isPostingRestricted": true,
"isContributorRequestsDisabled": false
},
"rate_limit_used": 4,
"rate_limit_remaining": 1796,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

5. Channels — chat channels enabled flag

Returns whether the subreddit has Reddit chat channels enabled.

Returns: chatChannelsEnabled flag plus channel metadata if any.

Use it when: mapping which subreddits have an active Reddit Chat surface, community-engagement audits.

Example

Input

{ "endpoint": "channels", "channels_subreddit": "AskReddit" }

Output

{
"endpoint": "channels",
"type": "channels",
"subreddit": "AskReddit",
"success": true,
"subredditInfoByName": {
"isSubredditChannelsEnabled": { "isChatEnabled": true, "isPostEnabled": false }
},
"rate_limit_used": 5,
"rate_limit_remaining": 1795,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

6. Flairs — post flairs OR user flairs (you pick)

Returns the list of flair templates the subreddit has configured. Pick one of the two flair types using the Flair type dropdown:

  • Post flairs (default) — the tags applied to posts (e.g. "Serious Replies Only", "Mod Announcement"). Returned under postFlairTemplates.
  • User flairs — the tags shown next to each member's name in the subreddit. Returned under userFlairTemplates.

Inputs

FieldNotes
SubredditSubreddit name, r/name, or URL.
Flair typePost flairs (default) or User flairs.

Returns (Post flairs) — array of post-flair templates, each with id, type (richtext / text), text, textColor, backgroundColor, richtext (raw richtext JSON), isEditable, isModOnly, maxEmojis, allowableContent.

Returns (User flairs)userFlairTemplates.edges[] — each node is a user-flair template with the same field shape as post flairs (id, text, textColor, backgroundColor, richtext, etc.) plus userFlairTemplates.pageInfo for cursor-paginated continuation. Also includes flairPromptSettings.

Use it when: flair-aware scraping (filter posts by flair), building a flair picker for a posting actor, content classification using subreddit-defined tags, mirroring a community's user-flair palette.

Example — Post flairs

Input

{ "endpoint": "flairs", "flairs_subreddit": "AskReddit", "flairs_type": "post_flairs" }

Output (truncated to first 1 template)

{
"endpoint": "flairs",
"type": "flairs",
"subreddit": "AskReddit",
"success": true,
"subredditInfoByName": {
"postFlairTemplates": [
{
"id": "54ea6bda-dcf0-11e2-9548-12313b0c8c59",
"type": "richtext",
"text": "Serious Replies Only",
"textColor": "LIGHT",
"richtext": "[{\"e\":\"text\",\"t\":\"Serious Replies Only\"}]",
"backgroundColor": "#99C160",
"isEditable": false,
"isModOnly": false,
"maxEmojis": 10,
"allowableContent": "ALL"
}
]
},
"rate_limit_used": 6,
"rate_limit_remaining": 1794,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

Example — User flairs

Input

{ "endpoint": "flairs", "flairs_subreddit": "AskReddit", "flairs_type": "user_flairs" }

Output (subs without user-flair templates return an empty edges list; subs that have them populate it)

{
"endpoint": "flairs",
"type": "flairs",
"subreddit": "AskReddit",
"success": true,
"subredditInfoByName": {
"userFlairTemplates": {
"edges": [],
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": null,
"endCursor": null
}
},
"flairPromptSettings": null
},
"rate_limit_used": 7,
"rate_limit_remaining": 1793,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

7. Emojis — custom emoji list (snoomoji + community)

Returns the subreddit's custom emoji set — the community-uploaded emojis used in flairs and comments.

Returns: array of emojis, each with name, url (image URL), mod-only flag, userFlairAllowed flag, postFlairAllowed flag, createdAt.

Use it when: rendering subreddit content with proper emoji assets, building emoji catalogs for a UI, monitoring custom-emoji adoption.

Example

Input

{ "endpoint": "emojis", "emojis_subreddit": "AskReddit" }

Output (truncated to first 2 emojis)

{
"endpoint": "emojis",
"type": "emojis",
"subreddit": "AskReddit",
"success": true,
"subredditInfoByName": {
"id": "t5_2qh1i",
"emojis": {
"edges": [
{
"node": {
"name": "Martha",
"url": "https://emoji.redditmedia.com/6ufqrbuw8m201_t5_2qh1i/Martha",
"flairPermission": "ALL",
"isModOnly": false,
"createdByInfo": { "id": "t2_9yfak" }
}
},
{
"node": {
"name": "Steve",
"url": "https://emoji.redditmedia.com/nszan0tz8m201_t5_2qh1i/Steve",
"flairPermission": "ALL",
"isModOnly": false,
"createdByInfo": { "id": "t2_9yfak" }
}
}
]
}
},
"rate_limit_used": 7,
"rate_limit_remaining": 1793,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

8. Style & Widgets — colors, banners, sidebar widgets

The full visual identity payload — theme colors, banner / icon imagery, and the sidebar widgets Reddit shows on the community page (rules block, mod list, custom widgets, calendar, button widgets, image widgets, etc.).

Returns: style (banner image, icon, mobile banner, primary color, banner background color), plus widgets (id-keyed map of every widget on the sidebar with its kind and content).

Use it when: asset extraction, building a community-aware UI, embedding subreddit branding in a downstream app, design-research / community-aesthetics analysis.

Example

Input

{ "endpoint": "style", "style_subreddit": "AskReddit" }

Output (truncated — full payload includes every sidebar widget)

{
"endpoint": "style",
"type": "style",
"subreddit": "AskReddit",
"success": true,
"subredditInfoByName": {
"id": "t5_2qh1i",
"styles": {
"primaryColor": "#646D73",
"bannerBackgroundImage": "https://styles.redditmedia.com/t5_2qh1i/styles/bannerBackgroundImage_fs33xogq946f1.png",
"icon": "https://styles.redditmedia.com/t5_2qh1i/styles/communityIcon_p6kb2m6b185b1.png?..."
},
"widgets": {
"items": { "...id-keyed map of every sidebar widget...": "..." },
"layout": { "sidebar": { "order": ["widget_id_1", "widget_id_2"] } }
},
"moderatorsInfo": { "...": "..." },
"rules": [ "...": "..." ]
},
"rate_limit_used": 8,
"rate_limit_remaining": 1792,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

9. Highlights — highlighted posts on community page

Returns the posts the subreddit's mods have highlighted / pinned to the community page (the "Pinned" section at the top).

Returns: array of post records — same field shape as Reddit Feeds V2 (id, postTitle, score, commentCount, createdAt, url, flair, etc.).

Note: Many subreddits have no highlighted posts. An empty list is the normal result when the mods haven't pinned anything.

Use it when: featured-content discovery, finding the rules / mod-announcement pinned posts, monitoring community campaigns.

Example

Input

{ "endpoint": "highlights", "highlights_subreddit": "Wordpress" }

Output (one record per call; highlightedPosts is an array, first entry shown)

{
"endpoint": "highlights",
"type": "highlights",
"subreddit": "Wordpress",
"subreddit_id": "t5_2rcsg",
"success": true,
"subredditInfoById": {
"id": "t5_2rcsg",
"name": "Wordpress",
"highlightedPosts": [
{
"label": "ANNOUNCEMENT",
"expiresAt": null,
"post": {
"id": "t3_1r80vkz",
"title": "Monthly AMA - Suggestions wanted!",
"commentCount": 12,
"createdAt": "2026-02-18T11:48:13.247000+0000",
"content": { "markdown": "We're launching a monthly AMA series featuring people from across the WordPress ecosystem..." }
}
}
]
},
"rate_limit_used": 9,
"rate_limit_remaining": 1791,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

10. Status — community status flags

Returns the lifecycle / visibility state of the subreddit — whether it is currently active, archived, locked, deleted, banned, or quarantined.

Returns: isActive, isArchived, isLocked, isDeleted, isBanned, isQuarantined, plus the human-readable reason / message Reddit displays for unavailable communities.

Use it when: screening dead / banned / archived subs out of a target list before launching a scrape, monitoring health of communities you depend on, dashboards that show which subs went down.

Example

Input

{ "endpoint": "status", "status_subreddit": "AskReddit" }

Output

{
"endpoint": "status",
"type": "status",
"subreddit": "AskReddit",
"subreddit_id": "t5_2qh1i",
"success": true,
"subredditInfoById": {
"name": "AskReddit",
"communityStatus": {
"description": { "markdown": "​Credit" },
"emoji": {
"name": "donkey_right",
"url": "https://emoji.redditmedia.com/5atpv9pyenjf1_t5_2qh1i/donkey_right"
}
}
},
"rate_limit_used": 10,
"rate_limit_remaining": 1790,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

11. Wiki — wiki page content

Reads the markdown content of any wiki page on the subreddit. Defaults to the wiki index, but you can pick from a dropdown of the most common pages.

Inputs:

  • Subreddit — same input as everywhere else
  • Wiki page — one of index (default), config/sidebar, config/description, config/submit_text, faq, rules, wiki

Returns: content (the page's markdown body), revisionDate, revisionAuthor, mayRevise (whether the current viewer can edit — always false for anonymous reads), pageName.

Use it when: scraping FAQ / sidebar / rules-as-prose, archiving wiki history, building a chat-bot grounded on a community's wiki.

Note on wiki vs index: these are usually the same page. index is the canonical name; wiki is what some communities use as the entry point.

Example

Input

{ "endpoint": "wiki", "wiki_subreddit": "AskReddit", "wiki_page": "index" }

Output (truncated — pageTree lists every wiki page in the subreddit)

{
"endpoint": "wiki",
"type": "wiki",
"subreddit": "AskReddit",
"page": "index",
"success": true,
"subredditInfoByName": {
"id": "t5_2qh1i",
"name": "AskReddit",
"isSubscribed": false,
"wiki": {
"index": {
"status": "VALID",
"pageTree": [
{ "name": "bestof", "path": "bestof", "depth": 0, "isPagePresent": true },
{ "name": "commonquestions", "path": "commonquestions", "depth": 0, "isPagePresent": true },
{ "name": "description", "path": "config/description", "depth": 1, "isPagePresent": true, "parent": "config" }
]
}
},
"styles": { "icon": "https://styles.redditmedia.com/t5_2qh1i/styles/communityIcon_p6kb2m6b185b1.png?..." }
},
"rate_limit_used": 11,
"rate_limit_remaining": 1789,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

Bearer-required endpoints (need a Reddit account)

These five endpoints require authentication. Fill the Reddit credentials section at the bottom of the input form (see Credentials below).

12. Access Eligibility — gating + age / quarantine state

Reddit's per-user access-gate check: tells you, for the signed-in user, whether they can access this subreddit and what gate (age verification, quarantine ack, NSFW opt-in, contributor requirement) is currently blocking them.

Returns: eligibility (allowed / blocked), gate (e.g. age_verification, quarantined, nsfw_opt_in, contributors_only), acknowledgmentRequired, messageHtml (the modal text Reddit would show the user).

Use it when: building a sign-in / browse flow that has to handle the same gates Reddit applies to signed-in users; pre-checking before a scraper authenticated as a user tries to read content; dashboards that surface "this account can / can't reach sub X".

Example

Input (using a vault account)

{
"endpoint": "access_eligibility",
"access_eligibility_subreddit": "AskReddit",
"credentialSource": "vault",
"accountName": "main"
}

Output

{
"endpoint": "access_eligibility",
"type": "access_eligibility",
"subreddit": "AskReddit",
"success": true,
"subredditInfoByName": {
"type": "PUBLIC",
"isContributor": false,
"isCommentingRestricted": false,
"isPostingRestricted": true,
"lastContributorRequestTimeAt": null,
"modPermissions": null
},
"rate_limit_used": 12,
"rate_limit_remaining": 1788,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

13. Settings — full mod-side settings

Returns the full Settings payload Reddit returns to a user with mod permissions on the subreddit — the exact fields the mod tools page edits. Many fields are also visible to non-mods (read-only); a non-mod call still returns the public subset.

Returns: name, description, publicDescription, submitText, submitTextLabel, submitLinkLabel, language, country, subredditType, wikiEditMode, wikiEditAge, wikiEditKarma, spoilerEnabled, allOriginalContent, originalContentTagEnabled, welcomeMessageEnabled, welcomeMessageText, plus content-control flags (isCommentScoreHideMinsEnabled, commentScoreHideMins, suggestedCommentSort, etc.).

Use it when: building mod tooling, exporting / migrating a community config, snapshot-diffing your settings over time, auditing a subreddit you own.

Example

Input

{
"endpoint": "settings",
"settings_subreddit": "AskReddit",
"credentialSource": "vault",
"accountName": "main"
}

Output (public-visible subset shown — moderators of the sub see more fields)

{
"endpoint": "settings",
"type": "settings",
"subreddit": "AskReddit",
"subreddit_id": "t5_2qh1i",
"success": true,
"subredditInfoById": {
"id": "t5_2qh1i",
"isTopListingAllowed": true,
"isDiscoveryAllowed": true,
"language": "es",
"allAllowedPostTypes": ["TEXT", "SPOILER"],
"isArchivePostsEnabled": true,
"postFlairSettings": { "isEnabled": true, "isSelfAssignable": false },
"authorFlairSettings":{ "isEnabled": false, "isSelfAssignable": false },
"isSubredditChannelsEnabled": { "isChatEnabled": true, "isPostEnabled": false },
"amaSettings": { "postPermissions": "OFF" },
"videoInCommentSettings": { "commentPermissions": "MODS" },
"commentContributionSettings": { "allowedMediaTypes": ["VIDEO"] },
"countrySiteSettings": {
"countryCode": "",
"languageCode": "en",
"isCountrySiteEditable": true,
"modMigrationAt": "2022-06-15T22:34:00.000000+0000"
}
},
"rate_limit_used": 13,
"rate_limit_remaining": 1787,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

14. Post Requirements — title / body rules + allowed types

Returns the per-subreddit posting rules Reddit enforces server-side — what title length is allowed, which body types (text / link / image / video) are accepted, whether flair is required, banned domains, banned words, repost windows.

Returns: titleRequired, titleBlacklistedRegex, titleRegex, bodyRequired, bodyBlacklistedRegex, bodyRegex, bodyRestrictionPolicy, bodyTextMinLength, bodyTextMaxLength, linkRequired, linkRestrictionPolicy, domainBlacklist, domainWhitelist, flairRequired, repostAge, linkRepostProtection, imageRepostProtection.

Use it when: validating user-supplied post content before you submit through any of the posting actors (saves you a failed submission), building a "post-prep" UI, audit-trailing why a community auto-removes posts.

Example

Input

{
"endpoint": "post_requirements",
"post_requirements_subreddit": "AskReddit",
"credentialSource": "vault",
"accountName": "main"
}

Output

{
"endpoint": "post_requirements",
"type": "post_requirements",
"subreddit": "AskReddit",
"subreddit_id": "t5_2qh1i",
"success": true,
"subredditInfoById": {
"postRequirements": {
"titleTextMinLength": 12,
"titleTextMaxLength": null,
"titleRequiredStrings": [],
"titleBlacklistedStrings": [],
"titleRegexes": [],
"bodyRestrictionPolicy": "NOT_ALLOWED",
"bodyRequiredStrings": [],
"bodyBlacklistedStrings": [],
"bodyRegexes": [],
"domainBlacklist": [],
"domainWhitelist": [],
"isFlairRequired": false,
"galleryCaptionsRequirement": "NONE",
"galleryUrlsRequirement": "NONE",
"galleryMinItems": null,
"galleryMaxItems": null,
"guidelinesText": "Welcome to r/AskReddit! This subreddit is for open-ended, discussion based questions..."
}
},
"rate_limit_used": 14,
"rate_limit_remaining": 1786,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

15. Top Posters — community leaderboard, top posters

Returns Reddit's official "Top Contributors → Posters" leaderboard for the community. Reddit splits these contributors into tiers (gold / silver / bronze plus an honorable-mentions tail).

Inputs (optional):

  • Max users1 to 1000 (default 100). Higher values fetch more contributors and take proportionally longer to run.

Returns: tiers (top tier blocks with their slot caps and contributors), users (flat list of all returned contributors with username, avatar, score, rank, tierName), count, has_more.

Use it when: finding the most active posters in a community, sourcing power-users for outreach, ranking communities by contributor concentration.

Example

Input

{
"endpoint": "leaderboard_posters",
"leaderboard_posters_subreddit": "wallstreetbets",
"leaderboard_posters_max_users": 5,
"credentialSource": "vault",
"accountName": "main"
}

Output (one record per call; users is the full ranked list)

{
"endpoint": "leaderboard_posters",
"type": "leaderboard_posters",
"subreddit": "wallstreetbets",
"category_id": "top_posters",
"categoryId": "top_posters",
"success": true,
"category": {
"id": "top_posters",
"name": "Top Posters",
"description": "Based on votes counted for the month.",
"updateInterval": "Rankings updated daily",
"lastUpdated": "Last updated: 3 hours ago"
},
"tiers": [
{ "title": "Top 1% Poster", "icon": "https://i.redd.it/gqujlodqi3yd1.png", "scoreLabel": "Upvotes" }
],
"users": [
{ "rank": "1", "username": "u/[deleted]", "userId": null, "isDeleted": true, "score": "38,882", "scoreChange": "+5,279", "tier": "Top 1% Poster", "icon": "https://i.redd.it/3eg7kwpjdtae1.png" },
{ "rank": "2", "username": "Front-Ad3508", "userId": "t2_85ob0rev", "isDeleted": false, "score": "17,225", "scoreChange": "+142", "tier": "Top 1% Poster", "icon": "https://styles.redditmedia.com/t5_407t9d/styles/profileIcon_snoo...png" },
{ "rank": "3", "username": "Anonymous", "userId": "t2_2ae29cdzxq", "isDeleted": false, "score": "16,660", "scoreChange": "+11", "tier": "Top 1% Poster", "icon": null },
{ "rank": "4", "username": "fack-the-suits", "userId": "t2_2ba50etna8", "isDeleted": false, "score": "12,162", "scoreChange": "+1", "tier": "Top 1% Poster", "icon": "https://www.redditstatic.com/avatars/defaults/v2/avatar_default_0.png" },
{ "rank": "5", "username": "uncle-ice493", "userId": "t2_26qjuvtvt9", "isDeleted": false, "score": "11,583", "scoreChange": null, "tier": "Top 1% Poster", "icon": "https://www.redditstatic.com/avatars/defaults/v2/avatar_default_2.png" }
],
"count": 5,
"rate_limit_used": 15,
"rate_limit_remaining": 1785,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

16. Top Commenters — community leaderboard, top commenters

Same payload shape as Top Posters but for the commenters leaderboard.

Inputs (optional):

  • Max users1 to 1000 (default 100).

Returns: identical to Top Posters but ranking is by comment activity.

Use it when: finding most active commenters for engagement / community-management work, analyzing whether a sub's culture is post-driven or discussion-driven.

Example

Input

{
"endpoint": "leaderboard_commenters",
"leaderboard_commenters_subreddit": "wallstreetbets",
"leaderboard_commenters_max_users": 5,
"credentialSource": "vault",
"accountName": "main"
}

Output (one record per call)

{
"endpoint": "leaderboard_commenters",
"type": "leaderboard_commenters",
"subreddit": "wallstreetbets",
"category_id": "top_commenters",
"categoryId": "top_commenters",
"success": true,
"category": {
"id": "top_commenters",
"name": "Top Commenters",
"description": "Based on votes counted for the month.",
"updateInterval": "Rankings updated daily",
"lastUpdated": "Last updated: 3 hours ago"
},
"tiers": [
{ "title": "Top 1% Commenter", "icon": "https://i.redd.it/qwkcwa2zi3yd1.png", "scoreLabel": "Upvotes" }
],
"users": [
{ "rank": "1", "username": "CommentBig3066", "userId": "t2_acgxqmdk0", "isDeleted": false, "score": "12,301", "scoreChange": "+31", "tier": "Top 1% Commenter" },
{ "rank": "2", "username": "Top_Category_2526", "userId": "t2_7p5ja9v4", "isDeleted": false, "score": "12,129", "scoreChange": "+1,424", "tier": "Top 1% Commenter" },
{ "rank": "3", "username": "chuggin_ballz", "userId": "t2_23n9kn2qfp","isDeleted": false, "score": "9,415", "scoreChange": "+127", "tier": "Top 1% Commenter" },
{ "rank": "4", "username": "Totallycomputername", "userId": "t2_nwes3tft8", "isDeleted": false, "score": "6,261", "scoreChange": "+1,413", "tier": "Top 1% Commenter" },
{ "rank": "5", "username": "...", "userId": "...", "isDeleted": false, "score": "...", "scoreChange": "...", "tier": "Top 1% Commenter" }
],
"count": 5,
"rate_limit_used": 16,
"rate_limit_remaining": 1784,
"rate_limit_reset_at": "2026-05-13T16:50:00Z"
}

Credentials

The 5 bearer-required endpoints (Access Eligibility, Settings, Post Requirements, Top Posters, Top Commenters) need a Reddit Token V2 cookie + the proxy that minted it. The first 11 endpoints ignore credentials entirely — leave the section blank for those.

Credential lifetime

CredentialLifetimeWhen to refresh
Token V2 (token_v2 cookie)~24 hoursDaily — or save it once in the Reddit Vault and let the vault auto-refresh.

How to extract Token V2 from your browser: open Reddit in Chrome / Brave / Edge / Firefox, then DevTools → Application → Cookies → https://www.reddit.com. Filter by token_v2 and copy the Value column.

Token V2 cookie in DevTools

You have two options:

  1. Run the Reddit Vault actor once to store a Reddit account under a name you choose (e.g. main, mod-account, burner1). The vault encrypts the Token V2 + matching proxy and stores them keyed by name.
  2. In this actor, set Credential source = Use saved account (vault) and put the same name in Saved account name.
  3. Done — Token V2 + proxy load automatically. Refresh the vault entry whenever the Token V2 expires (~24 h lifetime).

Option B — Paste Token V2 + proxy directly

For one-off runs without setting up the vault:

  1. Set Credential source = Paste Token V2 + proxy.
  2. Paste your Reddit token_v2 cookie value (eyJ...) into Token V2.
  3. Paste the matching proxy in ip:port:user:pass format into Proxy.

Critical: Reddit IP-binds Token V2 cookies. The proxy MUST be the exact same IP that originally minted the Token V2 — otherwise Reddit returns 401 on every bearer call. Both fields are stored encrypted by Apify.


How to run

  1. Pick an endpoint in the "What to fetch" dropdown at the top.
  2. Open the matching section below it and fill the subreddit (and any extra fields, like Wiki page name or leaderboard Max users).
  3. If your endpoint is bearer-required (12–16), fill the Reddit credentials section at the bottom.
  4. Click Start.

Each endpoint section is independent — fields outside your chosen section are ignored, so you can leave them as-is between runs. Default subreddit is AskReddit and the default endpoint is Rules, so the actor runs out of the box.


Output

Results are pushed to the actor's default dataset. View them as a table or download as JSON / CSV / Excel / XML.

  • ID / Access Info / Type / Channels / Style & Widgets / Status / Wiki / Access Eligibility / Settings / Post Requirements push one record per run.
  • Rules / Flairs / Emojis push one record per item (one row per rule, flair, emoji).
  • Highlights pushes one record per highlighted post.
  • Top Posters / Top Commenters push one record containing the full leaderboard payload (tiers, users, count, has_more).

The most useful columns are placed first (endpoint, subreddit, subreddit_id, id, name, etc.) so the dataset Table view is readable without horizontal scrolling.


Common edge cases

  • Subreddit doesn't exist / banned — Reddit returns no data; the actor pushes an error record. The Status endpoint surfaces the isBanned / isDeleted flags explicitly.
  • Private subreddits — anonymous lookups can't see content of private subs. Access Info will tell you isContributorRequired = true; most other public endpoints will be empty. Bearer endpoints work if your account is an approved contributor.
  • Quarantined subreddits — usually accessible read-only; Access Info / Status surface the isQuarantined flag, and Access Eligibility (bearer) tells you if your account has acknowledged the quarantine.
  • Empty wiki pages — many subreddits have no wiki; the call returns empty content. This is normal.
  • No flairs / emojis / highlights — some subreddits configure none of these. An empty list is the expected response, not a failure.
  • Bearer expired — Reddit Token V2 cookies live ~24 h. If you get an error_kind: bearer_expired response, refresh the Token V2 in your vault entry (or paste a fresh one in manual mode) and re-run.
  • Settings on a sub you don't moderate — call still succeeds but returns only the public-visible subset (name, description, language, country, etc.); mod-only fields are absent.
  • Subreddit name with mixed case — Reddit is case-insensitive on subreddit names, but for cleanliness the actor uses whatever you paste. Both AskReddit and askreddit work.

Why this actor is fast

  • Speed — 1–3 seconds per call, end-to-end (single-page leaderboards 2–4 s; full 1000-user leaderboards 10–20 s for the largest communities). Pure HTTP to Reddit's API. No browser to boot, no Playwright / Selenium / Puppeteer overhead. Competing browser-based scrapers typically take 15–60 seconds per call.
  • Reliability — zero browser flakiness. No headless-Chromium crashes. No JS-render timeouts. No captcha pages. No surprise mid-run failures from a browser quirk.
  • Footprint — under 100 MB RAM per run. Most browser-based scrapers need 1–4 GB. Just paste your inputs and run — sign-in (where needed) and run reliability are handled for you behind the scenes.

Status & error reference

Run status (Apify-side, shown on the run page)

StatusApify messageMeaningWhat to do
Succeeded"Actor succeeded with N results in the dataset"Run finished. Some or zero records pushed.Open the dataset to view results.
Failed"The Actor process failed…"Validation error or upstream Reddit fault.Check the run log. You are NOT charged for failed runs.
Timed out"The Actor timed out. You can resurrect it with a longer timeout to continue where you left off."Run exceeded its timeout.Re-run with a smaller limit or fewer inputs.
Aborted"The Actor process was aborted. You can resurrect it to continue where you left off."You stopped the run manually.No charge for unpushed results.

Common in-run conditions (visible in run log)

ConditionCauseResult
Empty result setSubreddit has no matching data for the chosen endpoint.Run SUCCEEDED, 0 records, no charge.
Private / quarantined subredditReddit hides these from anonymous reads.Run SUCCEEDED, those rows skipped.
Banned subredditSubreddit has been banned by Reddit.Run SUCCEEDED, 0 records for that input.
Validation error: missing subredditRequired input not provided.Run FAILED immediately, no charge.

Pricing

Pay-per-result. You're only charged for records actually pushed to the dataset — failed runs cost nothing.

EventTriggerPrice (per 1,000)
resultEach subreddit / rule / flair / emoji / widget / leaderboard record pushed to the dataset$1.99

Need a different shape of data?

  • Reddit Feeds V2 — subreddit feeds (the actual posts, not the metadata)
  • Reddit Search V2 — search Reddit by query (posts, comments, communities, users)
  • Reddit Scraper V2 — single-post + comments and 10 other single-record lookups
  • Reddit Users V2 — single-user lookups (profile, trophies, posts, comments)
  • Reddit Bulk Scrape V2 — bulk subreddit lookups (up to 1500 subreddit IDs per run via subreddit_info_by_ids mode)
  • Reddit Vault — store a Reddit account once and reuse it across actors
  • Reddit Subreddits — moderation-side V1 companion: create, join / leave, post requirements, list your subscriptions

Support and feedback

Found a bug, want a feature, or hit a Reddit error code we don't translate clearly? Open an issue via the actor's Apify Console feedback link, or reach out at the RedCrawler support channel.


Reddit Subreddits V2 is part of the RedCrawler family of Reddit actors. RedCrawler is independent — not affiliated with, endorsed by, or sponsored by Reddit, Inc. Use it within Reddit's API terms.