logoPandorLabs
social data api

Reddit logoReddit

Subreddits, posts, comments, transcripts and site-wide search.

Subreddit details1 request
Posts in a subreddit1 request
Search within a subreddit1 request
Post details1 request
Post comments1 request
Video transcript1 request
Search Reddit1 request
GET/v1/reddit/subreddit/details

Subreddit details

1 request

Returns subreddit metadata by name or URL. Names are case-sensitive. Fields include display_name, description, created_at, subscribers, weekly_active_users, weekly_contributions, rules, submit_text, advertiser_category, icon_img, and header_img.

Query parameters

subreddit
string
Subreddit name with exact casing, so 'AskReddit' rather than 'askreddit'.
url
string
Link to the subreddit.
cache_max_age
string
Accept a stored response up to this age. Inside that window the answer is free and comes back with cached: true and a cached_at time; past it, the request runs live for 1 request.

1d3d7d14d30d

curl "https://api.pandorlabs.com/v1/reddit/subreddit/details" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "subreddit_id": "t5_a7wuv",
  "display_name": "AbsoluteUnits",
  "weekly_active_users": 1428398,
  "weekly_contributions": 8923,
  "rules": "#ABSOLUTE UNITS\n\n---\n\n    Be in awe at the size of these lads\n\n---\n\n###[Check out our deep, well-reflected definitions of an absolute unit.](https://www.reddit.com/r/AbsoluteUnits/wiki/index)  ",
  "description": "Absolute Unit : an Animal or Public Figure, who is larger than we should normally expect.",
  "header_img": null,
  "icon_img": "https://styles.redditmedia.com/t5_a7wuv/styles/communityIcon_t3cspt08bl681.png?width=128&frame=1&auto=webp&s=6f7e59ccf1724bd6c8b3e0d2840c9b21297102c3",
  "subscribers": 1923642,
  "advertiser_category": "",
  "created_at": "2018-01-05T10:35:24.000Z",
  "submit_text": ""
}
GET/v1/reddit/subreddit

Posts in a subreddit

1 request

Lists posts in a subreddit. Each post has title, author, selftext, url, permalink, created_utc, score, ups, upvote_ratio, num_comments, is_video, and subreddit_subscribers, plus link_flair_text when Reddit provides it. Order by best, hot, new, top, or rising, limit by timeframe, page forward with the after token, and set trim for a smaller payload.

Query parameters

subreddit
stringrequired
Name of the subreddit.
timeframe
string
Time window for posts.

alldayweekmonthyear

sort
string
Post ordering.

besthotnewtoprising

after
string
The after value from the previous response, used to load more posts.
trim
boolean
true returns a slimmer response.
cache_max_age
string
Accept a stored response up to this age. Inside that window the answer is free and comes back with cached: true and a cached_at time; past it, the request runs live for 1 request.

1d3d7d14d30d

curl "https://api.pandorlabs.com/v1/reddit/subreddit?subreddit=<subreddit>" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "posts": [
    {
      "id": "1lfbo7u",
      "author": "Vetro_Nodulare2",
      "author_fullname": "t2_16syu27ar1",
      "subreddit": "AskReddit",
      "title": "What is a thing you love that lots of people hate?",
      "link_flair_text": null,
      "selftext": "",
      "selftext_html": "",
      "downs": 0,
      "name": "t3_1lfbo7u",
      "upvote_ratio": 0.9,
      "ups": 45,
      "total_awards_received": 0,
      "score": 45,
      "created": 1750341959,
      "num_comments": 349,
      "url": "https://www.reddit.com/r/AskReddit/comments/1lfbo7u/what_is_a_thing_you_love_that_lots_of_people_hate/",
      "subreddit_subscribers": 56146328,
      "is_video": false,
      "created_utc": 1750341959
    }
  ],
  "after": "t3_1lfogps"
}
GET/v1/reddit/post

Post details

1 request

Returns a public Reddit post by URL, without its comments. Text posts include their body in selftext. You also get the title, subreddit, author, score, upvote ratio, number of comments, permalink, timestamps, and the post's flags. Both canonical post URLs and mobile share links are accepted.

Query parameters

url
stringrequired
Link to the Reddit post.
curl "https://api.pandorlabs.com/v1/reddit/post?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Fwebscraping%2Fcomments%2F1q6pxwn%2Fjust_started_web_scraping_is_this_a_good_start%2F" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "id": "1q6pxwn",
  "author": "franik33",
  "author_fullname": "t2_16xbknfp71",
  "subreddit": "webscraping",
  "title": "Just Started Web Scraping — Is This a Good Start?",
  "selftext": "Hi everyone, I started getting into web scraping about 3–4 days ago. I already have some solid experience with Python, and my first scraping project was a public website. I managed to collect around 7,000 records and everything worked as ex…",
  "downs": 0,
  "name": "t3_1q6pxwn",
  "upvote_ratio": 0.9230769230769231,
  "ups": 33,
  "total_awards_received": 0,
  "score": 33,
  "created": 1767816090,
  "created_utc": 1767816090,
  "created_at_iso": "2026-01-07T20:01:30.000Z",
  "num_comments": 53,
  "url": "https://www.reddit.com/r/webscraping/comments/1q6pxwn/just_started_web_scraping_is_this_a_good_start/",
  "permalink": "/r/webscraping/comments/1q6pxwn/just_started_web_scraping_is_this_a_good_start/",
  "subreddit_subscribers": null,
  "is_video": false,
  "archived": true,
  "locked": false,
  "over_18": false,
  "spoiler": false
}
GETPOST/v1/reddit/post/comments

Post comments

1 request

Returns a Reddit post and its comments by URL. The post includes title, author, created_utc, score, ups, upvote_ratio, and num_comments. In the comments array, each comment has author, body, body_html, parent_id, permalink, created_utc, score, and its nested replies. To load more, send a single opaque cursor exactly as found in more.cursor or replies.more.cursor; batching or comma-joining cursors is not supported. GET and POST both work; use GET by default, and switch to POST with the same parameters in a JSON body if a cursor grows too long after many pages. Set trim for a smaller payload.

Query parameters

url
stringrequired
Link to the Reddit post.
cursor
string
Paging token returned by the last call, used to load further comments or replies. Pass exactly one token per request.
trim
boolean
true returns a slimmer response.
curl "https://api.pandorlabs.com/v1/reddit/post/comments?url=https%3A%2F%2Fwww.reddit.com%2Fr%2FAskReddit%2Fcomments%2Fablzuq%2Fpeople_who_havent_pooped_in_2019_yet_why_are_you%2F" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Same call with a JSON body, for long cursors
curl -X POST "https://api.pandorlabs.com/v1/reddit/post/comments" \  -H "Authorization: Bearer $PANDORLABS_KEY" \  -H "Content-Type: application/json" \  -d '{"url":"https://www.reddit.com/r/AskReddit/comments/ablzuq/people_who_havent_pooped_in_2019_yet_why_are_you/","cursor":"<cursor>"}'
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "comments": [
    {
      "id": "mymupxb",
      "author": "Background-Emu-2890",
      "author_fullname": "t2_efdlposp6",
      "body": "Black cat i have one and i love her so much !",
      "name": "t1_mymupxb",
      "created_utc": 1750342221,
      "created_at_iso": "2025-06-19T14:10:21.000Z",
      "parent_id": "t3_1lfbo7u",
      "url": "https://www.reddit.com/r/AskReddit/comments/1lfbo7u/what_is_a_thing_you_love_that_lots_of_people_hate/mymupxb/",
      "replies": {
        "items": [
          {
            "url": "https://www.reddit.com/r/AskReddit/comments/1lfbo7u/what_is_a_thing_you_love_that_lots_of_people_hate/mymxwde/",
            "created_utc": 1750343166,
            "created_at_iso": "2025-06-19T14:26:06.000Z",
            "subreddit_id": "t5_2qh1i",
            "approved_at_utc": null,
            "author_is_blocked": false,
            "comment_type": null,
            "awarders": [],
            "mod_reason_by": null,
            "banned_by": null,
            "author_flair_type": "text",
            "total_awards_received": 0,
            "subreddit": "AskReddit",
            "author_flair_template_id": null,
            "likes": null,
            "replies": {
              "items": [],
              "more": {}
            },
            "user_reports": [],
            "saved": false,
            "id": "mymxwde",
            "banned_at_utc": null,
            "mod_reason_title": null,
            "gilded": 0,
            "archived": false,
            "collapsed_reason_code": null,
            "no_follow": false,
            "author": "doublestitch",
            "can_mod_post": false,
            "send_replies": true,
            "parent_id": "t1_mymupxb",
            "score": 19,
            "author_fullname": "t2_10py0g",
            "removal_reason": null,
            "approved_by": null,
            "mod_note": null,
            "all_awardings": [],
            "body": "House panthers for the win",
            "edited": false,
            "top_awarded_type": null,
            "author_flair_css_class": null,
            "name": "t1_mymxwde"
          }
        ],
        "more": {
          "has_more": true,
          "cursor": "myn970w"
        }
      },
      "ups": 75,
      "downs": 0,
      "score": 75
    }
  ],
  "post": {
    "id": "1lfbo7u",
    "author": "Vetro_Nodulare2",
    "author_fullname": "t2_16syu27ar1",
    "subreddit": "AskReddit",
    "title": "What is a thing you love that lots of people hate?",
    "downs": 0,
    "name": "t3_1lfbo7u",
    "upvote_ratio": 0.91,
    "ups": 47,
    "total_awards_received": 0,
    "score": 47,
    "created": 1750341959,
    "num_comments": 353,
    "url": "https://www.reddit.com/r/AskReddit/comments/1lfbo7u/what_is_a_thing_you_love_that_lots_of_people_hate/",
    "subreddit_subscribers": 56146601,
    "is_video": false,
    "created_utc": 1750341959
  },
  "more": {
    "has_more": true,
    "cursor": "myoaw2m,myob40l,myoeo9h"
  }
}
GET/v1/reddit/post/transcript

Video transcript

1 request

Returns the transcript of a Reddit video, given either the post URL or a direct v.redd.it link, provided Reddit publishes a VTT caption file for it. You get the WebVTT source in raw_vtt and a plain-text version parsed from it. When Reddit has no captions for the video, you get transcriptNotAvailable: true and a null transcript.

Query parameters

url
stringrequired
Reddit post URL, or a v.redd.it video URL.
language
string
Two-letter language code; en when omitted.
cache_max_age
string
Accept a stored response up to this age. Inside that window the answer is free and comes back with cached: true and a cached_at time; past it, the request runs live for 1 request.

1d3d7d14d30d

curl "https://api.pandorlabs.com/v1/reddit/post/transcript?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Fyouseeingthisshit%2Fcomments%2F1oiu9xm%2Ffootball_nostalgiasaints_punter_head_coach_cant%2F" \  -H "Authorization: Bearer $PANDORLABS_KEY"
Example response

Response

{
  "success": true,
  "credits_charged": 1,
  "url": "https://www.reddit.com/r/youseeingthisshit/comments/1oiu9xm/football_nostalgiasaints_punter_head_coach_cant/",
  "post_id": "1oiu9xm",
  "video_id": "eflpgc6r0zxf1",
  "caption_url": "https://v.redd.it/eflpgc6r0zxf1/wh_ben_en.vtt",
  "language": "en",
  "raw_vtt": "WEBVTT\n\n00:00.000 --> 00:00.300\n<u>stop</u> on third down and now Barnhart I\nhanging\n\n00:00.300 --> 00:00.560\nstop <u>on</u> third down and now Barnhart I\nhanging",
  "transcript": "stop on third down and now Barnhart I hanging spiraling punts touch back Barnhart could not pull it up short of the end zone...",
  "transcriptNotAvailable": false
}