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
Install Reddit Comments Scraper
Free on the Chrome Web Store. No account required to install, and no Reddit login at any point.
- 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
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
Export to CSV or JSON
One click writes a flat file with the seven columns below, ready to open in Excel, Sheets, or pandas.
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