How to use it
- Hit Copy the whole skill.
- Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
ChatGPT: make a Project and paste it into Instructions.
Neither? Paste it at the top of a new chat — it works for that chat. - Describe your job in plain words. The AI follows the skill from there.
npx degit gooseworks-ai/goose-skills/skills/monitoring/capabilities/reddit-post-finder#main ~/.claude/skills/reddit-post-finderFor one project only, change the path to .claude/skills/reddit-post-finder.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Show the full text140 lines
Reddit Post Finder
Scrape Reddit posts and comments using the Apify trudax/reddit-scraper-lite actor.
Quick Start
Requires APIFY_API_TOKEN env var (or --token flag).
# Top posts from r/growthhacking in last week
python3 skills/reddit-post-finder/scripts/search_reddit.py \
--subreddit growthhacking --days 7 --sort top --time week
# Hot posts from multiple subreddits
python3 skills/reddit-post-finder/scripts/search_reddit.py \
--subreddit "growthhacking,gtmengineering" --days 7 --sort hot
# Keyword-filtered competitor tracking
python3 skills/reddit-post-finder/scripts/search_reddit.py \
--subreddit LLMDevs \
--keywords "Langfuse,Arize,Langsmith" \
--days 30
# Human-readable summary table
python3 skills/reddit-post-finder/scripts/search_reddit.py \
--subreddit growthhacking --days 7 --output summary
How the Script Works
- Builds full Reddit URLs for each subreddit (e.g.
https://www.reddit.com/r/growthhacking/top/?t=week) - Calls the Apify
trudax/reddit-scraper-liteactor via REST API - Polls until the run completes, then fetches the dataset
- Applies client-side keyword and date filtering
- Sorts by upvotes (descending) and outputs JSON or summary
CLI Reference
| Flag | Default | Description |
|---|---|---|
--subreddit |
required | Subreddit name(s), comma-separated |
--keywords |
none | Keywords to filter (comma-separated, OR logic) |
--days |
30 | Only include posts from the last N days |
--max-posts |
50 | Max posts to scrape per subreddit |
--sort |
top | Sort: hot, top, new, rising |
--time |
week | Time window for top sort: hour, day, week, month, year, all |
--output |
json | Output format: json or summary |
--token |
env var | Apify token (prefer APIFY_API_TOKEN env var) |
--timeout |
300 | Max seconds to wait for the Apify run |
Tips for Small Subreddits
Small or low-traffic subreddits (e.g. r/gtmengineering) may return zero posts with --sort hot because the hot feed is nearly empty. Use --sort top --time week (or month) instead — this scrapes the top-ranked posts over the time window and reliably returns results.
Direct API Usage
If calling the Apify API directly (e.g. via curl), note these required fields:
{
"startUrls": [{"url": "https://www.reddit.com/r/growthhacking/top/?t=week"}],
"maxItems": 50
}
Key notes for trudax/reddit-scraper-lite:
- Uses
startUrlswith full Reddit URLs (not asearchesarray for subreddit browsing) - Sort/time are controlled via the URL path (e.g.
/top/?t=week), not separate input fields - Only
startUrlsandmaxItemsare confirmed working input fields - Does not support
proxyConfiguration,scrollTimeout, orsearchType
Output fields:
dataType—"post"or"comment"title— Post titlebody— Post body textcommunityName— Subreddit name (withoutr/prefix)upVotes— Number of upvotesnumberOfComments— Comment counturl— Full URL to the postcreatedAt— ISO timestamp of when the post was created
Common Workflows
1. Competitor Tracking
python3 skills/reddit-post-finder/scripts/search_reddit.py \
--subreddit "LLMDevs,MachineLearning,LocalLLaMA" \
--keywords "Langfuse,Arize,Weights & Biases,Langsmith,Braintrust" \
--days 30 --sort top --time month
2. Pain Point Discovery
python3 skills/reddit-post-finder/scripts/search_reddit.py \
--subreddit LLMDevs \
--keywords "frustrating,difficult,hard to,wish there was,better way" \
--days 30
3. Brand Monitoring
python3 skills/reddit-post-finder/scripts/search_reddit.py \
--subreddit "LLMDevs,MachineLearning" \
--keywords "YourProductName" \
--days 7 --sort new
Important: Always Include Post URLs
When presenting Reddit results to the user, always include the original post URL for every post. This is critical for allowing users to read the full discussion, comments, and context. Never return a summary table without links.
Output Format
Posts are returned as JSON array sorted by upvotes. Each post has:
{
"dataType": "post",
"title": "Post title",
"body": "Post body...",
"communityName": "growthhacking",
"upVotes": 42,
"numberOfComments": 15,
"createdAt": "2026-02-18T12:00:00.000Z",
"url": "https://reddit.com/r/..."
}
Configuration
See references/apify-config.md for detailed API configuration, token setup, and rate limits.
| 1 | |
| 2 | name reddit-post-finder |
| 3 | description Scrape and search Reddit posts using Apify. Use when you need to find Reddit discussions, track competitor mentions, monitor product feedback, discover pain points, or analyze subreddit content. Supports keyword filtering, time-based searches, and subreddit-specific queries. |
| 4 | |
| 5 | |
| 6 | # Reddit Post Finder |
| 7 | |
| 8 | Scrape Reddit posts and comments using the Apify `trudax/reddit-scraper-lite` actor. |
| 9 | |
| 10 | ## Quick Start |
| 11 | |
| 12 | Requires `APIFY_API_TOKEN` env var (or `--token` flag). |
| 13 | |
| 14 | |
| 15 | # Top posts from r/growthhacking in last week |
| 16 | python3 skills/reddit-post-finder/scripts/search_reddit.py \ |
| 17 | --subreddit growthhacking --days 7 --sort top --time week |
| 18 | |
| 19 | # Hot posts from multiple subreddits |
| 20 | python3 skills/reddit-post-finder/scripts/search_reddit.py \ |
| 21 | --subreddit "growthhacking,gtmengineering" --days 7 --sort hot |
| 22 | |
| 23 | # Keyword-filtered competitor tracking |
| 24 | python3 skills/reddit-post-finder/scripts/search_reddit.py \ |
| 25 | --subreddit LLMDevs \ |
| 26 | --keywords "Langfuse,Arize,Langsmith" \ |
| 27 | --days 30 |
| 28 | |
| 29 | # Human-readable summary table |
| 30 | python3 skills/reddit-post-finder/scripts/search_reddit.py \ |
| 31 | --subreddit growthhacking --days 7 --output summary |
| 32 | |
| 33 | |
| 34 | ## How the Script Works |
| 35 | |
| 36 | Builds full Reddit URLs for each subreddit (e.g. `https://www.reddit.com/r/growthhacking/top/?t=week`) |
| 37 | Calls the Apify `trudax/reddit-scraper-lite` actor via REST API |
| 38 | Polls until the run completes, then fetches the dataset |
| 39 | Applies client-side keyword and date filtering |
| 40 | Sorts by upvotes (descending) and outputs JSON or summary |
| 41 | |
| 42 | ## CLI Reference |
| 43 | |
| 44 | | Flag | Default | Description | |
| 45 | |------|---------|-------------| |
| 46 | | `--subreddit` | *required* | Subreddit name(s), comma-separated | |
| 47 | | `--keywords` | none | Keywords to filter (comma-separated, OR logic) | |
| 48 | | `--days` | 30 | Only include posts from the last N days | |
| 49 | | `--max-posts` | 50 | Max posts to scrape per subreddit | |
| 50 | | `--sort` | top | Sort: `hot`, `top`, `new`, `rising` | |
| 51 | | `--time` | week | Time window for `top` sort: `hour`, `day`, `week`, `month`, `year`, `all` | |
| 52 | | `--output` | json | Output format: `json` or `summary` | |
| 53 | | `--token` | env var | Apify token (prefer `APIFY_API_TOKEN` env var) | |
| 54 | | `--timeout` | 300 | Max seconds to wait for the Apify run | |
| 55 | |
| 56 | ## Tips for Small Subreddits |
| 57 | |
| 58 | Small or low-traffic subreddits (e.g. `r/gtmengineering`) may return zero posts with `--sort hot` because the hot feed is nearly empty. Use `--sort top --time week` (or `month`) instead — this scrapes the top-ranked posts over the time window and reliably returns results. |
| 59 | |
| 60 | ## Direct API Usage |
| 61 | |
| 62 | If calling the Apify API directly (e.g. via curl), note these **required fields**: |
| 63 | |
| 64 | |
| 65 | { |
| 66 | "startUrls": [{"url": "https://www.reddit.com/r/growthhacking/top/?t=week"}], |
| 67 | "maxItems": 50 |
| 68 | } |
| 69 | |
| 70 | |
| 71 | Key notes for `trudax/reddit-scraper-lite`: |
| 72 | Uses `startUrls` with **full Reddit URLs** (not a `searches` array for subreddit browsing) |
| 73 | Sort/time are controlled via the **URL path** (e.g. `/top/?t=week`), not separate input fields |
| 74 | Only `startUrls` and `maxItems` are confirmed working input fields |
| 75 | Does **not** support `proxyConfiguration`, `scrollTimeout`, or `searchType` |
| 76 | |
| 77 | **Output fields:** |
| 78 | `dataType` — `"post"` or `"comment"` |
| 79 | `title` — Post title |
| 80 | `body` — Post body text |
| 81 | `communityName` — Subreddit name (without `r/` prefix) |
| 82 | `upVotes` — Number of upvotes |
| 83 | `numberOfComments` — Comment count |
| 84 | `url` — Full URL to the post |
| 85 | `createdAt` — ISO timestamp of when the post was created |
| 86 | |
| 87 | ## Common Workflows |
| 88 | |
| 89 | ### 1. Competitor Tracking |
| 90 | |
| 91 | |
| 92 | python3 skills/reddit-post-finder/scripts/search_reddit.py \ |
| 93 | --subreddit "LLMDevs,MachineLearning,LocalLLaMA" \ |
| 94 | --keywords "Langfuse,Arize,Weights & Biases,Langsmith,Braintrust" \ |
| 95 | --days 30 --sort top --time month |
| 96 | |
| 97 | |
| 98 | ### 2. Pain Point Discovery |
| 99 | |
| 100 | |
| 101 | python3 skills/reddit-post-finder/scripts/search_reddit.py \ |
| 102 | --subreddit LLMDevs \ |
| 103 | --keywords "frustrating,difficult,hard to,wish there was,better way" \ |
| 104 | --days 30 |
| 105 | |
| 106 | |
| 107 | ### 3. Brand Monitoring |
| 108 | |
| 109 | |
| 110 | python3 skills/reddit-post-finder/scripts/search_reddit.py \ |
| 111 | --subreddit "LLMDevs,MachineLearning" \ |
| 112 | --keywords "YourProductName" \ |
| 113 | --days 7 --sort new |
| 114 | |
| 115 | |
| 116 | ## Important: Always Include Post URLs |
| 117 | |
| 118 | When presenting Reddit results to the user, **always include the original post URL** for every post. This is critical for allowing users to read the full discussion, comments, and context. Never return a summary table without links. |
| 119 | |
| 120 | ## Output Format |
| 121 | |
| 122 | Posts are returned as JSON array sorted by upvotes. Each post has: |
| 123 | |
| 124 | |
| 125 | { |
| 126 | "dataType": "post", |
| 127 | "title": "Post title", |
| 128 | "body": "Post body...", |
| 129 | "communityName": "growthhacking", |
| 130 | "upVotes": 42, |
| 131 | "numberOfComments": 15, |
| 132 | "createdAt": "2026-02-18T12:00:00.000Z", |
| 133 | "url": "https://reddit.com/r/..." |
| 134 | } |
| 135 | |
| 136 | |
| 137 | ## Configuration |
| 138 | |
| 139 | See `references/apify-config.md` for detailed API configuration, token setup, and rate limits. |
| 140 |