Reddit Search avatar

Reddit Search

Pricing

from $5.00 / 1,000 posts

Go to Apify Store
Reddit Search

Reddit Search

Pricing

from $5.00 / 1,000 posts

Rating

0.0

(0)

Developer

Matt Brown

Matt Brown

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Reddit Sub-Scoped Search

Find the people already asking. Give this Actor a list of subreddits and a list of phrases, and it searches each phrase inside each subreddit and returns the newest matching posts — the subreddit, the phrase that found it, the permalink, title, body, author, timestamp and score.

⛑ That scoping is the point. Reddit's own search does it — restrict_sr=1 — and store Actors generally do not: the widely-used one ignores the query when subreddits are present, so you get a subreddit's hot posts instead of an answer to your question. This Actor asks Reddit the question you actually asked.

Sample output

{
"subreddit": "propertymanagement",
"query_that_found_it": "scam listing",
"title": "Someone copied my rental listing and is collecting deposits",
"author": "example_user",
"created": "2026-09-17T14:02:11Z",
"score": 34,
"comments": 12,
"permalink": "https://www.reddit.com/r/propertymanagement/comments/…",
"body": null
}
`body` is always `null`: Reddit's search results carry the title, the author, the timestamp and the
counters — not the post text. Reading it means opening each permalink, which is a different job.

Every pair runs on its own fresh session, so a long list of pairs is a long list of anonymous visitors rather than one visitor asking sixty questions.

The last item of every run is a summary, marked "__fillory": "run-summary", carrying how many pairs were attempted, how many returned posts, how many were genuinely empty, how many were blocked, and the error counts by category. ⛑ It is written even if the run is stopped early — with the counts it had reached and "terminated" saying why — so a run that ran out of time still tells you what it found and how far it got. ⛑ An empty search and a blocked one are different numbers in that item — a run that got nothing because it was blocked never reports it as "nothing found".

Pricing

This Actor is pay per event. You are charged for two things and nothing else:

eventwhen it is chargedprice
run-startonce, when the run begins$0.06
postfor each post that reaches your dataset$5.00 per 1,000 ($0.005 each)

A run of 3 subreddits × 2 phrases returning 25 posts each costs $0.06 + 150 × $0.005 = $0.81.

⛑ Apify platform usage is on us — you pay the two events above and nothing else.

⛑ A post is charged after it is stored, never before. If a post cannot be stored, it is not charged.

⛑ Set a maximum total charge on the run and this Actor respects it. When your budget is reached it stops asking Reddit for more, finishes the pages already in flight, writes its summary and exits — you are never billed past the cap, and you keep everything that was collected up to it. The summary item says "terminated": "budget" so you can tell a capped run from a finished one.

If a run finds nothing

Reddit sometimes has no post matching your phrase, and sometimes serves a challenge page instead of results. These are different outcomes and this Actor never reports one as the other. A run that returns no posts still returns an item saying which happened:

{ "__fillory": "run-error", "reason": "no_results",
"message": "The searches ran and this subreddit has no post matching these phrases in the chosen time window. Try a wider time window or a broader phrase.",
"pairs_attempted": 6, "pairs_blocked": 0, "pairs_empty": 6 }

reason is one of no_results, blocked, partly_blocked, budget_exhausted or rejected, and the message says what to do about it. ⛑ Both this item and the run summary carry a __fillory key, so you can drop them in one filter and keep only the posts.

Configuration

⛔ The prefill values are the daily auto-test's input. Apify runs a published Actor once a day with the prefill values from this schema — never the default — and requires the run to succeed with a non-empty dataset inside five minutes. Three failures mark the Actor under maintenance; eighteen mark it deprecated.

⛑ So the prefilled pair is measured, not chosen: r/PropertyManagement + "rent out my house" returned posts in every subreddit on both of the days our own production lane has run.

⛔ And default stays [] on subreddits and queries on purpose. A caller who omits them is refused, not silently handed somebody else's search — and if the test ever read default instead of prefill, every run would fail on an argument error with no line of code being wrong.

⚠️ This note lives here and in PRICING-BASIS.md, not in the schema: Apify rejects an unknown key, _comment-shaped or otherwise (Property schema._comment_prefill is not allowed), and the build fails.

fieldwhat it does
subreddits[]names, with or without r/
queries[]each phrase is searched inside each subreddit
timehour · day · week (default) · month · year · all
maxPerPairone page of results per pair; this bounds the slice taken from it
probediagnostic: fetch one pair and report what the page is, instead of searching
maxConcurrencyhow many pairs run at once, each on its own session (default 2)
probeLabelnames the HTML the probe saves to the run's key-value store, so two probe runs can be diffed

REDDIT_PROXY_URL overrides the default Apify residential proxy if you bring your own. ⛑ Reddit serves a challenge page to datacenter addresses, so the default is residential — bringing your own proxy is the one input that materially changes how many pairs come back blocked.

⛔ What this Actor will not do

It is read-only, permanently. It never signs in, holds no Reddit credential, and has no code path that posts, comments, votes, messages or edits anything. It reads public search pages and returns what they contain.

Use it to find conversations worth joining — and join them as yourself, with disclosure. Do not use it to spam subreddits, to build profiles of individual users, or to automate outreach that a human has not read. Reddit's rules and each subreddit's rules apply to what you do with the results; this Actor's job ends at handing them to you.