Reddit Trends Scraper
Pricing
$19.99/month + usage
Reddit Trends Scraper
Automatically extract Reddit trending posts and topic data with Reddit Trends Scraper. Capture upvotes, comments, posting time, and subreddit details for analytics dashboards and content performance research.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
API Empire
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
0
Monthly active users
23 days
Issues response
3 days ago
Last modified
Categories
Share
Reddit Trends Scraper — Posts, Subreddits and User Feeds as JSON
Reddit Trends Scraper extracts trending Reddit posts from four different kinds of input — subreddits, usernames, keyword searches and full Reddit URLs — and returns each post as a typed JSON row: title, post URL, upvotes, comment count, subreddit, subreddit access type, author, author profile and post time. No HTML, no selectors, no parsing step. Paste your targets, pick a sort order, set how many posts you want per target, and rows land in the dataset as each listing page finishes.
⚠️ Read the sort-order section below before your first run. Reddit does not accept the same sort values on every listing type, so sortOrder is honoured for subreddits but silently ignored for some combinations of username and keyword-search targets. That is Reddit's behaviour, not a bug in the Actor — but you should know it before you trust a rising keyword search.
What is Reddit Trends Scraper?
Reddit Trends Scraper is an Apify Actor that turns a mixed list of Reddit targets into one flat post dataset. It reads the old.reddit.com HTML surface and pulls values straight out of the structured data-* attributes Reddit renders on every post row, so what you get back is Reddit's own numbers rather than text scraped off the rendered page.
No Reddit account, login, cookie or OAuth app is required. Reddit's .json endpoints are 403-gated for logged-out clients, which is exactly why this Actor reads the HTML surface instead — every value it returns is already visible to any anonymous visitor.
- Scrape posts from any public subreddit listing, in Reddit's own sort order
- Scrape user submission feeds from a username or profile URL
- Scrape keyword search results across all of Reddit
- Mix all four input kinds — subreddits, usernames, keywords, URLs — in a single run
- Export as JSON, CSV, Excel, XML or HTML table; no proxy management, no parsing
⚠️ sortOrder does not apply equally to all four input kinds
This is the single most important thing to understand about this Actor, and none of the competing Reddit trend Actors document it.
sortOrder accepts five values — hot, new, top, rising, controversial — and the Actor passes your choice through to Reddit on every input kind. But Reddit only honours a sort value if that particular listing type supports it, and it does not return an error when it doesn't. It quietly falls back to the listing's default ordering.
sortOrder | Subreddit target | Username target | Keyword search |
|---|---|---|---|
hot | ✅ Honoured | ✅ Honoured | ✅ Honoured |
new | ✅ Honoured | ✅ Honoured | ✅ Honoured |
top | ✅ Honoured | ✅ Honoured | ✅ Honoured |
rising | ✅ Honoured | ❌ Not a Reddit sort for user feeds | ❌ Not a Reddit sort for search |
controversial | ✅ Honoured | ✅ Honoured | ❌ Not a Reddit sort for search |
Reddit's sort options for user submission listings are hot, new, top and controversial — rising is not among them. Reddit's documented sort options for search are relevance, hot, top, new and comment count — neither rising nor controversial is among them (Reddit Help — What filters and sorts are available, checked 25 July 2026). Where a value is not supported, Reddit serves its default ordering and the run completes normally with real posts — just not in the order you asked for.
Two more behaviours worth knowing, both read straight off the source:
- Keyword searches are windowed to the last day. The Actor always sends Reddit's
t=daytime filter on search targets, so a keyword search returns recent posts rather than all-time results. For subreddit and username targets,t=dayis sent only when you picktoporcontroversial, because those two listings render nearly empty without an explicit time window. - A bare one-word input is treated as a username, not a keyword.
machine learningbecomes a keyword search;bitcoinbecomesu/bitcoin. If you want a single-word keyword search, pass the full search URL instead — see the input pitfall note below.
Naming these up front costs nothing. Finding them out three runs in costs you a dataset.
What data does Reddit Trends Scraper collect?
Every target — subreddit, username, keyword or URL — produces rows with the same ten keys in the same order. That is the point: one schema across three structurally different Reddit surfaces, so downstream code never branches on where a post came from.
| Data Type | Key Fields | JSON Field Names |
|---|---|---|
| Post content and link | Post title, canonical post URL on www.reddit.com | title, postUrl |
| Post engagement | Reddit's own score and comment count, taken from the post's data attributes | upvotes, comments |
| Subreddit listing | Prefixed community name, community URL, and the community's real access type | subreddit, subredditUrl, subredditType |
| User submission feed | Author username as Reddit reports it, plus the absolute profile URL | author, authorProfile |
| Timing | Post creation time normalised to YYYY-MM-DD HH:MM:SS in UTC | postTime |
subredditTypeis the field to check. It carries the community's access type —public,restricted,private,archived— read from Reddit'sdata-subreddit-typeattribute. Checked on the Apify Store on 25 July 2026,easyapi/reddit-trends-scraperdocuments the same key as "Type of post (link, image, text, etc.)" and its published sample returns the constant"link";scraper-engine/reddit-trends-scraper's published sample also shows"link". If you have been treatingsubredditTypeas a post format, this Actor will return a different — and more useful — value.
Need more Reddit data?
Reddit Trends Scraper is built for breadth across listings, not depth inside a single thread. When you need the discussion itself, Reddit Posts Scraper (Buyer Question Detection) goes into post bodies and surfaces purchase-intent questions, and Reddit User Profile Posts And Comments Scraper By Subreddit pulls a single user's posts and comments split by community. Running trends first to find the threads, then one of those two to read them, is the usual pairing.
How does Reddit Trends Scraper differ from the official Reddit Data API?
The Reddit Data API is Reddit's supported programmatic surface, and since Reddit moved it to paid access on 1 July 2023 it is gated: you register an application, every request is authenticated through OAuth 2.0, and use beyond Reddit's free non-commercial tier requires a commercial agreement with Reddit (CNBC, 1 June 2023; TechCrunch, 4 July 2023). Reddit Trends Scraper reads the same public listings anonymously and returns them as a fixed ten-key row.
| Feature | Reddit Data API | Reddit Trends Scraper |
|---|---|---|
| Reddit account and registered app | Required | Not used |
| Authentication | OAuth 2.0 on every request | None — anonymous requests |
| Commercial use above the free tier | Requires an agreement with Reddit | Governed by Apify's terms and your own legal review |
| Data scope | Reddit's full documented endpoint surface, incl. comments and moderation | Public post listings from subreddits, user feeds and search |
| Input flexibility | One endpoint shape per call | Subreddits, usernames, keywords and URLs in one startUrls list |
| Output shape | Reddit's listing envelope, nested under data.children[].data | One flat row, ten keys, identical across all input kinds |
| Setup time | Registration and approval before the first call | Paste targets, press Start |
Use the Reddit Data API when you need comments, moderation actions, write access or a contractual basis for large-scale commercial use — it is the supported route and nothing here replaces it. Use Reddit Trends Scraper when you need public post listings across many subreddits, users and keywords quickly, without registering an application or negotiating a licence.
Why do developers and teams scrape Reddit?
Reddit is where product complaints, purchase debates and early trend signals get written down in plain language before they reach anywhere else. Four groups get the most out of it.
For AI engineers and agent builders
Reddit post listings are unusually clean training and retrieval material: title is a human-written summary of the thing being discussed, and upvotes and comments give you a community-scored relevance signal for free. A typical pipeline runs ten subreddits with sortOrder: "top", filters rows where upvotes is not null and above a threshold, then indexes title plus subreddit into a vector store keyed on postUrl. An agent can then answer "what is r/selfhosted actually complaining about this week" against live listings rather than a stale dump — and because every row is typed JSON, there is no parsing step between the Actor and the model.
For marketers and brand teams
Trend tracking is the core job. Run a keyword search on your brand or category alongside the three or four subreddits your buyers live in, sorted by hot or rising, and diff the results run over run. upvotes and comments separate a post that is genuinely spreading from one that just exists, and postTime tells you how fast it got there. subreddit tells you which community carried it, which is what decides where a response actually belongs. Schedule the same input daily and you have a Reddit early-warning feed without anyone refreshing a browser tab.
For researchers and analysts
Everything returned is publicly visible to an anonymous visitor — no login, no private subreddits, no member lists. That scope matters for research approvals. A discourse study can pull sortOrder: "controversial" across a set of topic subreddits and use upvotes against comments as a disagreement proxy, since heavily commented posts with suppressed scores are the contested ones. subredditType records whether each community was public, restricted or archived at collection time, which is a methodological detail most Reddit datasets simply do not carry.
For developers building data products
startUrls takes any mix of the four input kinds, so one Actor covers what would otherwise be three separate integrations. The output contract is ten keys, always present, identical for subreddit rows, user-feed rows and search rows — so your ingestion code has one shape to handle. Schedule the run in Apify, attach a webhook on success, and pull the dataset through the Apify API into your own store. postUrl is stable and canonical on www.reddit.com, which makes it a reliable deduplication key across repeated runs.
How to scrape Reddit (step by step)
Reddit Trends Scraper runs on Apify. Start it from the Apify Console or call it through the Apify API.
- Open Reddit Trends Scraper on Apify and click Try for free
- Paste your targets into Reddit URLs, Subreddits, Usernames, or Keywords (
startUrls) — this is the only required input, and you can mix subreddits, usernames, keywords and full URLs in the same list - Pick a Sort Order (
sortOrder) and set Maximum Posts (maxPosts) — note thatmaxPostsis per target, not per run - Leave Proxy Configuration on Apify Residential; Reddit rate-limits datacenter IPs
- Click Start, then download the dataset as JSON, CSV, Excel, XML or an HTML table
To build a target by hand, open the listing you want in a browser and copy the address bar — https://www.reddit.com/r/python/ works as-is, and the Actor rewrites the host to old.reddit.com itself.
What to do when Reddit changes its structure
The Actor reads Reddit's data-* attributes rather than CSS classes or rendered text, so a visual change to old.reddit generally does not touch it. It is maintained, and the output contract — the same ten keys, same types — is what stays stable on your end, so scheduled runs and downstream mappings keep working across updates.
What changed in Reddit scraping recently?
The defining change was Reddit moving its Data API to paid access on 1 July 2023, which required OAuth-authenticated registered applications and priced large-scale third-party use out of the free tier; several major third-party Reddit apps shut down rather than pay (CNBC, 1 June 2023; TechCrunch, 4 July 2023).
Two follow-ups tightened the non-API side. In May 2024 Reddit published its Public Content Policy, defining what partners may access under a licensing agreement. On 25 June 2024 Reddit announced an updated robots.txt and said it would continue rate-limiting or blocking bots and crawlers that operate outside that policy without an agreement (TechCrunch, 25 June 2024).
For DIY scrapers this raised the floor: default HTTP clients are TLS-fingerprint-blocked, datacenter IPs are rate-limited, and the .json endpoints return 403 to logged-out callers. For Reddit Trends Scraper users, none of that is your problem — the Actor already impersonates browser TLS fingerprints, rotates them on a block, and honours whatever proxy you select. Public post listings remain publicly accessible; that is all this Actor reads, and it is maintained against changes on that surface.
⬇️ Input
Four parameters. Only startUrls is required.
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
startUrls | Yes | array | Add subreddits (e.g. r/popular), usernames (e.g. u/spez or spez), search keywords (e.g. machine learning), or full Reddit URLs (e.g. https://www.reddit.com/r/python/). Bulk input is supported. Plain strings and { "url": "..." } objects are both accepted. | ["r/popular", "u/spez", "machine learning"] |
sortOrder | No | string | Server-side listing sort passed to Reddit: hot, new, top, rising, or controversial. For subreddits this maps to /r/<sub>/<sort>/; for user profiles and keyword search it maps to ?sort=. Default is hot. | "top" |
maxPosts | No | integer | Maximum number of posts to scrape per target. The scraper paginates until it reaches this many posts or the listing is exhausted. Minimum 1. Default 10. | 25 |
proxyConfiguration | No | object | Proxy used for the Reddit requests. Your selection is honored exactly as supplied (no proxy, Apify datacenter, Apify residential, or custom). Residential is recommended because Reddit rate-limits datacenter IPs. | {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
Common pitfall: a bare token with no space and no slash is routed to a user feed, not a keyword search. bitcoin is fetched as u/bitcoin. For a single-word keyword search, pass the search URL instead — https://www.reddit.com/search/?q=bitcoin — and the Actor will read the keyword out of q= and run it as a search. Multi-word inputs like machine learning already route to search correctly.
Example input
{"startUrls": ["r/popular","r/python","https://www.reddit.com/r/selfhosted/","u/spez","machine learning"],"sortOrder": "top","maxPosts": 25,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
⬆️ Output
Every post is one dataset row with the same ten keys, in the same order, for every input kind. Subreddit listings, user submission feeds and keyword search results all normalise to the identical shape, so nothing downstream has to know which surface a row came from. Export as JSON, CSV, Excel, XML or an HTML table, or read the dataset through the Apify API.
Three things about missing values, because they are deliberate:
upvotesandcommentscome back asnull— never a faked0— when Reddit hides the score on a post. A0in your dataset is a real zero.subredditTypeisnullon keyword-search rows only. Reddit does not expose the community access type in its search-results markup, so the Actor returns null rather than guessing a value.authorProfileis""when the author is[deleted], because there is no profile to link to.postTimeis""when Reddit's timestamp is missing or unparseable. Keys are never dropped, so no presence check is needed.
Promoted and sponsored rows are skipped before they reach the dataset, and only true post records (t3_ fullnames) with a non-empty title are written. No accounting, error or status rows are ever pushed — the dataset contains posts and nothing else, so no filter expression is needed to clean it, and a blocked or empty target reduces your row count rather than adding a row you have to exclude.
Scraped post — subreddit listing or user feed
{"title": "After 6 months of self-hosting, here's what I'd do differently","postUrl": "https://www.reddit.com/r/selfhosted/comments/1abc234/after_6_months_of_selfhosting_heres_what_id_do/","upvotes": 4821,"comments": 613,"subreddit": "r/selfhosted","subredditUrl": "https://www.reddit.com/r/selfhosted","subredditType": "public","author": "rack_and_stack","authorProfile": "https://www.reddit.com/user/rack_and_stack","postTime": "2026-07-24 08:12:47"}
Scraped post — keyword search result
Same ten keys. subredditType is null because Reddit does not publish it on the search-results page.
{"title": "Machine learning interview prep — what actually got asked","postUrl": "https://www.reddit.com/r/MachineLearning/comments/1def567/machine_learning_interview_prep_what_actually_got/","upvotes": 1907,"comments": 284,"subreddit": "r/MachineLearning","subredditUrl": "https://www.reddit.com/r/MachineLearning","subredditType": null,"author": "gradient_ghost","authorProfile": "https://www.reddit.com/user/gradient_ghost","postTime": "2026-07-25 06:41:09"}
Scraped post — deleted or removed author
Reddit serves a [deleted] sentinel in place of the username. The Actor passes it through verbatim and leaves authorProfile empty rather than building a link to a profile that does not exist.
{"title": "[Removed by moderator]","postUrl": "https://www.reddit.com/r/popular/comments/1ghi890/removed_by_moderator/","upvotes": null,"comments": 42,"subreddit": "r/popular","subredditUrl": "https://www.reddit.com/r/popular","subredditType": "public","author": "[deleted]","authorProfile": "","postTime": "2026-07-23 19:03:55"}
How does Reddit Trends Scraper handle Reddit's anti-bot system?
Reddit's defences here are TLS fingerprinting, IP rate-limiting and an interstitial bot wall — not a captcha — and the Actor is built around exactly those three.
Requests are sent with browser-accurate TLS impersonation rather than a default HTTP client signature, because plain requests/aiohttp traffic is JA3-fingerprint-blocked outright. Four fingerprints are rotated across retries — safari17_0, chrome131, safari15_5, chrome124 — since Reddit's bot wall challenges some fingerprints and not others. A fresh proxy URL is requested on every attempt, so a fingerprint rotation is also an IP rotation when you have Apify Proxy selected.
A response is treated as blocked when the status is not 200, the body is under 1,500 characters, or Reddit's own bot-wall text (whoa there, pardner, you've been blocked) appears near the top of the page — so a soft block that returns 200 with an empty shell is caught rather than parsed into zero rows. The first page of each target gets up to four attempts, one per fingerprint; subsequent pages get two, with a short pause between attempts and between pages. Each request has a 45-second timeout.
Your proxyConfiguration is honoured exactly as supplied — nothing is hard-forced. Choose no proxy and the Actor runs direct. If a proxy cannot be built it logs a warning and continues without one instead of failing the run. A target that still cannot be fetched is logged and skipped; the run continues with the remaining targets.
How does Reddit Trends Scraper compare to other Reddit scrapers?
Claims below are as observed on each Actor's live Apify Store listing on 25 July 2026.
| Feature | Reddit Trends Scraper | Generic Reddit trends Actor |
|---|---|---|
| Input kinds accepted | ✅ Subreddits, usernames, keywords and full URLs in one list | easyapi/reddit-trends-scraper documents only maxItems and proxyConfiguration; scrapestorm/…---cheap documents only maxitems — neither documents a target input |
| Sort control | ✅ sortOrder with five values, plus a documented per-input-kind applicability matrix | Not documented on any of the three listings |
subredditType meaning | ✅ Community access type (public / restricted / private / archived) | easyapi documents it as post type; its sample and scraper-engine's sample both show the constant "link" |
| Hidden scores | ✅ null when Reddit hides the score, never a faked 0 | scraper-engine's published sample shows "upvotes": 0 alongside 254 comments |
| Output typing | ✅ Native JSON numbers for upvotes and comments | scrapestorm's published sample returns "score": "5374" and "comment_count": "121" as strings, and "N/A" string literals for absent award fields |
If you are building an AI agent or a RAG pipeline, the output-format row is the decision-maker — parsing HTML, or coercing "5374" and "N/A" into numbers inside an agent loop, is a reliability failure mode rather than a feature. scrapestorm's listing documents the widest field set of the three, including award and post-type fields this Actor does not return; if those specific fields are what you need, that is the honest recommendation.
How many results can you scrape with Reddit Trends Scraper?
There is no maximum on maxPosts in the Actor. The schema sets a default of 10 and a minimum of 1, and no upper bound at all — the ceiling you actually hit is Reddit's, not the Actor's.
maxPosts is applied per target, not per run. Five entries in startUrls with maxPosts: 25 produce up to 125 rows.
Pagination follows Reddit's own cursor. The Actor requests a listing page, reads the last post's t3_ fullname off the page, and passes it back as Reddit's after parameter with a matching count offset for the next page. The per-page request limit is capped at 100 and is set slightly above what is still needed, so promoted rows and unparseable entries that get dropped do not cost you a page. Pagination stops on the first of four conditions: your maxPosts is reached, Reddit stops returning a next cursor (the listing is exhausted), a page comes back blocked after its retries, or a page contains no post rows at all. Reddit limits how deep any single listing can be paged, so a very large maxPosts on a small or shallow listing simply ends early with whatever the listing held.
Integrate Reddit Trends Scraper and automate your workflow
Reddit Trends Scraper is an Apify Actor, so it works with any language or tool that can send an HTTP request or read an Apify dataset.
Calling Reddit Trends Scraper from Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("<YOUR_USERNAME>/reddit-trends-scraper").call(run_input={"startUrls": ["r/python", "u/spez", "machine learning"],"sortOrder": "top","maxPosts": 25,"proxyConfiguration": {"useApifyProxy": True, "apifyProxyGroups": ["RESIDENTIAL"]},})for post in client.dataset(run["defaultDatasetId"]).iterate_items():if post["upvotes"] is not None and post["upvotes"] > 1000:print(post["subreddit"], post["upvotes"], post["title"], post["postUrl"])
Works in Python, Node.js, Go, Ruby, cURL — any language that can make an HTTP request. Guard on post["upvotes"] is not None before comparing, since hidden scores are returned as null.
Automation platforms (n8n, Make, LangChain)
In n8n, use the Apify node — or an HTTP Request node pointed at the Apify run endpoint with your token — and pass the same JSON input shown above; a Filter node on upvotes then routes only high-signal posts onward. In Make, the Apify module supports run-and-wait, so a daily subreddit sweep can feed a Google Sheets, Airtable or Slack step directly. For LangChain, wrap the Apify API call as a tool that takes startUrls and sortOrder as arguments — the ten-key response needs no output parser, so it can be handed to the model as-is. Apify's own schedules and webhooks cover recurring runs and success notifications without any of these.
Is it legal to scrape Reddit?
Scraping publicly visible Reddit posts is broadly treated as permissible where no authentication is bypassed, and Reddit Trends Scraper collects only what an anonymous visitor already sees — no account, no cookie, no session, no private or restricted community content.
That said, this output is personal data. Reddit posts carry usernames, author profile links and user-generated content, so GDPR, CCPA and equivalent regimes attach to it. A pseudonymous username is still personal data under GDPR — pseudonymisation reduces risk, it does not remove the obligation. You need a lawful basis to store and use these records, and the data-subject rights that come with it apply.
Reddit's own terms of service and its published Public Content Policy are contractual considerations separate from the data-protection question, and both are worth reading before a sustained collection programme.
Consult legal counsel for commercial use cases involving bulk personal data.
❓ Frequently asked questions
Does Reddit Trends Scraper work without a Reddit account?
Yes. No Reddit account, login, cookie, OAuth application or API key is used anywhere in the Actor. Requests are anonymous. The only credential involved is your Apify token, and only if you are calling the Actor through the Apify API rather than the Console.
How often is the scraped data updated?
Every run fetches live. Nothing is cached between runs — the Actor requests the listing pages fresh each time, so a run started now reflects Reddit as of now. For repeated collection, use Apify schedules and diff on postUrl, which is stable and canonical across runs.
What happens when a keyword search returns zero results?
You get zero rows for that target and the run continues to the next one. The Actor parses the page, finds no post records in either the standard listing markup or the search-results markup, logs that the page had no posts, and moves on. No error row is written, no partial row is fabricated, and no charge is incurred for a post that was never returned. Because keyword searches are windowed to the last day, an over-specific keyword is the most common cause of an empty result — widen the term, or supply a search URL with your own t= value.
What happens if a subreddit is private, quarantined or banned?
Also zero rows for that target, and the run continues. Reddit serves an interstitial or an error status instead of a listing; the Actor treats a non-200 status or a body under 1,500 characters as a block, works through its fingerprint-rotation retries, then logs the failure and skips the target. If Reddit instead returns a full-length interstitial page with no post rows, it is recorded as an empty listing.
One honest caveat: a genuine block and a genuinely empty listing look identical in the dataset — both produce no rows. The run log distinguishes them, with a "blocked" warning in the first case and a "no posts found" info line in the second. Check the log when a target you expected to work comes back empty.
Can I scrape private or restricted Reddit content?
No. Only publicly accessible listings are returned. Private and restricted subreddits, quarantine-gated communities, and anything behind a Reddit login are not reachable, because the Actor never authenticates. subredditType records the access type of each community it did read, so you can confirm the scope of your own dataset after the fact.
Does Reddit Trends Scraper work for AI agent workflows and LLM pipelines?
Yes. It is callable as a standard HTTP-triggered Apify Actor run, so LangChain, CrewAI, n8n or a hand-written tool definition can invoke it and receive typed JSON with no parsing step. Every response is ten keys with fixed types, identical across subreddit, user-feed and search rows — pass a row straight into an LLM context window, index it into a vector store, or route it through an agent tool.
How does Reddit Trends Scraper compare to other Reddit scrapers?
Checked on the Apify Store on 25 July 2026: easyapi/reddit-trends-scraper documents the identical ten output keys and is the most used of the three, but its listing documents only maxItems and proxyConfiguration as inputs — no target, no sort. scrapestorm/reddit-trends-posts-scraper---cheap documents the widest field set, including post type, domain, subreddit ID and award fields, with maxitems as the sole input; its published sample returns numeric values as strings and "N/A" literals. scraper-engine/reddit-trends-scraper documents startUrls and proxyConfiguration with the same ten output keys. What this Actor documents that none of them do: four input kinds routed explicitly, the per-input-kind sort applicability matrix, subredditType as a community access type, and null rather than 0 for hidden scores.
Does Reddit Trends Scraper return data in a format LLMs can use directly?
Yes. Typed, normalized JSON with stable field names and stable types. upvotes and comments are JSON numbers or null, never numeric strings. No HTML, no selectors, no parsing. Pass it directly to an LLM, index it into a vector store, or route it through an agent tool.
Can I use Reddit Trends Scraper without managing proxies?
Yes. Select Apify Proxy in proxyConfiguration — Residential is prefilled and recommended, because Reddit rate-limits datacenter IPs — and the Actor requests a fresh proxy URL on every attempt. You never create a proxy account or rotate an IP. Your selection is honoured exactly as supplied, including "no proxy", and nothing is silently overridden.
Am I charged for posts the Actor could not fetch?
No. The Actor charges on the post_result event, which fires only when an actual post row is written to the dataset. Promoted and sponsored rows are filtered out before the push, so ads are never charged. Blocked pages, empty listings and skipped targets produce no rows and therefore no charge.
What happens when Reddit changes its structure or blocks the scraper?
The scraper is maintained. Because it reads Reddit's structured data-* attributes rather than CSS classes or rendered text, a visual change to old.reddit generally does not affect it. When Reddit escalates its blocking instead, the fingerprint-rotation ladder absorbs most of it and the Actor is updated for the rest. Your field names and types do not change on your end.
🔗 Related scrapers
| Scraper Name | What it extracts |
|---|---|
| Reddit Posts Scraper (Buyer Question Detection) | Reddit posts with purchase-intent questions surfaced |
| Reddit User Profile Posts And Comments Scraper By Subreddit | One user's posts and comments, split by community |
| Twitter Trends Scraper | Trending topics, with where each trend is also trending |
| TikTok Trending Hashtags Scraper | New and rising hashtags for trend discovery |
| Quora Search Scraper | Question-intent results with author enrichment |
| Google News Scraper | News results with real source URLs and metadata |
💬 Your feedback
Found a bug, or need a Reddit field that is in the page but not in the output? Open an issue on the Actor's Issues tab and it will be looked at. Reports that include your exact input JSON and the target that misbehaved are the fastest to reproduce and fix.
