toolzerhub API Docs

List subreddit posts

List a subreddit's posts with title, score, upvote ratio, comment count, awards, media, flair and author identity per post — plus a cursor for the next page. Requires subreddit.

1 credit / requestBilled only on success
GET
/v1/reddit/subreddit-posts

Authorization

ApiKeyAuth
x-api-key<token>

In: header

Query Parameters

subreddit*string

Community name, e.g. technology. Accepts r/technology or a reddit.com URL. 2-21 letters, digits or underscores. An unknown community returns an empty feed, not an error.

Lengthlength <= 300
count?integer

How many distinct posts to return (max 200). Pages are walked for you; fewer results means the feed ended, which end_of_feed confirms. A higher count is slower, not more expensive.

Range1 <= value <= 200
Default25
sort?string

Feed order: best (default), hot, new, top, rising or controversial. Other values are rejected. top and controversial also accept time.

Default"best"

Value in

  • "best"
  • "hot"
  • "new"
  • "top"
  • "rising"
  • "controversial"
time?string

Time window for sort=top or sort=controversial: HOUR, DAY, WEEK, MONTH, YEAR or ALL (default). Ignored by other sorts. WEEK can reach older posts; filter on created_at if you need exactly seven days.

Value in

  • "HOUR"
  • "DAY"
  • "WEEK"
  • "MONTH"
  • "YEAR"
  • "ALL"
after?string

next_cursor from the previous response; omit for the top of the feed. A post id (1vay198) or fullname (t3_1vay198) also works. Cursors don't expire.

Lengthlength <= 200
curl -X GET "https://example.com/v1/reddit/subreddit-posts?subreddit=technology" \  -H "x-api-key: YOUR_API_KEY"
{  "data": {    "posts": [      {        "id": "1vay198",        "fullname": "t3_1vay198",        "permalink": "/r/technology/comments/1vay198/example_post_title/",        "url": "https://www.reddit.com/r/technology/comments/1vay198/example/",        "title": "Example post title",        "subreddit": "technology",        "subreddit_prefixed": "r/technology",        "subreddit_id": "t5_2qh16",        "author": "example_user",        "author_id": "t2_abc123",        "author_icon": null,        "created_at": "2026-08-17T09:14:22.000+0000",        "score": 1284,        "upvote_ratio": 0.94,        "comment_count": 213,        "award_count": 0,        "domain": "arstechnica.com",        "content_url": "https://arstechnica.com/example-article/",        "post_type": "link",        "flair": "Society",        "flair_url": "/r/technology/?f=flair_name%3A%22Society%22",        "thumbnail": "https://external-preview.redd.it/example.jpg",        "media": {          "kind": "image",          "url": "https://i.redd.it/example.jpeg",          "poster": null,          "preview": null,          "caption_url": null,          "items": null        },        "text": null,        "nsfw": null,        "spoiler": false,        "locked": false,        "archived": false,        "language": "en"      }    ],    "count": 25,    "requested_count": 25,    "subreddit": "technology",    "sort": "best",    "next_cursor": "dDNfMXZheTE5OA==",    "end_of_feed": false,    "pages_fetched": 2,    "usage_note": "`count` is satisfied here, not upstream: Reddit serves ~24 posts a page and this walks them for you. A short result is not a short page — it means the feed ran out, and `end_of_feed` says so outright. `next_cursor` is not an opaque server token: it is base64('t3_' + the last post's id), so `after` will also accept that bare post id."  }}