Reddit Search Scraper — Keyword Posts with Velocity
Pricing
$1.50 / 1,000 search results
Reddit Search Scraper — Keyword Posts with Velocity
Posts matching your keywords from Reddit's own search, across Reddit or inside chosen subreddits: title, address, author, subreddit, score, comment count, exact time, score and comments per hour, the query that found it. Body text and flair on request. Only-new mode. No login.
Pricing
$1.50 / 1,000 search results
Rating
0.0
(0)
Developer
Berkan Kaplan
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
4
Monthly active users
5 days ago
Last modified
Categories
Share
Reddit Search Scraper — Keyword Posts, Velocity, Author Karma 🚀
foXLabs Reddit series: Subreddit Posts · Post Details · Post Comments · User
🎉 Posts matching your keywords, as Reddit's own search shows them to a signed-out visitor — across all of Reddit or inside the subreddits you name, in any order and period. Every row carries the title, the address, the author, the subreddit, the score, the comment count, the exact time, the query that found it and what other Reddit search scrapers leave out: score and comments per hour. The body text, the flair and the media come from each result's own page when you ask (includePostDetails), and each author's karma with includeAuthorInfo. Only-new mode turns it into a brand/product/topic monitor. No login, no cookies of yours, no CAPTCHA solving.
🔍 What is the Reddit Search Scraper — and when should you use it?
Give this Actor keywords and it returns Reddit's search results as clean rows — across all of Reddit or inside chosen subreddits — with the votes, the comment count, the exact time and post velocity; the body text and the author's karma on request.
Use it when you need: to monitor a brand, product or topic across Reddit; keyword research with engagement signals; or a scheduled only-new feed of mentions.
Use something else when: you want a whole subreddit's feed → Subreddit Posts; a single post's comments → Post Comments; one user's history → User.
🤖 Use with AI agents
Already on the Apify MCP server? Ask for this Actor by name: foxlabs/reddit-search-scraper. An agent can discover it, run it and read the dataset over MCP.
Real-time Standby API. The same code answers HTTP requests on demand — GET /search?query=apify&sort=new&maxResults=25 or GET /search?query=pandas&subreddit=python&sort=top&time=year. Parameters: query, subreddit, sort, time, maxResults (1–100), postKinds, authors (0/1); billed with the same search-result event.
Otherwise paste this into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want Reddit keyword search results using the Apify Actor`foxlabs/reddit-search-scraper`.Input: `queries` is a list of search terms (Reddit operators allowed); `subreddits` scopes thesearch; `sort` is new/relevance/top/comments/hot; `time` is hour…all. Each row has title, text,score, commentCount, scorePerHour and author; add includePostDetails for the body text and includeAuthorInfo for the karma.Start with:{ "queries": ["apify"], "sort": "new", "maxResultsPerQuery": 50 }Ask me what to monitor, run the Actor, then summarise the posts as a table.
The machine-readable API, MCP config and OpenAPI definition live at apify.com/foxlabs/reddit-search-scraper.md.
📋 Overview
Everything you need to turn Reddit search into clean, structured data — matching posts with velocity, and their text and author karma on request — in one Actor, with no login, cookies or CAPTCHA solving.
Why teams pick this Actor:
- ✅ Search all of Reddit or chosen subreddits — five orders, six periods.
- ⚡ Velocity — score and comments per hour on every row, which bare search scrapers omit; the author's karma with
includeAuthorInfo. - 🎯 Query provenance — every row names the query that found it; a post several queries bring is delivered once.
- 🔁 Only-new monitoring — schedule the same queries and get only what's new.
- 💰 Pay only for results — one
search-resultevent per row; filtered-out and status rows are free. - 🤖 Agent-ready — MCP + a real-time Standby API.
✨ Features
- 🔍 Keyword search — brands, phrases in quotes, Reddit operators (
title:,author:,self:,nsfw:). - 📄 Full post — ids, title, text, link, domain, kind, flair, media (image/video/gallery/poll), flags.
- 📊 Engagement — score, upvote ratio, comments, awards, crossposts, and per-hour velocity.
- 👤 Author karma — link/comment karma and the cake day (
includeAuthorInfo, one profile-page read per author, off unless asked). - 📄 The posts themselves — body text, flair, media and kind with
includePostDetails(one page read per result); a Reddit search result does not carry them. - 🏷️ Subreddit record — subscribers on every row; full record with
includeSubredditInfo. - 🔁 Only-new lists for monitoring.
🎬 Quick Start
curl -X POST "https://api.apify.com/v2/acts/foxlabs~reddit-search-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["apify"], "sort": "new", "maxResultsPerQuery": 50}'
🚀 Getting Started (3 steps)
- Enter your queries — one per line, as typed into Reddit's search box; optionally scope with
subreddits. - Pick order & period —
sort(new for monitoring) andtime. - Run and export — get a clean dataset as JSON, CSV or Excel.
📥 Input
| Field | Meaning |
|---|---|
queries | one per line — a brand, phrase in quotes, or Reddit operators (title:"exact", author:name, self:yes). |
subreddits | optional: search each query only inside these subreddits. Empty = all of Reddit. |
sort | new (default), relevance, top, comments, hot. |
time | hour, day, week, month, year, all (default). |
maxResultsPerQuery | results per query (default 100). Reddit ends a search after ~250. |
maxResults | rows in the whole run (default 100,000). |
postKinds, minScore, minComments | keep only these; the rest are skipped and not charged. |
includeAuthorInfo | the author's karma and cake day — one profile-page read per author (default off). |
includePostDetails | read each result's own page for the body text, flair, media and kind (default off). |
includeSubredditInfo | each distinct subreddit's record (default off). |
onlyNewResults, listName | remember delivered posts and skip them next time. |
proxyConfiguration | nothing to change for normal use. |
{ "queries": ["apify", "web scraping api"], "subreddits": ["python", "webdev"], "sort": "new", "time": "month", "maxResultsPerQuery": 100 }
📤 Output
One row per post (same fields as the Subreddit Posts Scraper): ids and address, title, text, link, domain, kind, author and flair, score, upvoteRatio, commentCount, awardCount, crosspostCount, createdAt, editedAt, hoursSincePost, scorePerHour, commentsPerHour, flags, media, subredditSubscribers — plus:
| Field | What it is |
|---|---|
query | the query line that found the post (delivered once, under the first) |
authorInfo | link karma, comment karma, account creation date, avatar (null for a deleted author) |
subredditInfo | subscribers, active users, creation date, type, language, description (with includeSubredditInfo) |
position | the post's place in its query's results |
A query that matches nothing — or names a subreddit that can't be searched (private, Premium-only, no such name) — gets a free status row. A run never ends empty without a word.
💼 Use cases
1. Brand & topic monitoring — track mentions of a brand or product across Reddit.
Input: your terms, sort: new, onlyNewResults scheduled. Output: new matching posts + velocity. Use: a live mention feed.
2. Market & keyword research — see which posts on a topic gain traction.
Input: topic queries, sort: top, time: year. Output: top posts + author karma. Use: find influential threads and voices.
3. Lead & community discovery — find subreddits and authors discussing your space.
Input: queries with includeSubredditInfo. Output: posts + subreddit records. Use: map where your audience talks.
🔗 Integration
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('foxlabs/reddit-search-scraper').call({queries: ['apify'], sort: 'new', maxResultsPerQuery: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('foxlabs/reddit-search-scraper').call(run_input={'queries': ['apify'], 'sort': 'new', 'maxResultsPerQuery': 50})for item in client.dataset(run.default_dataset_id).iterate_items():print(item)
Written for apify-client 3 for Python, where call() returns a run object; with version 1 or 2 it returns a dict — write run['defaultDatasetId'] there.
Automation (n8n / Zapier / Make): schedule → HTTP request to the Actor API with your queries → handle the JSON dataset → push to a sheet, CRM or dashboard.
📊 Pricing
Pay per event, one event per delivered row: search-result — whatever it carries (the author's and the subreddit's records ride along free). Status rows are free; filtered-out posts aren't written or charged; a run Reddit doesn't answer ends FAILED and charges nothing; no start fee. View current pricing.
❓ FAQ
Do I need a Reddit account, login or API key? No. It reads Reddit the way its own site does for a signed-out visitor — a guest token, no account, no cookies, no CAPTCHA solving.
How many results per query? Reddit ends a search after ~250 results, whatever you ask for. For more, split the period, subreddits or wording.
Can I search inside specific subreddits? Yes — list them in subreddits; empty means all of Reddit.
Does it search comments? No — posts only in this version. For a post's comments use the Post Comments Scraper.
Can I export to CSV / Excel / JSON? Yes — directly from the Apify dataset.
🐛 Troubleshooting
- ~250 results max per query — Reddit's own end of a search; split period/subreddits/wording for more.
- A query returns a status row — it matched nothing, repeats another line, or names a private/Premium-only subreddit (free, not charged).
- Scores look slightly off — Reddit fuzzes scores by design;
scoreis what the search shows at that moment.
How it reads Reddit: opens a listing as a signed-out visitor, takes the guest token Reddit hands that visitor, and calls Reddit's search API. Reddit hands that token to residential addresses only (measured: 7/7 residential, 0/8 datacenter), so Apify Proxy residential is used by default; four addresses rotate, a used-up one is replaced.
⚠️ Trademark
Independent, third-party tool. Reddit is a trademark of Reddit, Inc.; this Actor is not affiliated with, endorsed by or connected to Reddit. The mark is used here for identification only.
⚖️ Is it legal to scrape this data?
It reads only what Reddit shows anyone who is not signed in. Rows carry user names (public pseudonyms) and publicly posted text; you are responsible for using them lawfully (GDPR, CCPA, Reddit's User Agreement). Nothing is stored outside your own Apify datasets. See Apify's blog post on the legality of web scraping.
🤝 Support & contact
- 🌐 Website: data.foxlabs.com.tr
- 📧 Email: info@foxlabs.com.tr
- 🐛 Issues: open a ticket in the Actor's Issues tab — the run's
SOURCE_REPORTrecord holds what was seen, read, delivered and why the run stopped. - 🧰 More clean data actors: Fox Labs on Apify
Changelog
0.2.0 — 2026-10-17
Reddit closed its JSON API to signed-out visitors on 16 October 2026, so the results now come from Reddit's own
search page: 7 results a page with a cursor for the next. A result carries the title, address, author, subreddit,
votes, comment count, exact time and nsfw/spoiler flags; the body text, flair, media and kind are not in a Reddit
search result, so the new includePostDetails input reads each result's own page when you want them (and
includeSubredditInfo now needs it). includeAuthorInfo is off by default — the karma is one profile-page read
per author. Field names, the dataset shape, the search-result event and its price are unchanged.
0.1.0 — 2026-10-10
- First release: keyword search across Reddit or inside chosen subreddits, five orders and six periods, velocity fields and author karma on every row,
queryprovenance, kind/score/comment filters, only-new lists, free status rows for empty queries and unsearchable subreddits; Standby API prepared.