| name | reddit-explorer |
| description | Reddit market research tool via curl. Explores subreddits, searches posts/comments, analyzes competitors, pricing, sentiment, and user pain points. No authentication required for public data. Use for market research, competitive analysis, pricing intelligence, community sentiment, and launch planning. |
| allowed-tools | Bash, Read, Write, Edit, Glob, Grep |
Reddit Explorer
Role: Market Research & Community Intelligence via Reddit public API
Function: Explore Reddit subreddits, posts, comments, and user profiles using curl against Reddit's public JSON API. No authentication needed.
When to Use This Skill
Activate when you need to:
- Research what users say about a topic (pain points, desires, complaints)
- Analyze competitor products and community reception
- Gather pricing intelligence (what people charge/pay for services)
- Monitor subreddit sentiment about a topic
- Find potential communities for product launch
- Profile active users in a niche
- Discover related subreddits
Rate Limits
- Without auth: ~10 requests/minute
- Always use
-A "reddit-explorer-bot/1.0" as User-Agent
- Add
sleep 1 between batch requests to avoid 429s
Base URL
All endpoints use: https://www.reddit.com/{endpoint}.json
API Reference
1. Listing Posts
Browse a subreddit with different sort orders.
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/{subreddit}/hot.json?limit=25"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/{subreddit}/new.json?limit=25"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/{subreddit}/rising.json?limit=10"
Top with time filter:
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/{subreddit}/top.json?t=week&limit=25"
Parse output:
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/SaaS/hot.json?limit=5" | python3 -c "
import json, sys
data = json.load(sys.stdin)
for post in data['data']['children']:
d = post['data']
print(f'[{d[\"score\"]}] {d[\"title\"][:100]}')
print(f' u/{d[\"author\"]} | {d[\"num_comments\"]} comments')
print(f' {d[\"selftext\"][:200]}')
print()
"
2. Search
Search within a subreddit
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/{subreddit}/search.json?q={query}&restrict_sr=on&sort=relevance&t=year&limit=25"
Search all of Reddit
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/search.json?q={query}&sort=relevance&t=year&limit=25"
Sort options: relevance | hot | top | new | comments
Time filter: hour | day | week | month | year | all
Search by type
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/search.json?q={query}&type=comment&limit=25"
Search by flair
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/{subreddit}/search.json?q=flair:feedback&restrict_sr=on&limit=25"
3. Comments
Read comments on a specific post.
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/{subreddit}/comments/{post_id}.json?sort=top&limit=20&depth=3"
Parse comments:
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/SaaS/comments/{post_id}.json?sort=top&limit=15&depth=2" | python3 -c "
import json, sys
data = json.load(sys.stdin)
for c in data[1]['data']['children'][:15]:
if c['kind'] == 't1':
d = c['data']
print(f'u/{d[\"author\"]} ({d[\"score\"]}):')
print(f' {d[\"body\"][:300]}')
print()
"
4. Subreddit Info
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/{subreddit}/about.json"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/{subreddit}/about/rules.json"
Parse subreddit info:
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/SaaS/about.json" | python3 -c "
import json, sys
d = json.load(sys.stdin)['data']
print(f'r/{d[\"display_name\"]}')
print(f' Members: {d[\"subscribers\"]:,}')
print(f' Active now: {d.get(\"accounts_active\", \"N/A\")}')
print(f' Description: {d[\"public_description\"][:200]}')
print(f' Created: {d[\"created_utc\"]}')
"
5. User Profiles
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/user/{username}/about.json"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/user/{username}/submitted.json?limit=10"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/user/{username}/comments.json?limit=10"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/user/{username}/overview.json?limit=10"
6. Pagination
Reddit returns max 100 items per request. Use after token to paginate.
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/SaaS/new.json?limit=100"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/SaaS/new.json?limit=100&after=t3_abc123"
Pagination loop:
after=""
for page in 1 2 3; do
url="https://www.reddit.com/r/SaaS/new.json?limit=100"
[ -n "$after" ] && url="${url}&after=${after}"
after=$(curl -s -A "reddit-explorer-bot/1.0" "$url" | python3 -c "
import json, sys
data = json.load(sys.stdin)
for p in data['data']['children']:
d = p['data']
print(f'[{d[\"score\"]}] {d[\"title\"][:80]}', file=sys.stderr)
print(data['data']['after'] or '')
" 2>&1 1>/dev/null)
sleep 2
done
7. Multi-Subreddit Query
Search across multiple subs in one request.
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/SaaS+Entrepreneur+smallbusiness/hot.json?limit=25"
8. Global Feeds
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/popular/hot.json?limit=25"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/all/hot.json?limit=25"
9. Discover Subreddits
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/subreddits/popular.json?limit=25"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/subreddits/search.json?q=video+generation&limit=10"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/subreddits/new.json?limit=10"
10. Crosspost / Duplicates
curl -s -A "reddit-explorer-bot/1.0" -L \
"https://www.reddit.com/r/{subreddit}/duplicates/{post_id}.json?limit=10"
Market Research Recipes
Recipe 1: Pain Point Discovery
Find what people complain about in a niche.
for query in "frustrated with" "tired of" "why is it so hard" "expensive" "waste of time"; do
echo "--- Query: $query ---"
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/{subreddit}/search.json?q=${query// /+}&restrict_sr=on&sort=top&t=year&limit=5" | python3 -c "
import json, sys
data = json.load(sys.stdin)
for p in data['data']['children'][:3]:
d = p['data']
print(f' [{d[\"score\"]}] {d[\"title\"][:100]}')
"
sleep 1
done
Recipe 2: Pricing Intelligence
See what people charge/pay for services.
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/forhire/search.json?q={query}&restrict_sr=on&sort=new&t=year&limit=20" | python3 -c "
import json, sys
data = json.load(sys.stdin)
for p in data['data']['children']:
d = p['data']
title = d['title']
text = d.get('selftext', '')
import re
prices = re.findall(r'\\\$[\d,]+(?:\.\d{2})?|\d+\s*(?:USD|usd|/hr|/hour|per hour)', title + ' ' + text)
if prices:
print(f'{title[:80]}')
print(f' Prices found: {prices}')
print()
"
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/slavelabour/search.json?q={query}&restrict_sr=on&sort=relevance&t=all&limit=20" | python3 -c "
import json, sys, re
data = json.load(sys.stdin)
for p in data['data']['children']:
d = p['data']
prices = re.findall(r'\\\$[\d,]+', d['title'] + ' ' + d.get('selftext',''))
if prices:
print(f' {d[\"title\"][:80]} -> {prices}')
"
Recipe 3: Competitor Monitoring
Track mentions of specific tools/products.
for competitor in "CompetitorA" "CompetitorB" "CompetitorC"; do
count=$(curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/search.json?q=${competitor}&sort=new&t=month&limit=5" | python3 -c "
import json, sys
data = json.load(sys.stdin)
print(len(data['data']['children']))
")
echo "$competitor: $count recent mentions"
sleep 1
done
Recipe 4: Community Fit Analysis
Check if a subreddit is good for launching.
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/{subreddit}/about.json" | python3 -c "
import json, sys
d = json.load(sys.stdin)['data']
print(f'r/{d[\"display_name\"]}')
print(f' Members: {d[\"subscribers\"]:,}')
print(f' Active now: {d.get(\"accounts_active\", \"N/A\")}')
print(f' Type: {d[\"subreddit_type\"]}')
print(f' Self-promo: check rules below')
"
curl -s -A "reddit-explorer-bot/1.0" "https://www.reddit.com/r/{subreddit}/about/rules.json" | python3 -c "
import json, sys
data = json.load(sys.stdin)
for rule in data.get('rules', []):
print(f' Rule: {rule[\"short_name\"]}')
if 'promo' in rule.get('description','').lower() or 'self' in rule.get('short_name','').lower():
print(f' !! {rule[\"description\"][:200]}')
"
Recipe 5: Sentiment Scan
Analyze sentiment around a topic by reading top comments.
post_id=$(curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/{subreddit}/search.json?q={query}&restrict_sr=on&sort=top&t=year&limit=1" | python3 -c "
import json, sys
p = json.load(sys.stdin)['data']['children'][0]['data']
print(p['id'])
")
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/{subreddit}/comments/${post_id}.json?sort=top&limit=20&depth=1" | python3 -c "
import json, sys
data = json.load(sys.stdin)
for c in data[1]['data']['children'][:20]:
if c['kind'] == 't1':
d = c['data']
print(f'[{d[\"score\"]:+d}] {d[\"body\"][:200]}')
print()
"
Recipe 6: "I Built This" Post Analysis
See how open-source/SaaS launches perform on Reddit.
for sub in selfhosted SideProject opensource SaaS; do
echo "=== r/$sub ==="
curl -s -A "reddit-explorer-bot/1.0" \
"https://www.reddit.com/r/${sub}/search.json?q=%22I+built%22+OR+%22I+made%22+OR+%22just+launched%22&restrict_sr=on&sort=top&t=year&limit=3" | python3 -c "
import json, sys
data = json.load(sys.stdin)
for p in data['data']['children'][:3]:
d = p['data']
print(f' [{d[\"score\"]}] {d[\"title\"][:90]}')
print(f' {d[\"num_comments\"]} comments | u/{d[\"author\"]}')
"
sleep 1
done
Example Target Subreddits
Market Research
| Subreddit | Focus | What to search |
|---|
| r/Entrepreneur | 5.1M members | {your product category} cheap alternative |
| r/smallbusiness | 2.2M members | {service} cost pricing |
| r/forhire | Active marketplace | [Hiring] {skill} - see going rates |
| r/slavelabour | 449K members | {service} $50-200 - market floor |
| r/DigitalMarketing | 343K members | AI {category} tool - current landscape |
Launch Targets
| Subreddit | Focus | Why |
|---|
| r/selfhosted | 553K members | Open-source self-hosted projects welcome |
| r/SideProject | 622K members | "I built this" culture |
| r/SaaS | 386K members | Weekly feedback threads |
| r/opensource | 324K members | Open-source projects welcome |
| r/webdev | 1.7M members | Technical audience |
Known Limitations
- No auth: read-only, ~10 req/min, no private subs
- Search quality: Reddit search is notoriously weak. Use multiple query variations.
- Results cap: max 100 items per page, ~1000 total via pagination
- Rate limiting: add
sleep 1-2 between requests in loops
- Content:
.json appended to any reddit URL returns JSON