> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scraperize.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Subreddit details

> Returns a subreddit's public details, by name or URL: its title, description, icon and banner, when it was created, whether it is public or restricted, visitors and contributions in the past week (Reddit no longer shows member counts), what the community calls its members, its status message, bookmarks (wiki, Discord …) and every rule with its description, and whether it is NSFW or quarantined. Pass `subreddit` (e.g. `programming`) or `url`. Only publicly available data is returned.

> [!NOTE]
>
> **Cost: 1 credit** per successful request. Errors and cache hits (`cache_max_age`) are free.

> [accordion] Copy for AI assistant
>
> Paste this into ChatGPT, Claude or your coding assistant to generate working code for this endpoint (use the copy button).
>
> ```text Prompt
> I want to make an API call to /v1/reddit/subreddit/details. Here are the details:
>
> Endpoint: GET https://api.scraperize.com/v1/reddit/subreddit/details
> Description: Returns a subreddit's public details, by name or URL: its title, description, icon and banner, when it was created, whether it is public or restricted, visitors and contributions in the past week (Reddit no longer shows member counts), what the community calls its members, its status message, bookmarks (wiki, Discord …) and every rule with its description, and whether it is NSFW or quarantined. Pass `subreddit` (e.g. `programming`) or `url`. Only publicly available data is returned.
>
> Required Headers:
> - x-api-key: Your API key
>
> Parameters:
> - subreddit (string): The subreddit's name, with or without `r/`. Required unless `url` is given.
> - url (string): The subreddit's URL, e.g. `https://www.reddit.com/r/programming/`. Required unless `subreddit` is given.
> - cache_max_age (select): Optional. Return a cached result if one this age or newer exists — served for **0 credits** with `meta.cached=true` and `meta.cachedAt`. Otherwise a fresh scrape runs (**1 credit**) and refreshes the cache. Omit to always scrape fresh.
>
> Example Response:
> {
>   "data": {
>     "name": "programming",
>     "id": "t5_2fwo",
>     "url": "https://www.reddit.com/r/programming/",
>     "title": "programming",
>     "description": "Computer Programming",
>     "iconUrl": "https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png?width=128&frame=1&auto=webp&s=400b33e7080aa4996c405a96b3872a12f0e3b68d",
>     "bannerUrl": null,
>     "createdAt": "2006-02-28T18:19:29.538Z",
>     "type": "Public",
>     "typeDescription": "Anyone can view, post, and comment to this community",
>     "weeklyVisitors": 215933,
>     "weeklyContributions": 1799,
>     "membersName": null,
>     "onlineName": null,
>     "status": null,
>     "bookmarks": [
>       {
>         "title": "FAQ",
>         "url": "https://www.reddit.com/r/programming/wiki/faq"
>       }
>     ],
>     "rules": [
>       {
>         "number": 1,
>         "title": "No LLM-Written Content",
>         "description": "If you don't want to write it, we don't want to read it. This includes the use of LLMs for translation or summarisation. Moderators reserve discretion in ambigu…"
>       }
>     ],
>     "isNsfw": false,
>     "isQuarantined": false,
>     "fetchedAt": "2026-11-06T12:48:59.559Z"
>   },
>   "meta": {
>     "requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
>     "creditsCharged": 1,
>     "creditsRemaining": 4999,
>     "cached": false
>   }
> }
>
> Please help me write code in my preferred programming language to make this API call and handle the response appropriately. Include error handling and best practices.
> ```


## OpenAPI

````yaml /api-reference/openapi.json get /v1/reddit/subreddit/details
openapi: 3.0.3
info:
  title: Scraperize API
  version: 1.0.0
  description: >-
    Extract public data from social media platforms as clean JSON. Endpoints are
    split by platform and by what they return, e.g. `GET /v1/twitter/tweet`.


    ## Authentication

    Send your API key in the `x-api-key` header (or `Authorization: Bearer
    <key>`). Create keys in your dashboard.


    ## Credits

    Each successful live scrape costs **1 credit**. Credits are prepaid and
    never expire.


    ## Caching

    Every endpoint accepts an optional `cache_max_age`
    (`1d`|`3d`|`7d`|`14d`|`30d`). A cache hit within that window is returned for
    **0 credits**.


    ## Responses

    Success returns `{ "data": …, "meta": { "requestId", … } }`. Errors return
    `{ "error": { "code", "message", "requestId" } }` with a matching HTTP
    status. `meta` on a scrape carries `creditsCharged`, `creditsRemaining`,
    `cached`, and (on a hit) `cachedAt`.


    ## Rate limits

    Requests are limited per team per minute; over the limit returns `429` with
    a `Retry-After` header.
servers:
  - url: https://api.scraperize.com
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Twitter
    description: Twitter / X scraping endpoints
  - name: Facebook
    description: Facebook scraping endpoints
  - name: Linkme
    description: Linkme (link.me) scraping endpoints
  - name: Amazon
    description: Amazon (creator shop / storefront) scraping endpoints
  - name: Linkbio
    description: Linkbio (lnk.bio) scraping endpoints
  - name: Pillar
    description: Pillar (pillar.io) scraping endpoints
  - name: Komi
    description: Komi (komi.io) scraping endpoints
  - name: Linktree
    description: Linktree (linktr.ee) scraping endpoints
  - name: Kick
    description: Kick (kick.com) scraping endpoints
  - name: Snapchat
    description: Snapchat (snapchat.com) scraping endpoints
  - name: Telegram
    description: Telegram (t.me) scraping endpoints
  - name: LinkedIn
    description: LinkedIn scraping endpoints
  - name: Twitch
    description: Twitch scraping endpoints
  - name: TikTok
    description: TikTok (tiktok.com) scraping endpoints
  - name: Instagram
    description: Instagram scraping endpoints
  - name: Lagos Life
    description: Lagos Life scraping endpoints
  - name: Bluesky
    description: Bluesky (bsky.app) scraping endpoints
  - name: Threads
    description: Threads (threads.com) scraping endpoints
  - name: Reddit
    description: Reddit (reddit.com) scraping endpoints
  - name: Rumble
    description: Rumble (rumble.com) scraping endpoints
  - name: Truth Social
    description: Truth Social (truthsocial.com) scraping endpoints
  - name: YouTube
    description: YouTube (youtube.com) scraping endpoints
paths:
  /v1/reddit/subreddit/details:
    get:
      tags:
        - Reddit
      summary: Subreddit details
      description: >-
        Returns a subreddit's public details, by name or URL: its title,
        description, icon and banner, when it was created, whether it is public
        or restricted, visitors and contributions in the past week (Reddit no
        longer shows member counts), what the community calls its members, its
        status message, bookmarks (wiki, Discord …) and every rule with its
        description, and whether it is NSFW or quarantined. Pass `subreddit`
        (e.g. `programming`) or `url`. Only publicly available data is returned.
      parameters:
        - name: subreddit
          in: query
          required: false
          description: >-
            The subreddit's name, with or without `r/`. Required unless `url` is
            given.
          schema:
            type: string
          example: programming
        - name: url
          in: query
          required: false
          description: >-
            The subreddit's URL, e.g. `https://www.reddit.com/r/programming/`.
            Required unless `subreddit` is given.
          schema:
            type: string
        - name: cache_max_age
          in: query
          required: false
          description: >-
            Optional. Return a cached result if one this age or newer exists —
            served for **0 credits** with `meta.cached=true` and
            `meta.cachedAt`. Otherwise a fresh scrape runs (**1 credit**) and
            refreshes the cache. Omit to always scrape fresh.
          schema:
            type: string
            enum:
              - 1d
              - 3d
              - 7d
              - 14d
              - 30d
          example: 7d
      responses:
        '200':
          description: The subreddit.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                      id:
                        type: string
                        nullable: true
                      url:
                        type: string
                      title:
                        type: string
                        nullable: true
                      description:
                        type: string
                        nullable: true
                      iconUrl:
                        type: string
                        nullable: true
                      bannerUrl:
                        type: string
                        nullable: true
                      createdAt:
                        type: string
                        format: date-time
                        nullable: true
                      type:
                        type: string
                        nullable: true
                      weeklyVisitors:
                        type: integer
                        nullable: true
                      weeklyContributions:
                        type: integer
                        nullable: true
                      rules:
                        type: array
                        items:
                          type: object
                      bookmarks:
                        type: array
                        items:
                          type: object
                      isNsfw:
                        type: boolean
                      isQuarantined:
                        type: boolean
                      fetchedAt:
                        type: string
                        format: date-time
                  meta:
                    type: object
                    description: >-
                      requestId + credit/caching metadata (creditsCharged,
                      creditsRemaining, cached, cachedAt).
                required:
                  - data
                  - meta
              example:
                data:
                  name: programming
                  id: t5_2fwo
                  url: https://www.reddit.com/r/programming/
                  title: programming
                  description: Computer Programming
                  iconUrl: >-
                    https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png?width=128&frame=1&auto=webp&s=400b33e7080aa4996c405a96b3872a12f0e3b68d
                  bannerUrl: null
                  createdAt: '2006-02-28T18:19:29.538Z'
                  type: Public
                  typeDescription: Anyone can view, post, and comment to this community
                  weeklyVisitors: 215933
                  weeklyContributions: 1799
                  membersName: null
                  onlineName: null
                  status: null
                  bookmarks:
                    - title: FAQ
                      url: https://www.reddit.com/r/programming/wiki/faq
                  rules:
                    - number: 1
                      title: No LLM-Written Content
                      description: >-
                        If you don't want to write it, we don't want to read it.
                        This includes the use of LLMs for translation or
                        summarisation. Moderators reserve discretion in
                        ambiguous cases.
                    - number: 2
                      title: AI-related posts must comply with the AI Policy
                      description: >-
                        Content about LLMs and AI is generally considered
                        off-topic unless they are deeply technical. Refer to our
                        wiki for more details.
                    - number: 3
                      title: No Political Posts or Personal/Social Drama/Gossip
                      description: >-
                        r/programming is not a place to share content with a
                        primary focus on politics, personal drama, social
                        gossip, or such.


                        Examples of inappropriate topics would include: Please
                        vote for net neutrality. Big Tech is being sued in
                        Europe for blahdeblah. Grace Hopper Conference is now
                        60% male. Postgres is turning the freaking frogs gay.
                        Linus Torvalds was a poopy-head on a mailing list. The
                        People's Rust Foundation is arguing with the Rust
                        Foundation For The People.
                  isNsfw: false
                  isQuarantined: false
                  fetchedAt: '2026-11-06T12:48:59.559Z'
                meta:
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
                  creditsCharged: 1
                  creditsRemaining: 4999
                  cached: false
        '401':
          description: Missing, invalid, or revoked API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: UNAUTHORIZED
                  message: API key required — pass it in the `x-api-key` header.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '402':
          description: Not enough credits for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: INSUFFICIENT_CREDITS
                  message: >-
                    This request costs 1 credit, but your balance is 0. Top up
                    to continue.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '404':
          description: >-
            No public subreddit with that name (it may not exist, be private or
            banned).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: NOT_FOUND
                  message: >-
                    The requested content was not found (it may not exist, be
                    deleted, or be private).
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '422':
          description: Invalid query parameters (`subreddit` or `url` is required).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: VALIDATION_ERROR
                  message: Request validation failed
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
                  details:
                    - path: url
                      message: url is required
        '429':
          description: Over the per-minute rate limit — honour `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: RATE_LIMITED
                  message: >-
                    Rate limit exceeded — max 100 requests per 60s. Retry in
                    ~30s.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '503':
          description: >-
            Temporarily unavailable — retry after `Retry-After`. `error.code`
            tells you why: `UPSTREAM_BLOCKED` (the source blocked this request),
            `EXTRACTION_FAILED` (the source returned unexpected data),
            `PLATFORM_UNAVAILABLE` (the source is down), or
            `SERVICE_UNAVAILABLE` (we are at capacity).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: UPSTREAM_BLOCKED
                  message: >-
                    The source is temporarily unavailable. Please try again
                    shortly.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: NOT_FOUND
            message:
              type: string
              example: The requested content was not found.
            requestId:
              type: string
              example: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
            details:
              type: array
              items:
                type: object
              description: Present on validation errors.
          required:
            - code
            - message
            - requestId
      required:
        - error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Your API key. Send it in the `x-api-key` header (or `Authorization:
        Bearer <key>`). Create and manage keys from your dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.