Reddit Search Scraper
Pricing
from $1.05 / 1,000 posts
Reddit Search Scraper
Search Reddit without an API key or login: posts from all of Reddit or from one subreddit, sorted by relevance, new, top, hot or most comments, within a time range. Title, text, score, flair, links, media and dates. Only-new mode for monitoring.
Pricing
from $1.05 / 1,000 posts
Rating
0.0
(0)
Developer
Akatra
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
22 days ago
Last modified
Categories
Share
Reddit Search Scraper: find Reddit posts by keyword
Search Reddit without an API key, an app registration or a Reddit account. Look for words or phrases across all of Reddit or inside one subreddit, sort the results by relevance, new, top, hot or most comments, pick a time range, and get clean structured data: title, text, score, upvote ratio, comment count, flair, author name, links, image and video URLs and exact timestamps.
Run it on a schedule with Only new items turned on and you get just the new posts that mention your keywords since your last run.
Pay per result · No login, no API key · Public data only · LLM-ready JSON for AI agents (MCP)
🛠️ What does Reddit Search Scraper do?
- 🔎 Site-wide search. Run one or many searches across all of Reddit, one line per search.
- 🎯 Search inside a subreddit. Set a subreddit and every search looks only inside it.
- 🔃 Sort and time range. Relevance, new, top, hot or most comments, within the past hour, day, week, month, year or all time.
- 🆕 Only new items mode. Schedule it and get just what was not returned before.
- 🔒 No user profile data. Only the public username shown next to a post is saved. Profiles, karma and posting history are never collected, and searching by username is not supported.
This is the slim edition of Reddit Scraper: searches only, with a short input form. It does not read subreddit listings, single posts or comments.
- 🛡️ Built to get through blocking. Requests go out with a real browser fingerprint through rotating proxies, and a blocked request is retried from a fresh IP. A result that could not be completed is never charged.
What people use it for
- Brand and keyword monitoring. Schedule a search for your brand or product name with "Only new items" and send new mentions to Slack, Google Sheets or your CRM.
- Market and product research. See what people ask, complain about and recommend around a topic.
- Lead and idea discovery. Find posts where people look for a tool, a service or a solution like yours.
- Trend and topic analysis. Compare how often and how well a topic does over time with the top and new sorts.
- Datasets for AI and NLP. Build text datasets of discussions on a topic, with timestamps and scores.
📊 What data can you extract?
Every result is one JSON object (one row in CSV or Excel), one post.
| Field | Meaning |
|---|---|
type, id, url | post, Reddit's post id and the link to the post |
subreddit, title | The community and the post title |
text | The post body as Reddit markdown, null for link and image posts without text. For a crosspost it is the body of the original post |
createdAt | When the post was created (UTC) |
score, upvoteRatio, numComments | Net score, share of upvotes (0 to 1) and number of comments |
flair | The post flair, if it has one |
isNsfw, isSpoiler, isStickied, isVideo | Post flags |
linkUrl, domain | The outside link of a link post as a full address and its domain (self.<subreddit> for text posts) |
thumbnailUrl, imageUrls, videoUrl | Thumbnail, image links (single image or whole gallery) and the Reddit-hosted video link. For a crosspost they come from the original post |
isCrosspost, crosspostParentId, crosspostParentSubreddit | Whether the post is a crosspost, and the id and subreddit of the original post |
author | The public username of the poster ([deleted] for deleted accounts) |
searchQuery | The search that found the post |
scrapedAt | When the record was collected (UTC) |
A field that does not exist for a record is null.
🚀 How to use Reddit Search Scraper
- Create a free Apify account and open this Actor.
- Add search queries, one per line. Each line is a separate search.
- Optionally set a subreddit to search inside. Leave it empty to search all of Reddit.
- Pick the search sort, the time range, and turn on include 18+ posts if you need them.
- Set max posts per search.
- Run it and download the results as JSON, CSV or Excel, or read them through the API.
📥 Input example (JSON)
{"searchQueries": ["web scraping", "apify"],"searchInSubreddit": "","searchSort": "new","timeFilter": "week","includeNsfw": false,"maxItemsPerQuery": 100,"onlyNew": false}
📤 Sample output (JSON)

{"type": "post","id": "1ww2cgj","url": "https://www.reddit.com/r/ScrapingAPIs/comments/1ww2cgj/16_scraping_apis_tested_on_x_the_results_are/","subreddit": "ScrapingAPIs","title": "16 scraping APIs tested on X. The results are interesting","text": "Blog post [https://usestring.ai/blog/how-to-scrape-twitter](https://usestring.ai/blog/how-to-scrape-twitter)","createdAt": "2026-10-02T19:09:04+00:00","score": 1,"upvoteRatio": 1,"numComments": 2,"flair": null,"isNsfw": false,"isSpoiler": false,"isStickied": false,"isVideo": false,"linkUrl": "https://i.redd.it/b75aqqyqr3th1.png","domain": "i.redd.it","thumbnailUrl": "https://preview.redd.it/b75aqqyqr3th1.png?width=140&height=67&auto=webp&s=2df13f421e9498ab496548e1ba307055b341ef91","imageUrls": ["https://i.redd.it/b75aqqyqr3th1.png"],"videoUrl": null,"isCrosspost": false,"crosspostParentId": null,"crosspostParentSubreddit": null,"author": "_Ephy","searchQuery": "web scraping","scrapedAt": "2026-10-03T02:44:32+00:00"}
🤖 Use it with AI agents, MCP and the API
The output is clean JSON with stable field names, ready for LLM pipelines, RAG and agent tools without extra parsing.
- AI agents and MCP (Claude, ChatGPT, Cursor and others). Add the Apify MCP server with this Actor as a tool:
https://mcp.apify.com?tools=akatra/reddit-search-scraper. The agent can then run it and read the results by itself. - API. Start a run and get the results in a single call:
curl -X POST "https://api.apify.com/v2/acts/akatra~reddit-search-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries": ["web scraping"], "searchSort": "new", "maxItemsPerQuery": 50}'
- No-code tools and SDKs. Works with Make, n8n, Zapier and LangChain through Apify's integrations, and with the Apify clients for Python and JavaScript. Schedule it and send the results to a webhook, Google Sheets or your own database.
💰 Pricing: pay per result
You pay per result: every post saved to the dataset is one result. See the price on the Pricing tab. Runs that return nothing cost only a tiny start fee. There is no subscription or rental fee. New to Apify? The free plan includes $5 of platform credit every month, enough for about 3,300 posts with this Actor, and no credit card is needed.
🚦 Run status and error messages
Every run ends with a plain status message, so automated workflows (API, Make, n8n, AI agents) can tell what happened without reading the log:
| Situation | What you get |
|---|---|
| Finished normally | Saved N posts. |
| Nothing matched | The run succeeds with No results saved. Try other words, another sort or a longer time range, or turn off 'Only new items'. You pay only the start fee. |
| Missing or invalid input | The run fails at once with Invalid input: … naming the field to fix, for example Add at least one search query., a search by username (author:, user:, u/) or 'subreddits' is not supported in this Actor; use Reddit Scraper. Nothing is scraped. |
| Subreddit to search in is private or restricted | search '…' in r/name is private or restricted (reason). The other searches are still run. |
| Subreddit to search in does not exist or is banned | search '…' in r/name was not found (it may not exist or may be banned). |
| Search inside an 18+ community without the 18+ option | r/name is an 18+ community, so Reddit hides its posts from searches; turn on includeNsfw to search it. |
| Reddit blocked every request | The run succeeds with Reddit blocked the requests for …, so nothing was saved. You were not charged. Please try again later. |
| Some pages stayed blocked | Results may be incomplete for: … naming the search. Run again to get the rest. |
| Your maximum charge is reached | Stops cleanly with Stopped at your maximum charge limit. Everything saved so far stays in the dataset. |
ℹ️ Good to know
- Max posts per search applies to each search query. Reddit ends a search early (about 250 posts in our tests), so higher numbers return what Reddit gives.
- Searches return what Reddit's own search returns for the same words, sort and time range. Reddit matches the words in titles, post texts and communities, so a result does not always have the exact phrase in its title. The
newsort lists the newest posts that match, not the most relevant ones. - A post that several of your searches would return is returned once per run, with the first search that found it in
searchQuery. - Only new items remembers each search (words, subreddit, sort, time range and 18+ option) between runs. The first run returns everything up to your limit. Later runs return only posts that were not returned before and were created since 15 minutes before the previous run started; older posts that were never returned (for example because of your limit) stay out.
- Searches leave out 18+ posts, as Reddit does by default. Turn on Include 18+ posts (
includeNsfw) to get them, and to search inside an 18+ community (without it the run tells you). - A crosspost keeps its own title, score, comment count, author and link, but its text, outside link, domain, images and video are filled in from the original post.
- Searching by username is not supported: queries with
author:,user:oru/are rejected. - This Actor does not read subreddit listings, single posts or comments. For those use the full Reddit Scraper.
- How it reads Reddit: the Actor does not use Reddit's official API. It reads the public pages Reddit shows to any visitor who is not logged in, with an anonymous visitor session, through residential IPs. Reddit's robots.txt disallows automated access, and Reddit can change or close this way of reading without notice. If that happens the run ends with a status message that Reddit blocked the requests, and you are not charged.
- If you set a maximum charge for a run, the scraper stops as soon as that limit is reached.
- Privacy: only content and the public username shown next to it are collected. User profiles, karma, account age and posting history are never read, and there is no search by username.
📝 Changelog
- 2026-10-03 First release: site-wide and in-subreddit search with sort, time range, 18+ option and only-new mode.
⚖️ Legal and privacy
This scraper is an independent tool and is not affiliated with, endorsed by, or sponsored by Reddit. Reddit and its logo are trademarks of their owner and are used here only to describe which website the tool works with. Reddit's robots.txt disallows automated access and Reddit's terms of use restrict it; the Actor is not an official Reddit tool and does not use Reddit's API. Your use of the data is subject to Reddit's terms and to the laws that apply to you.
The Actor reads only pages that are public without logging in. Posts are written by Reddit users under pseudonyms and can contain personal information their authors chose to publish. How you store and use the data is your responsibility: follow the laws that apply to you, such as GDPR and CCPA.
🔗 More scrapers from Akatra
- Indeed Jobs Scraper: 💼 job ads from Indeed in 30 countries, with yearly salary and only-new mode.
- Google News Scraper: 📰 news by keyword or topic in 50 editions, with the real article URLs.
- Google Trends Scraper: 📈 interest over time, by region, and rising related queries.
- Google Ads Transparency Scraper: 🔎 every ad a company runs on Google, with regions and dates.
- Airbnb Listings Scraper: 🏠 Airbnb listings with prices, ratings and map coordinates.
- YouTube Transcript Scraper: 🎬 video transcripts as clean text and timestamped lines.
💬 Support
Found a bug or need a field that is missing? Open an issue on the Issues tab and we usually reply within a day.
🔗 Need more?
Subreddit listings, single post links, comment trees and the full set of options are in the complete Reddit Scraper.
