Reddit · Guide

How to get Reddit subreddit posts

TL;DR
To get Reddit subreddit posts, sign up for a free Captapi key, then send one GET request to /v1/reddit/subreddit-posts with your input. You get clean JSON back in seconds for 2 credits per call — no OAuth, scraping or platform SDKs. List posts from a subreddit with sort, timeframe, and cursor pagination — title, score, upvote ratio, flair, and more.

How to get Reddit subreddit posts (step by step)

  1. 1

    Get a free API key

    Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.

  2. 2

    Call the Reddit Subreddit Posts API

    Send an authenticated GET request to /v1/reddit/subreddit-posts with your input. No OAuth, no scraping setup.

  3. 3

    Read the JSON response

    Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.

Code example

curl "https://api.captapi.com/v1/reddit/subreddit-posts?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Ftechnology%2F" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

What the response looks like

{
  "success": true,
  "data": {
    "subreddit": "space",
    "sort": "hot",
    "timeframe": null,
    "totalReturned": 3,
    "nextCursor": "t3_1vdd2k6",
    "hasMore": true,
    "posts": [
      {
        "platform": "reddit",
        "id": "1v7b3xg",
        "name": "t3_1v7b3xg",
        "url": "https://www.reddit.com/r/space/comments/1v7b3xg/all_space_questions_thread_for_week_of_july_26/",
        "title": "All Space Questions thread for week of July 26, 2026",
        "text": "Please sort comments by 'new' to find questions that would otherwise be buried.\n\nIn this thread you can ask any space related question that you may have.\n\nTwo examples of potential questions could be; \"How do rockets work?\", or \"How do the phases of the Moon work?\"\n\nIf you see a space related question posted in another subreddit or in this subreddit, then please politely link them to this thread.\n\n​\n\nAsk away!",
        "subreddit": "space",
        "author": "AutoModerator",
        "authorFullname": "t2_6l4z3",
        "upvotes": 11,
        "score": 11,
        "downs": 0,
        "upvoteRatio": 0.67,
        "comments": 38,
        "subscriberCount": 27937807,
        "totalAwardsReceived": 0,
        "isVideo": false,
        "publishedAt": "2026-07-26T18:00:07.000Z",
        "flair": null,
        "nsfw": false,
        "thumbnail": null
      },
      {
        "platform": "reddit",
        "id": "1vd1sxs",
        "name": "t3_1vd1sxs",
        "url": "https://www.reddit.com/r/space/comments/1vd1sxs/gum_nebula_in_tuscany/",
        "title": "Gum nebula in Tuscany",
        "text": "Stacked/Tracked/Blended\n\nhttps://www.instagram.com/flory.ro?igsh=b3Y4ZTU3Nmk0cTBt&utm\\_source=qr\n\nThe Edge\n\nThis was my winter goal: to capture the Gum nebula over the Tuscan coast.\n\nFor months the weather refused to cooperate.\n\nCountless trips ended in nothing.\n\nThen one night, after a long descent through the woods, driven only by stubbornness and a bit of recklessness, I finally reached this beach.\n\nI rarely edit my photos right away. Most of the time I leave them sleeping.\n\nWhen the feeling returns, I choose one memory and bring it back to life.\n\nThis is one of those nights.\n\nCanon R\n\nCanon 6D\n\nSigma 24mm f1.4\n\nForeground 2x120s iso 3200 f2.8\n\nSky  3x120s iso 1600 f 2.00\n\nHa 6x120s iso 3200 f2.8",
        "subreddit": "space",
        "author": "flory_ro",
        "authorFullname": "t2_22o0rottmc",
        "upvotes": 3334,
        "score": 3334,
        "downs": 0,
        "upvoteRatio": 0.98,
        "comments": 25,
        "subscriberCount": 27937807,
        "totalAwardsReceived": 0,
        "isVideo": false,
        "publishedAt": "2026-08-01T23:16:42.000Z",
        "flair": "image/gif",
        "nsfw": false,
        "thumbnail": "https://preview.redd.it/1c7e0qngjugh1.jpeg?width=140&height=140&crop=1:1,smart&auto=webp&s=904837be378093471aad053d9ce99316becf8ad9"
      }
    ]
  }
}

Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.

Request parameters

NameTypeRequiredDescription
urlstring YesSubreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.
limitintegerNoMax items to return (default 25, max 200). Flat 2 credits per call.
sortstringNoFeed sort: best, hot, new (default), top, or rising.
timeframestringNoFor sort=top: hour, day (default), week, month, year, or all.
cursorstringNoPagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.
cachebooleanNoSet true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits.

Frequently asked questions

What does the Reddit Subreddit Posts API do?

The Reddit Subreddit Posts API lets you list items in bulk with metadata from a public Reddit post using one GET request to /v1/reddit/subreddit-posts. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the Reddit Subreddit Posts API cost?

Each successful call costs 2 credits. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.

Do I need a Reddit API key or OAuth?

No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.

Is the Reddit Subreddit Posts API suitable for production use?

Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.

Ready to get Reddit subreddit posts?

Start free with 100 credits — no credit card required.

Get your free API key