Reddit · Guide

How to Export Reddit Comments to CSV Without Reddit's API

Two of the three classic workarounds are dead. Here's what still works, what it costs, and exactly what you get back.

Published August 14, 2026 · 8 min read

Short answer: the .json URL trick no longer works and Reddit is not accepting new API app registrations, so the two remaining no-login options are a browser extension or a third-party API. For a one-off export, use the free Reddit Comments Scraper Chrome extension. To automate it, use FetchLayer's Reddit API.

CSV columns
7 per comment
Reddit login
Not required
API free tier
30 requests
API cost
$1.99 / 1,000

Every method compared

Status as of August 2026.

Method Works now? Credentials Code? Output Best for
Manual copy-paste Yes None No Whatever you paste Under ~30 comments, one time
Appending .json to the URL No longer None Yes Raw nested JSON Nothing — it's blocked
Official Reddit API (OAuth) Approved apps only OAuth client Yes JSON Apps approved before the lockdown
Reddit Comments Scraper (Chrome) Yes None No CSV or JSON One-off exports from the browser
FetchLayer Reddit API Yes Bearer token Yes JSON Automation, scheduled pulls, AI agents

Why the old routes closed

For years the answer to "how do I get Reddit comments without the API" was to append .json to any thread URL. It returned the entire comment tree, needed no authentication, and cost nothing. That endpoint has since been locked down and no longer returns data reliably.

The official API is technically still there, but it requires a registered OAuth application, and new app registrations are not being accepted. If you don't already hold an approved client from before the lockdown, writing code against the official API isn't an option you can act on today.

Pushshift, the archive most researchers leaned on for bulk historical pulls, is also no longer a general-purpose option. That leaves manual copy-paste, which stops being practical after a few dozen comments, or a tool that already has retrieval solved.

Exporting a thread in four steps

  1. 1

    Install Reddit Comments Scraper

    Free on the Chrome Web Store. No account required to install, and no Reddit login at any point.

  2. 2

    Open the side panel on the thread

    Navigate to any public Reddit thread and click the extension icon. If you're already on the thread, the URL auto-fills.

  3. 3

    Set your limit and depth

    Cap how many comments to pull and how deep into nested reply chains to go. Depth 0 gets top-level only; depth 3 covers almost every real discussion.

  4. 4

    Export to CSV or JSON

    One click writes a flat file with the seven columns below, ready to open in Excel, Sheets, or pandas.

Reddit Comments Scraper side panel showing CSV and JSON export with adjustable comment limit and reply depth

What the exported CSV actually looks like

One row per comment, seven columns, with the reply structure preserved through depth and parent_id:

id,parent_id,depth,author,score,created_utc,body
t1_k8f2a1,,0,throwaway_dev,342,2026-08-02T14:21:09Z,"Been running this in prod for six months. AMA."
t1_k8f3b7,t1_k8f2a1,1,saas_builder,88,2026-08-02T14:44:51Z,"How are you handling rate limits at that volume?"
t1_k8f4c2,t1_k8f3b7,2,throwaway_dev,51,2026-08-02T15:02:18Z,"Queue plus exponential backoff. Never hit a wall."
t1_k8f5d9,,0,lurker_2019,17,2026-08-02T16:10:33Z,"Saving this thread, thanks for writing it up."
Column What it holds
id Unique comment ID (t1_xxxxx)
parent_id ID of the comment being replied to; empty for top-level
depth Nesting level — 0 is top-level, 1 is a reply, and so on
author Reddit username, or [deleted]
score Net upvotes at time of export
created_utc Timestamp the comment was posted
body Full comment text, quoted and escaped for CSV

Those last two structural columns are what separate a usable export from a wall of text. A flat list of comment bodies tells you what was said; depth and parent_id tell you what each person was responding to, which is usually the part that carries the meaning.

Automating it with the API

A browser extension is the right tool while a human is choosing threads one at a time. Once you need this on a schedule, across many subreddits, or as input to a model, FetchLayer's Reddit scraping API exposes the same data over REST across 15 endpoints, with no OAuth application to register.

The /post endpoint returns the post plus its comment tree:

curl -X POST https://api.fetchlayer.dev/reddit/post \
  -H "Authorization: Bearer $FETCHLAYER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "postId": "https://reddit.com/r/startups/comments/abc123/",
    "sort": "best",
    "limit": 100,
    "depth": 3
  }'

The same call from Node or the browser:

const res = await fetch("https://api.fetchlayer.dev/reddit/post", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.FETCHLAYER_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    postId: "https://reddit.com/r/startups/comments/abc123/",
    sort: "best",
    limit: 100,
    depth: 3,
  }),
});

const { post, comments } = await res.json();
console.log(post.title, post.numComments, comments.length);

And what comes back:

{
  "post": {
    "title": "What we learned scaling to 10k users",
    "author": "throwaway_dev",
    "score": 1284,
    "upvoteRatio": 0.94,
    "numComments": 317,
    "permalink": "/r/startups/comments/abc123/",
    "createdUtc": 1754143269
  },
  "comments": [
    {
      "id": "t1_k8f2a1",
      "author": "throwaway_dev",
      "body": "Been running this in prod for six months. AMA.",
      "score": 342,
      "replies": [ ... ]
    }
  ]
}

Using Reddit data inside an AI agent

If the destination for this data is an LLM rather than a spreadsheet, skip the export step entirely. FetchLayer ships an MCP server that exposes its endpoints as native tools, so Claude, Cursor, Windsurf, or VS Code can pull live Reddit threads into context on their own. Add one block to your MCP config:

{
  "mcpServers": {
    "fetchlayer": {
      "url": "https://mcp.fetchlayer.dev",
      "headers": {
        "Authorization": "Bearer sk-..."
      }
    }
  }
}

After that, "summarise the top objections in this thread" works against live data with no scraping code in your project at all.

What it costs

The extension is free to install and every account starts with 30 free FetchLayer requests, which is enough to export real threads before deciding anything. Beyond that, pay-as-you-go credits run $1.99 per 1,000 requests — $0.00199 a call — and never expire. Billing is per request, not per comment returned, so a 400-comment thread and a 4-comment thread cost the same single credit. There's no subscription and no monthly minimum.

Frequently asked questions

Does appending .json to a Reddit URL still work in 2026?

No. Appending .json to a thread URL used to return the full comment tree with no authentication, and it was the standard no-API workaround for years. Reddit has since locked it down, so it now fails or blocks for most requests and can't be relied on. The remaining no-login options are a browser extension like Reddit Comments Scraper or a third-party API such as FetchLayer.

Do I need a Reddit account or API key to export comments?

No. Reddit Comments Scraper works on any public thread without logging into Reddit or registering a developer app. That matters more than it used to: Reddit's official API requires an approved OAuth application, and new app registrations are not being accepted, so for most people the official route is closed regardless of willingness to write code.

What columns does the CSV export contain?

Seven per comment: id, parent_id, depth, author, score, created_utc, and body. The combination of depth and parent_id is what lets you rebuild the thread structure after export — without them you have a flat list of text with no idea which comment replied to which.

Will it capture deeply nested replies, or just top-level comments?

It walks the full comment tree, including "continue this thread" branches, and records a depth value for every comment so you can tell exactly how nested each reply is. You can also cap the depth if you only need the first few levels.

What's the difference between the extension and the FetchLayer API?

Same data, different interface. The extension is for one-off manual pulls from your browser. The FetchLayer Reddit API is for automation: scheduled pulls, monitoring many subreddits, or feeding comments into an LLM pipeline. It exposes 15 Reddit endpoints, costs $1.99 per 1,000 requests with 30 free to start, and bills one credit per call no matter how many comments come back. Reddit Comments Scraper runs on that API, so the field names carry over.

How much does it cost to export a large thread?

Through the API, one call to the /post endpoint is one credit — $0.00199 — regardless of whether the thread returns 10 comments or 500, because billing is per request rather than per row returned. Very large threads paginate, so a 5,000-comment thread costs a handful of credits rather than thousands.

Ready to export a thread?

Get Reddit Comments Scraper for Chrome, free, no Reddit login required.

Get Reddit Comments Scraper