All endpoints
Reddit Post Comments

Reddit Post Comments API

Get the comments on a Reddit post, replies included, by URL or post ID. Comments come in thread order (each followed by its replies), with depth, parent ID, text, author, score, date, permalink and submitter/pinned/edited flags. Sort by top, best, newest, controversial, oldest or Q&A. Up to about 500 comments per thread.

Price: $0.003 per page
Free tier: 50 requests/month
Endpoint
GET /v1/reddit/post/comments

Parameters

url
Reddit post URL, e.g. https://www.reddit.com/r/Python/comments/1wwv97o/my_python_magic_is_gone/ or https://redd.it/1wwv97o (max 500 characters). Provide exactly one of url or post_id.
post_id
Reddit post ID, e.g. 1wwv97o (a t3_ prefix is accepted). Provide exactly one of url or post_id.
sort_by
Sort order: top, best (Reddit's default order), most_recent, controversial, oldest, or qa (Q&A) (default: top)
pages
Number of pages to fetch, 1-10 (default: 1). Each page returns up to 50 comments.
get_sentiment
Set to true to add AI emotion analysis (+$0.001/page)

Response fields

comments
The post's comments in thread order (each comment followed by its replies)
comment_id
Comment ID
post_id
ID of the post the comment is on
parent_id
ID of the parent comment, or the post ID for a top-level comment
text
Comment text (Markdown)
author
Commenter's Reddit username ([deleted] for a deleted account)
author_url
Link to the commenter's profile (empty for a deleted account)
upvotes
Net upvotes
date
Publication date and time (UTC)
url
Direct link to the comment
subreddit
Subreddit name
is_submitter
Whether the commenter is the post's author
stickied
Whether a moderator pinned the comment
edited
Whether the comment has been edited
source
"Reddit"
domain
"reddit.com"
depth
Nesting level: 0 for a top-level comment, 1 for a reply, and so on
sentiment
Emotion analysis: emotions, dominant_emotion, emotional_intensity, polarity (when get_sentiment=true)
post_id
The post ID
sort_by
The sort order used
pages
Number of pages returned
count
Number of comments returned

Example Request

curl "https://apidirect.io/v1/reddit/post/comments?post_id=1wwv97o&sort_by=top&pages=2" \
  -H "X-API-Key: YOUR_API_KEY"

Example Response

{
  "comments": [
    {
      "comment_id": "pdo5esc",
      "post_id": "1wwv97o",
      "parent_id": "pdo3akk",
      "text": "It’s slightly different (worse) than that because incorporating AI properly can both speed you up -and- give a better final product. Whereas for the artist t...",
      "author": "SirPitchalot",
      "author_url": "https://www.reddit.com/user/SirPitchalot",
      "upvotes": 104,
      "date": "2026-10-03 19:38:31",
      "url": "https://www.reddit.com/r/Python/comments/1wwv97o/my_python_magic_is_gone/pdo5esc/",
      "subreddit": "Python",
      "is_submitter": false,
      "stickied": false,
      "edited": true,
      "source": "Reddit",
      "domain": "reddit.com",
      "depth": 1,
      "sentiment": {
        "emotions": {
          "joy": 40,
          "trust": 55,
          "fear": 0,
          "surprise": 10,
          "sadness": 0,
          "disgust": 0,
          "anger": 0,
          "anticipation": 30
        },
        "dominant_emotion": "trust",
        "emotional_intensity": 5,
        "polarity": "positive"
      }
    }
  ],
  "post_id": "1wwv97o",
  "sort_by": "top",
  "pages": 2,
  "count": 100
}

Frequently asked questions

How do I rebuild the reply tree?

Each comment carries depth and parent_id. A top-level comment has depth 0 and the post ID as parent_id; a reply's parent_id is the comment it answers. The list is already in thread order, so indenting by depth reproduces the thread.

How many comments can I get?

Up to about 500 per thread: Reddit only expands that many in one go. Very large threads return their highest-ranked ~500 under the chosen sort.

How am I billed?

Per page of 50 comments returned. A thread with 120 comments costs 3 pages even if you ask for 10.

How does pricing work?

You only pay for successful requests. The Reddit Post Comments API costs $0.003 per page. There are no monthly fees or commitments. You get 50 free requests per endpoint every month.

Do I need a credit card to start?

No. You can sign up and use the free tier (50 requests/endpoint/month) without adding a payment method. You only need to add a card when you want to exceed the free tier.

Are there rate limits?

Yes, there's a concurrency limit of 10 simultaneous requests per endpoint per user. If you need more, just get in touch.

Start using the Reddit Post Comments API

Get your API key and start making requests in minutes. 50 requests/month free every month.

Get API Key