Reddit post comments (POST body) API
  1. Docs
  2. Reddit
  3. Reddit post comments (POST body) API

Reddit post comments (POST body) API

The same as the GET form, with the parameters in a JSON body.

POST /v1/reddit/post/comments

POST /v1/reddit/post/comments

The same as the GET form, with the parameters in a JSON body. Use it when the cursor has grown too long for a URL. Pass one cursor exactly as returned.

  • Cost: 1 credit
  • Cache: Results are kept up to 30 days; send max_age_days to reuse them for free.
  • Timeout: A request still running after about 25 seconds answers 202 with a job to poll (Batch and jobs).

Parameters#

NameTypeRequiredDescriptionIn
urlURLyesPost URL. Accepted hosts: reddit.com, redd.it.body
sortstringnoOrder of results. Changing it restarts the cursor chain. One of confidence, top, new, controversial, old, qa. Default confidence. Also accepted as sort_by, sortBy, order.body

Every request also accepts:

  • cursor: the cursor from the previous page (Pagination).
  • trim: true for a smaller response without null fields and extra.
  • raw: true to also get the platform's original object as raw.
  • max_age_days: accept a cached result up to this many days old, for 0 credits (Caching).

Example request#

Set your key in the environment first (see Authentication).

1curl -X POST "https://api.socialscrape.dev/v1/reddit/post/comments" \2  -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3  -H "content-type: application/json" \4  -d '{"url":"https://www.reddit.com/r/webscraping/comments/1q6pxwn/just_started_web_scraping_is_this_a_good_start/"}'

Example response#

This is a sample from a recorded response, lists and long text are shortened, dash characters in the text are replaced with hyphens, other people's names and handles are replaced. Status 200.

200 OKSample response
1{2  "ok": true,3  "credits_charged": 1,4  "credits_remaining": 4999,5  "cached": false,6  "cached_at": null,7  "request_id": "req_57f4b4070e2232350b522f2b",8  "data": {9    "object": "list",10    "items": [11      {12        "object": "comment",13        "platform": "reddit",14        "id": "nyfjrfq",15        "url": "https://www.reddit.com/r/webscraping/comments/1q6pxwn/comment/nyfjrfq/",16        "post_id": "1q6pxwn",17        "parent_id": null,18        "author": {19          "id": "1000000001",20          "handle": "sample_user",21          "name": "Sample User",22          "url": null,23          "avatar_url": null,24          "verified": false25        },26        "text": "Nice work for 3 days in. But yeah, context matters, scraping a static site vs a protected one is night and day. Just be ready for the maintenance, scripts break all the time. Still worth learning imo",27        "published_at": "2026-01-08T17:16:35.580000Z",28        "stats": {29          "likes": 19,30          "replies": null,31          "dislikes": null32        },33        "is_pinned": null,34        "is_by_creator": null,35        "extra": {36          "depth": 0,37          "score": 19,38          "thing_id": "t1_nyfjrfq"39        }40      },41      {42        "object": "comment",43        "platform": "reddit",44        "id": "nyfa2v8",45        "url": "https://www.reddit.com/r/webscraping/comments/1q6pxwn/comment/nyfa2v8/",46        "post_id": "1q6pxwn",47        "parent_id": null,48        "author": {49          "id": "1000000001",50          "handle": "sample_user",51          "name": "Sample User",52          "url": null,53          "avatar_url": null,54          "verified": false55        },56        "text": "Pursuing web scraping as a sole career is a BIG NO but having web scraping skill in your arsenal is a good thing. Getting public data is so easy that so many extensions and tools are there to do it.\n\nThe real-world web scraping is involve c...",57        "published_at": "2026-01-08T16:34:37.027000Z",58        "stats": {59          "likes": 2,60          "replies": null,61          "dislikes": null62        },63        "is_pinned": null,64        "is_by_creator": null,65        "extra": {66          "depth": 0,67          "score": 2,68          "thing_id": "t1_nyfa2v8"69        }70      }71    ],72    "cursor": null,73    "has_more": false,74    "parent": {75      "object": "post",76      "platform": "reddit",77      "id": "1q6pxwn",78      "url": "https://www.reddit.com/r/webscraping/comments/1q6pxwn/just_started_web_scraping_is_this_a_good_start/",79      "type": "text",80      "author": {81        "id": "t2_16xbknfp71",82        "handle": "franik33",83        "name": "franik33",84        "url": "https://www.reddit.com/user/franik33/",85        "avatar_url": "https://preview.redd.it/snoovatar/avatars/5c702f7f-567b-460a-8bac-c91f154da646-headshot.png?width=64&height=64&crop=smart&auto=webp&s=5bbfe08fa505dabc7fd2ede595f19cb0e5b28502",86        "verified": null87      },88      "title": "Just Started Web Scraping - Is This a Good Start?",89      "text": "Hi everyone,\n\nI 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 e...",90      "published_at": "2026-01-07T20:01:30.561000Z",91      "duration_seconds": null,92      "language": null,93      "hashtags": null,94      "mentions": null,95      "stats": {96        "views": null,97        "likes": 33,98        "comments": 53,99        "shares": null,100        "saves": null,101        "dislikes": null102      },103      "media": {104        "thumbnail_url": null,105        "video_url": null,106        "audio_url": null,107        "image_urls": null,108        "width": null,109        "height": null110      },111      "song": null,112      "location": null,113      "is_pinned": null,114      "is_sponsored": null,115      "extra": {116        "award_count": 0,117        "domain": "self.webscraping",118        "post_type": "text",119        "score": 33,120        "subreddit": "webscraping",121        "subreddit_id": "t5_318ly",122        "upvote_ratio": 0.9230769230769231123      }124    }125  },126  "cursor": null,127  "has_more": false128}

Response#

A list of Comment objects in data.items, with data.cursor and data.has_more.

See Data models for every field. The envelope around data is described in Responses.

Errors#

Failures are free: credits_charged is 0. Branch on error.code, never on the message.

CodeHTTPRetryMeaning
invalid_params400noA parameter is missing, unknown or has the wrong type.
unsupported_url400noThe URL is not one this endpoint accepts (wrong platform or form).
not_found404noThe platform says this profile, post or item does not exist.

Every request can also fail with the account and platform errors listed on the Errors page.