Reddit

8 endpoints.

GET /v1/reddit/post

Post

Retrieves public Reddit post details by URL without fetching or returning comments. Returns the text post body in selftext when present, plus the title, author, subreddit, score, upvote ratio, comment count, timestamps, permalink, and post flags. Accepts canonical Reddit post URLs and Reddit mobile share URLs.

Parameters

NameInTypeDescription
url requiredquerystringReddit post URL

Request

curl "https://api.scrapall.bipsport.com/scapi/v1/reddit/post?url=https://www.reddit.com/r/webscraping/comments/1q6pxwn/just_started_web_scraping_is_this_a_good_start/" \
  -H "X-Scapi-Key: YOUR_API_KEY"
const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/reddit/post?url=https://www.reddit.com/r/webscraping/comments/1q6pxwn/just_started_web_scraping_is_this_a_good_start/", {
  headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();
import requests

r = requests.get(
    "https://api.scrapall.bipsport.com/scapi/v1/reddit/post?url=https://www.reddit.com/r/webscraping/comments/1q6pxwn/just_started_web_scraping_is_this_a_good_start/",
    headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())

Response 200 (sample)

{
  "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 pu...",
  "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
}

GET /v1/reddit/post_comments

Post Comments

Retrieves comments and post details from a Reddit post by URL. Returns the post with title, author, score, ups, upvote_ratio, num_comments, and created_utc, plus a comments array where each comment includes author, body, body_html, score, created_utc, parent_id, permalink, and nested replies. Both GET and POST are supported. Use GET for normal requests. Pass one opaque cursor exactly as returned by more.cursor or replies.more.cursor to load the next page. Cursor batching and comma-separated cursor values are not supported. If an opaque cursor becomes too large after extensive pagination, use POST and send the same parameters in the JSON body. Supports cursor-based pagination for loading more comments and a trim parameter for lighter responses. Author flair fields are not available from this endpoint.

Parameters

NameInTypeDescription
url requiredquerystringReddit post URL
trimquerybooleanSet to true for a trimmed down version of the response
next_cursorquerystringOne opaque cursor returned by the previous response to get more comments or replies. Do not combine multiple cursors.

Request

curl "https://api.scrapall.bipsport.com/scapi/v1/reddit/post_comments?url=https://www.reddit.com/r/AskReddit/comments/ablzuq/people_who_havent_pooped_in_2019_yet_why_are_you/" \
  -H "X-Scapi-Key: YOUR_API_KEY"
const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/reddit/post_comments?url=https://www.reddit.com/r/AskReddit/comments/ablzuq/people_who_havent_pooped_in_2019_yet_why_are_you/", {
  headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();
import requests

r = requests.get(
    "https://api.scrapall.bipsport.com/scapi/v1/reddit/post_comments?url=https://www.reddit.com/r/AskReddit/comments/ablzuq/people_who_havent_pooped_in_2019_yet_why_are_you/",
    headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())

Response 200 (sample)

{
  "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,
            "total_awards_received": 0,
            "subreddit": "AskReddit",
            "likes": null,
            "replies": "{...}",
            "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,
            "...": "40 more fields"
          }
        ],
        "more": {
          "has_more": true,
          "next_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,
    "next_cursor": "myoaw2m,myob40l,myoeo9h"
  }
}

POST /v1/reddit/post_comments

Post Comments

Retrieves comments and post details from a Reddit post by URL. Returns the post with title, author, score, ups, upvote_ratio, num_comments, and created_utc, plus a comments array where each comment includes author, body, body_html, score, created_utc, parent_id, permalink, and nested replies. Both GET and POST are supported. Use GET for normal requests. Pass one opaque cursor exactly as returned by more.cursor or replies.more.cursor to load the next page. Cursor batching and comma-separated cursor values are not supported. If an opaque cursor becomes too large after extensive pagination, use POST and send the same parameters in the JSON body. Supports cursor-based pagination for loading more comments and a trim parameter for lighter responses. Author flair fields are not available from this endpoint.

Parameters

NameInTypeDescription
url requiredbodystringReddit post URL
trimbodybooleanSet to true for a trimmed down version of the response
cursorbodystringOne opaque cursor returned by the previous response to get more comments or replies. Do not combine multiple cursors.

Request

curl -X POST "https://api.scrapall.bipsport.com/scapi/v1/reddit/post_comments" \
  -H "X-Scapi-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "example"}'
const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/reddit/post_comments", {
  method: "POST",
  headers: { "X-Scapi-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({"url": "example"})
});
const data = await res.json();
import requests

r = requests.post(
    "https://api.scrapall.bipsport.com/scapi/v1/reddit/post_comments",
    headers={"X-Scapi-Key": "YOUR_API_KEY"},
    json={'url': 'example'},
)
print(r.json())

Response 200 (sample)

{
  "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,
            "total_awards_received": 0,
            "subreddit": "AskReddit",
            "likes": null,
            "replies": "{...}",
            "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,
            "...": "40 more fields"
          }
        ],
        "more": {
          "has_more": true,
          "next_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,
    "next_cursor": "myoaw2m,myob40l,myoeo9h"
  }
}

GET /v1/reddit/post_captions

Post Transcript

Gets the transcript from a Reddit video post or direct v.redd.it URL when Reddit exposes a VTT caption file. Returns the raw WebVTT in raw_vtt plus a parsed plain-text transcript. If Reddit does not expose captions for the video, transcript is null and transcriptNotAvailable is true. Returned native captions cost 1 credit; empty transcripts and errors cost 0 credits. This endpoint does not use AI transcription.

Parameters

NameInTypeDescription
url requiredquerystringReddit post URL or direct v.redd.it video URL
languagequerystring2 letter language code. Defaults to en.
cache_max_agequerystringIf we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). See the Caching page for details.
one of: 1d, 3d, 7d, 14d, 30d

Request

curl "https://api.scrapall.bipsport.com/scapi/v1/reddit/post_captions?url=https://www.reddit.com/r/youseeingthisshit/comments/1oiu9xm/football_nostalgiasaints_punter_head_coach_cant/" \
  -H "X-Scapi-Key: YOUR_API_KEY"
const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/reddit/post_captions?url=https://www.reddit.com/r/youseeingthisshit/comments/1oiu9xm/football_nostalgiasaints_punter_head_coach_cant/", {
  headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();
import requests

r = requests.get(
    "https://api.scrapall.bipsport.com/scapi/v1/reddit/post_captions?url=https://www.reddit.com/r/youseeingthisshit/comments/1oiu9xm/football_nostalgiasaints_punter_head_coach_cant/",
    headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())

Response 200 (sample)

{
  "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\nha...",
  "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...",
  "transcript_not_available": false
}

GET /v1/reddit/subreddit

Subreddit Posts

Fetches posts from a subreddit with sorting and filtering options. Each post includes title, author, link_flair_text when Reddit exposes it, selftext, score, ups, upvote_ratio, num_comments, created_utc, url, permalink, subreddit_subscribers, and is_video. Supports sort (best, hot, new, top, rising), timeframe filtering, pagination via the after token, and a trim parameter for lighter responses.

Parameters

NameInTypeDescription
subreddit requiredquerystringSubreddit name
timeframequerystringTimeframe to get posts from
one of: all, day, week, month, year
sortquerystringSort order
one of: best, hot, new, top, rising
trimquerybooleanSet to true for a trimmed down version of the response
cache_max_agequerystringIf we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). See the Caching page for details.
one of: 1d, 3d, 7d, 14d, 30d
afterquerystringAfter to get more posts. Get 'after' from previous response.

Request

curl "https://api.scrapall.bipsport.com/scapi/v1/reddit/subreddit?subreddit=example" \
  -H "X-Scapi-Key: YOUR_API_KEY"
const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/reddit/subreddit?subreddit=example", {
  headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();
import requests

r = requests.get(
    "https://api.scrapall.bipsport.com/scapi/v1/reddit/subreddit?subreddit=example",
    headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())

Response 200 (sample)

{
  "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/subreddit_details

Subreddit Details

Retrieves metadata about a subreddit by name or URL. The subreddit name must be case-sensitive. Returns display_name, description, weekly_active_users, weekly_contributions, rules, icon_img, header_img, advertiser_category, submit_text, and created_at. Subscriber counts are not available. weekly_active_users and weekly_contributions measure weekly activity, not total subscribers.

Parameters

NameInTypeDescription
subredditquerystringSubreddit name. MUST be case sensitive. So 'AskReddit' not 'askreddit'.
urlquerystringSubreddit URL
cache_max_agequerystringIf we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). See the Caching page for details.
one of: 1d, 3d, 7d, 14d, 30d

Request

curl "https://api.scrapall.bipsport.com/scapi/v1/reddit/subreddit_details" \
  -H "X-Scapi-Key: YOUR_API_KEY"
const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/reddit/subreddit_details", {
  headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();
import requests

r = requests.get(
    "https://api.scrapall.bipsport.com/scapi/v1/reddit/subreddit_details",
    headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())

Response 200 (sample)

{
  "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.redd...",
  "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",
  "advertiser_category": "",
  "created_at": "2018-01-05T10:35:24.000Z",
  "submit_text": ""
}