Reddit Scraper
Pricing
Pay per event
Reddit Scraper
Pricing
Pay per event
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
A Reddit scraper that returns posts, comment trees and search results without an API key, a login or an OAuth token. Three modes on one input: a subreddit listing, a single post with its comments, or a search.
It works because it does not use the endpoint everything else used. Reddit closed the unauthenticated JSON API in late May 2026, and that is what broke most Reddit scrapers in circulation.
What you get
- Three modes from one actor: subreddit listing, single post with its full comment tree, and search across Reddit or inside one subreddit
- Score, comment count, author, subreddit and timestamp on every post, read from Reddit's own data attributes rather than scraped out of rendered text
- Comment depth, so the reply tree is reconstructable rather than a flat list
score_hiddenas its own field, because Reddit deliberately hides comment scores for the first hour. A null score withscore_hidden: trueis a real state, not a parse failure- Post flags that matter for analysis: NSFW, spoiler, original content, crosspost count, and whether a row is a promoted post rather than an organic one
- Real pagination that follows Reddit's own next cursor, so a 1.000-row run walks 40 pages correctly instead of re-fetching page one
- All five sorts (hot, new, top, rising, controversial) with the time window Reddit itself offers
- No actor-start fee. A run that returns nothing costs nothing
Why this one still works
Before May 2026, appending .json to any Reddit URL returned clean JSON with no authentication. Nearly every open-source Reddit scraper was built on that, and nearly all of them now return 403. Adding an API key does not fix it either, because Reddit's bot detection blocks the request shape regardless of the token.
This actor does not use those endpoints. It reads a rendering surface Reddit still serves in full, re-measured across 27 request profiles and 7 surfaces on 2026-09-01, and it keeps a ranked ladder of fallbacks so a single surface change does not take the actor down. Requests go out through country-pinned residential exits, so results match what a reader in that country sees.
The fields come from structured attributes on each post rather than from rendered text, so score, comment count, author, subreddit, timestamp, NSFW and promoted flags stay correct across Reddit's redesigns instead of breaking on the next CSS change.
Input
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
mode | select | yes | subreddit | subreddit, post or search |
subreddit | string | conditional | webscraping | Required in subreddit mode; optional in search mode to restrict the search |
post_url | string | conditional | – | Required in post mode. Any Reddit post link, in any of its URL forms |
query | string | conditional | – | Required in search mode |
sort | select | no | hot | hot, new, top, rising, controversial |
time | select | no | all | Window for the top and controversial sorts, and for search |
limit | integer | no | 50 | Rows to return, 1 to 1000 |
proxy_country | string | no | – | Two-letter country code for the exit |
retries | integer | no | 4 | Retry attempts per page |
Output
{"position": 1,"type": "post","id": "t3_1w39wno","title": "Show HN: a small Rust crate for streaming JSON","url": "https://www.reddit.com/r/webscraping/comments/1w39wno/...","link_url": "https://www.reddit.com/r/webscraping/comments/1w39wno/...","author": "alex_pushing40","subreddit": "webscraping","score": 35,"comments_count": 15,"created_at": "2026-08-27T02:38:44Z","domain": "self.webscraping","rank": 1,"is_nsfw": false,"is_promoted": false,"crossposts": 0,"selftext": "I built a fetcher that ...","flair": null}
Comment rows carry type: "comment", plus text, depth, post_id, score and score_hidden.
Use cases
Monitoring what a community says about your product. Search mode with your brand name, sorted by new, on a schedule. Because created_at and score come back as real values, you can separate a post that is quietly sitting at two upvotes from one that is climbing, which is the difference between noise and something you need to answer today.
Building a dataset for a model. Subreddit mode with a high limit gives you posts with their full self text; post mode gives you the whole discussion under any of them with the reply depth intact. selftext and text are plain text with the markup stripped, which is what an embedding pipeline wants.
Tracking a subreddit's agenda over time. Run top with time: week on a schedule and store the results. Which topics reach the top of a community, and at what score, is a trend signal that no analytics product sells you.
Competitive and sentiment research. Reddit is where people say what they actually think about tools they pay for. Search inside the subreddits where your category lives, keep the rows with score above a threshold, and you have a filtered feed of opinions that carried weight with other readers.
How it compares
| this actor | trudax/reddit-scraper-lite | |
|---|---|---|
| Per 1.000 rows | $2,50 | $4,00 |
| Actor-start fee | none | $0,02 per GB on start |
| 30-day run failure rate | 0% across validation runs | 11,8% |
| Modes | subreddit, post, search | listing focused |
| Comment depth | yes | not stated |
| Distinguishes a hidden score from a missing one | yes | no |
| Promoted-post flag | yes | no |
Honest about the other side: trudax/reddit-scraper-lite has 7.070 monthly users and 38 reviews against our zero, and it has been running far longer. The reason to switch is that it fails roughly one run in eight and charges a start fee before any row arrives.
Pricing
One event. item costs $0,0025 per post or comment returned, which is $2,50 per 1.000. All pricing is pay-per-event, so you only pay for rows you actually receive. No actor-start fee, no per-compute-unit charges, and a run that returns nothing costs nothing.
Limits and gotchas
- The
.jsonendpoints are dead and no scraper can revive them. Any tool still promising them is either using an authenticated token or is broken. This one reads HTML on purpose. - Comment scores are hidden for the first hour by Reddit's own rule. Those rows come back with
score: nullandscore_hidden: truerather than a fabricated zero. - Post mode returns the comments Reddit renders on the first page, which is the top of the tree rather than every reply on a thousand-comment thread. Deep threads collapse behind "load more comments" links that are not followed.
- Search results carry less detail than listings. Reddit's search template omits the data attributes, so
idandcreated_atcan be empty there while title, author, score and subreddit are present. - Private, quarantined and banned subreddits return nothing, which is correct rather than an error.
- Requests are paced deliberately, roughly one page per second with a jitter. A 1.000-row run takes about a minute, and pushing harder is what gets a scraper blocked.
FAQ
Can I scrape Reddit without an API key in 2026?
Yes, but not the way most guides describe. The unauthenticated .json endpoints stopped working in late May 2026, which is why most open-source scrapers now return 403. This actor uses a different, still-served rendering surface with a ranked ladder of fallbacks, so it keeps returning full rows.
Why do other Reddit scrapers return 403?
Because they call reddit.com/....json, which now refuses unauthenticated requests regardless of IP, country or user-agent. It is not a proxy problem and a better proxy will not fix it.
Can I get all the comments on a post? You get the comment tree Reddit renders on the post page, with depth, which is the top of the discussion. Replies hidden behind "load more comments" are not expanded.
Does it work on private subreddits? No. Anything requiring a logged-in account is out of reach by design, since there is no credential in the input.
Can I search inside one subreddit?
Yes. Use search mode and set subreddit as well as query, and the search is restricted to that community.
Related Actors
- Google News Scraper — headlines and coverage for any topic
- Google Search Results SERP — organic rankings at $0,25 per 1.000
- YouTube Comments Scraper — comment threads from any video