Skip to content
RCE

API

Every Reddit comment.
One HTTP call.

A simple Reddit comments API — send a thread URL, get a clean JSON tree with every comment, hierarchy preserved and "more replies" auto-expanded. Pro plans include 100 thread exports per month. cURL, JavaScript, Python, PHP, Go, and Java samples below.

No OAuth dance. No per-call price math. No comment forests to flatten yourself. If you'd rather not write a programmatic integration at all, the Chrome extension does the same job in one click on any Reddit page you have open.

Base URL

https://api.redditcommentexporter.com

Quota

100 / month

resets on the 1st UTC

Per export

5,000 cmts max

larger threads return truncated: true

Authentication

Generate a key on the . Plaintext is shown exactly once at creation. Pass it on every request:

HTTP
Authorization: Bearer rce_live_<YOUR_KEY>

Treat keys like passwords — keep them on a server you control, never ship them in client-side code. If a key leaks, revoke it immediately and create a new one.

Fetch thread comments

POST/v1/api/comments

Pulls every comment from a Reddit post — including nested replies and comments behind "load more" — and returns them as a recursive tree. Counts as one export against your monthly quota regardless of thread size.

Request body

  • url required A reddit.com post URL. old.reddit.com, np.reddit.com, and www.reddit.com variants are all accepted.
  • maxComments optional Cap the number of comments returned. Defaults to 5,000, which is also the hard ceiling.
Request
curl -X POST https://api.redditcommentexporter.com/v1/api/comments \
  -H "Authorization: Bearer $RCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.reddit.com/r/AskReddit/comments/abc123/example/"
  }'
Response
200 OK
{
  "post": {
    "id": "abc123",
    "title": "Example post title",
    "author": "exampleuser",
    "subreddit": "AskReddit",
    "score": 12400,
    "upvote_ratio": 0.94,
    "num_comments": 832,
    "created_utc": 1704067200,
    "permalink": "/r/AskReddit/comments/abc123/example/",
    "url": "https://www.reddit.com/r/AskReddit/comments/abc123/example/",
    "selftext": ""
  },
  "comments": [
    {
      "id": "ed1czme",
      "author": "sweatybeard",
      "body": "Comment body text…",
      "score": 12211,
      "created_utc": 1546378524,
      "parent_id": "t3_abc123",
      "permalink": "/r/AskReddit/comments/abc123/example/ed1czme/",
      "depth": 0,
      "replies": []
    }
  ],
  "meta": {
    "comments_returned": 832,
    "truncated": false,
    "upstream_calls": 4
  },
  "usage": {
    "used": 12,
    "limit": 100,
    "monthKey": "2026-05",
    "resetsAt": "2026-06-01T00:00:00.000Z"
  }
}

Each comment carries an id, author, body, score, created_utc (Unix seconds), parent_id, permalink, depth (0 = top-level), and a replies array with the same shape. Every X-RateLimit-* header on the response mirrors the values inside usage.

List your saved threads

GET/v1/api/threads

GET/v1/api/threads/{id}

Read-only access to threads you've saved through the extension. The list endpoint returns metadata; the detail endpoint returns the full payload. Does not count against your export quota.

Request
curl https://api.redditcommentexporter.com/v1/api/threads \
  -H "Authorization: Bearer $RCE_API_KEY"

Errors

Status Code Meaning
400 invalid_reddit_url URL is missing or doesn't look like a Reddit post.
401 missing_api_key / invalid_api_key Header missing, malformed, or the key has been revoked.
403 pro_plan_required The key's owner is no longer on a Pro plan.
404 not_found Thread ID doesn't match a saved thread of yours.
429 monthly_limit Exhausted your monthly export quota. Resets on the 1st UTC.
503 upstream_busy Transient — retry with exponential backoff.

Need a higher quota or a use case the API doesn't cover yet? Email hello@redditcommentexporter.com.