Reddit Keywords avatar

Reddit Keywords

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Reddit Keywords

Reddit Keywords

Welcome to Reddit Keywords Scraper. Scrape Posts from Reddit through Reddit search engine by providing your desired keyword, the crawler will return post urls, number of comments, score, title, content, thumbnail and much more. Be sure to leave a review and provide feedback.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(3)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

10

Bookmarked

262

Total users

17

Monthly active users

15 days ago

Last modified

Share

Reddit Keywords Scraper (Reddit Search)

Search Reddit by keyword and scrape posts, comments, communities and users with full data — 70+ post fields, 50+ comment fields, 70+ community fields, 25+ user fields. No API key, no login required from you; the actor authenticates with Reddit's public search on your behalf.

What this actor does

  • Searches Reddit by keyword and returns posts, comments, communities and users — pick any combination via searchPosts / searchComments / searchCommunities / searchUsers
  • Supports Reddit's full search syntax inside each keyword: exact phrases, AND / OR / NOT, -exclusions, and field operators (author:, subreddit:, flair:, selftext:, site:)
  • 5 sort orders (Relevance, Hot, Top, New, Comment count), 6 time filters, and 30+ optional filters — score, karma, flair, author, domain, awards, NSFW, subreddit access type, and creation-date windows
  • Scope a search to one or more subreddits at once (withinCommunity), or leave it unset to search all of Reddit
  • Empty fields are omitted from every record — the output never contains null or blank values

Output: per-post

Each post record starts with dataType: "post" and includes:

subreddit, subreddit_prefixed, subreddit_id, subreddit_subscribers, subreddit_type, post_id, post_name, title, author, author_id, author_flair, author_flair_background_color, author_flair_text_color, author_flair_type, author_flair_css_class, author_flair_richtext, author_flair_template_id, author_premium, author_is_blocked, author_patreon_flair, content, content_html, content_url, content_categories, url (reddit permalink), permalink, url_overridden_by_dest, domain, post_hint, is_self, post_type (self/link/image/video/gallery/poll), score, ups, downs, upvote_ratio, num_comments, link_flair, link_flair_background_color, link_flair_text_color, link_flair_type, link_flair_css_class, link_flair_richtext, link_flair_template_id, thumbnail_url, thumbnail_width, thumbnail_height, created_utc, created_at, edited, edited_at, is_stickied, is_locked, is_archived, is_pinned, is_nsfw, is_spoiler, is_original_content, is_crosspost, is_crosspostable, is_meta, is_robot_indexable, is_reddit_media_domain, media_only, no_follow, send_replies, allow_live_comments, contest_mode, hide_score, suggested_sort, quarantine, num_crossposts, num_duplicates (link posts only), gilded, total_awards_received, awards (award-type breakdown — name, count, coin price, icon URL — for every award given), removed_by_category, distinguished, hidden, media_type, has_media, images[], gallery_images[], gallery_count, video_url, poll_data, crosspost_parent_id, search_term, crawled_at, source

Output: per-comment

Each comment record starts with dataType: "comment" and includes:

post_id, post_url, post_title, comment_id, comment_name, author, author_id, author_flair, author_flair_css_class, author_flair_template_id, author_flair_type, author_flair_text_color, author_flair_background_color, author_flair_richtext, author_premium, author_is_blocked, author_patreon_flair, body, body_html, score, ups, downs, score_hidden, subreddit, subreddit_prefixed, subreddit_id, subreddit_type, link_id, created_utc, created_at, edited, edited_at, archived, can_gild, depth, parent_id, parent_kind, is_op, is_stickied, is_locked, distinguished, controversiality, collapsed, collapsed_reason, collapsed_because_crowd_control, collapsed_reason_code, comment_type, unrepliable_reason, no_follow, send_replies, gilded, total_awards_received, awards, removed_by_category, permalink, search_term, crawled_at, source

Output: per-community

Each community record starts with dataType: "community" and includes:

subreddit, subreddit_prefixed, subreddit_id, url, title, description, description_html, public_description, public_description_html, submit_text, submit_text_html, submit_text_label, submit_link_label, subscribers, active_user_count, created_utc, created_at, subreddit_type, submission_type, restrict_posting, restrict_commenting, over18, quarantine, wiki_enabled, lang, advertiser_category, community_icon, icon_img, banner_img, banner_background_image, banner_background_color, mobile_banner_image, header_img, header_title, banner_width, banner_height, header_width, header_height, icon_width, icon_height, primary_color, key_color, allow_images, allow_videos, allow_videogifs, allow_galleries, allow_polls, allow_predictions, allow_predictions_tournament, allow_prediction_contributors, allow_talks, allow_discovery, allowed_media_in_comments, spoilers_enabled, original_content_tag_enabled, all_original_content, is_crosspostable_subreddit, link_flair_enabled, link_flair_position, user_flair_enabled_in_sr, user_flair_position, user_flair_type, user_flair_text, user_flair_richtext, user_flair_template_id, user_flair_background_color, user_flair_text_color, can_assign_link_flair, can_assign_user_flair, suggested_comment_sort, accept_followers, emojis_enabled, comment_score_hide_mins, collapse_deleted_comments, free_form_reports, hide_ads, public_traffic, community_reviewed, has_menu_widget, disable_contributor_requests, should_archive_posts, show_media, show_media_preview, should_show_media_in_comments_setting, user_sr_theme_enabled, search_term, crawled_at, source

Output: per-user

Each user record starts with dataType: "user" and includes:

username, user_id, profile_url, post_karma, comment_karma, total_karma, awardee_karma, awarder_karma, is_gold, is_mod, is_employee, has_verified_email, verified, has_subscribed, is_blocked, is_friend, pref_show_snoovatar, icon_img, snoovatar_img, snoovatar_size, accept_followers, hide_from_robots, user_subreddit (the account's profile subreddit: display name, title, subscribers, icon, banner, bio, NSFW flag, type, URL), created_utc, created_at, search_term, crawled_at, source

Fields that don't apply to a given record (no media, no flair, no poll, no gallery, etc.) are omitted entirely — the output never contains null or empty values.

Input

FieldTypeDefaultDescription
keywordsstring[]requiredSearch terms. Each keyword is searched separately and results are tagged with search_term. Supports Reddit's search syntax: exact phrases ("machine learning"), boolean (python AND rust, python OR django, python NOT snake, (python OR django) AND framework), exclusion (-javascript), and field operators (author:name, subreddit:name, flair:tag, selftext:"phrase", site:domain)
searchPostsbooleantrueInclude posts in the results
searchCommentsbooleanfalseInclude comments in the results
searchCommunitiesbooleanfalseInclude subreddits in the results (community discovery)
searchUsersbooleanfalseInclude Reddit accounts whose username matches the keyword (user discovery)
withinCommunitystringRestrict the search to one or more subs — bare name (technology), r/technology, a full URL, or a comma-separated list (technology,programming) to search several subreddits at once. Applies to posts, comments and communities; user search is always global
sortenumrelevancerelevance, hot, top, new, comments
timeFilterenumallhour, day, week, month, year, all (applies to the Top sort, as in Reddit's own search UI)
resultLimitinteger100Maximum posts per keyword (1–1,000)
maxCommentsinteger100Maximum comments per keyword, when searchComments is on (0–100,000)
maxCommunitiesinteger10Maximum subreddits per keyword, when searchCommunities is on (0–1,000)
maxUsersinteger25Maximum accounts per keyword, when searchUsers is on (0–100 — Reddit serves a single results page for account search, so 100 is the reliable ceiling)
maxItemsinteger100000Hard cap on the total number of records for the whole run (all keywords, all types combined); the run stops as soon as this budget is spent (1–1,000,000)
includeNSFWbooleanfalseInclude 18+ posts
onlyWithFlairbooleanfalseKeep only posts that have a link flair set; drop unflaired posts
postTypeenumKeep only posts of one content type: self, link, image, video, gallery, poll. Leave unset to keep all types
minScoreintegerKeep only posts with a score (upvotes minus downvotes) at or above this value
maxScoreintegerKeep only posts with a score at or below this value — useful for finding overlooked/low-visibility posts
minCommentsintegerKeep only posts with at least this many comments
minAwardsintegerKeep only posts (and comments, when searchComments is on) with at least this many total awards
titleContainsstringKeep only posts whose title contains this text (case-insensitive substring match)
contentContainsstringKeep only self (text) posts whose body contains this text (case-insensitive substring match)
flairContainsstringKeep only posts whose link flair text contains this text (case-insensitive substring match)
authorFlairContainsstringKeep only posts (and comments, when searchComments is on) whose author flair text contains this text (case-insensitive substring match)
authorsstring[]Keep only results submitted by one of these usernames (bare name or u/-prefixed); applies to posts and, when searchComments is on, comments
domainstringKeep only posts whose link domain contains this text (e.g. youtube.com, self.python)
distinguishedenumKeep only moderator, admin, or special (Reddit-team) results, or none to keep only regular results. Applies to posts and, when searchComments is on, comments
subredditTypeenumKeep only results whose community has this access type: public, restricted, private, gold_only, archived, user. Applies to posts, comments and communities alike
minUpvoteRationumberKeep only posts with an upvote ratio (0–1) at or above this value
excludeStickiedbooleanfalseDrop posts pinned by moderators (and comments stickied by a moderator, when searchComments is on)
excludeCrosspostsbooleanfalseDrop posts that are crossposted from another subreddit
excludeArchivedbooleanfalseDrop content Reddit has archived (locked from voting/commenting), for posts and, when searchComments is on, comments
excludeLockedbooleanfalseDrop content a moderator has locked from further comments/replies, for posts and, when searchComments is on, comments
excludeDeletedbooleanfalseDrop posts and comments whose author was deleted or whose content was removed by a moderator/admin
excludeSpoilersbooleanfalseDrop posts marked as a spoiler by their author
onlyOriginalContentbooleanfalseKeep only posts the author tagged as original content (OC)
minCommentScoreintegerKeep only comments with a score at or above this value, when searchComments is on
commentContainsstringKeep only comments whose body contains this text, when searchComments is on
onlyOPCommentsbooleanfalseKeep only comments written by the post's original poster, when searchComments is on
minCommunitySubscribersintegerKeep only communities with at least this many subscribers, when searchCommunities is on
minUserKarmaintegerKeep only accounts with at least this much total karma, when searchUsers is on
minPostKarmaintegerKeep only accounts with at least this much post (link) karma, when searchUsers is on
minCommentKarmaintegerKeep only accounts with at least this much comment karma, when searchUsers is on
postedAfterdateKeep only results created on or after this date (UTC, YYYY-MM-DD). Applies to posts, comments, communities (subreddit creation date) and users (account creation date)
postedBeforedateKeep only results created on or before this date (UTC, inclusive of the whole day)
{
"keywords": ["notion alternative", "best productivity app"],
"searchPosts": true,
"sort": "top",
"timeFilter": "month",
"resultLimit": 50
}

Example: advanced search syntax with quality filters

{
"keywords": ["\"machine learning\" AND python -tutorial"],
"searchPosts": true,
"postType": "self",
"minScore": 50,
"minComments": 10,
"excludeStickied": true,
"resultLimit": 100
}
{
"keywords": ["AI agents"],
"searchPosts": true,
"withinCommunity": "r/MachineLearning,r/artificial",
"sort": "new",
"resultLimit": 30
}

Example: multi-type search (posts, comments, communities and users)

{
"keywords": ["notion"],
"searchPosts": true,
"searchComments": true,
"searchCommunities": true,
"searchUsers": true,
"resultLimit": 30,
"maxComments": 30,
"maxCommunities": 10,
"maxUsers": 10,
"postedAfter": "2026-01-01",
"maxItems": 200
}

Use cases

  • Brand monitoring — track mentions of your product or competitors across Reddit, scheduled to run daily
  • Lead generation — find posts with purchase intent or "recommend me a tool" requests in your niche
  • Market research — mine opinions and sentiment across relevant communities
  • Content ideation — discover trending questions and discussion topics before you write
  • Community discovery — find every subreddit that matters for a given topic, with subscriber counts and rules-relevant metadata
  • Influencer/account discovery — find Reddit accounts whose username matches a brand or topic keyword

FAQ

Do I need a Reddit API key or login? No — the actor searches Reddit's public data on your behalf; you don't need your own Reddit account or credentials.

Does this actor need a proxy configured? No — Reddit blocks plain datacenter IP addresses on its search pages (including Apify's free proxy group), so the actor automatically routes every request through Apify's RESIDENTIAL proxy group. This happens internally with zero setup; there is no proxy field to configure.

Why did I get fewer results than my resultLimit / maxItems? Reddit's own search index caps each query at roughly 1,000 results, and in practice it often serves noticeably fewer than that — commonly around 200–300 — for broad or generic keywords. This is a limitation of Reddit's search index itself, not a bug in the actor: the actor paginates through everything Reddit's search exposes and returns every result it can reach. Narrower, more specific keywords (or scoping with withinCommunity) typically surface a higher share of the available results.

Which sort orders and time filters are available? Relevance, Hot, Top, New and Comment count, matching Reddit's own search UI. The time filter (past hour/day/week/month/year/all time) applies to the Top sort, exactly as it does on reddit.com.

Can I search inside one or more specific subreddits? Yes — set withinCommunity to a bare name, r/name, a full URL, or a comma-separated list to search several subreddits in one query. This applies to posts, comments and communities; account search is always global.

Can I find Reddit users by keyword? Yes — enable searchUsers to get accounts whose username matches the keyword, along with karma breakdown, verification/moderator/gold status and their profile subreddit. Account search always searches globally and returns up to 100 accounts per keyword.

How fresh is the data? Every run scrapes Reddit live at the time it executes — there is no cached or delayed data. Each record includes a crawled_at timestamp.

Why are gilded/awards/total_awards_received usually empty or zero? Reddit retired most of its public award program, so award data is now rare on individual posts and comments. The actor still returns these fields whenever Reddit's data does include them.

Is this actor affiliated with Reddit? No — this is an independent, third-party actor that reads Reddit's publicly accessible search results. It is not endorsed by or affiliated with Reddit, Inc.

How much does it cost to run? Pricing is pay-per-result — see the Pricing tab on the actor's page for current rates.