Subreddit Pain Miner for Validation and Outreach
Pricing
Pay per usage
Subreddit Pain Miner for Validation and Outreach
Mines public Reddit JSON endpoints for customer pain signals, with a deterministic mock mode for testing.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Brian Keefe
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Production-ready Apify Actor that mines public Reddit JSON endpoints for customer pain signals. It is designed for validation research and respectful outreach preparation, not automated posting.
What It Does
- Searches public Reddit JSON endpoints for matching posts in selected subreddits.
- Fetches public comments JSON for matched posts.
- Deduplicates posts and comments.
- Scores each item for
painIntensity,buyerFit, andrecency. - Emits structured records with quotes, vocabulary, urgency, validation questions, and a non-spammy reply draft.
- Supports deterministic
mockItemsinput so tests and smoke runs do not depend on live Reddit.
Output Fields
Each output item includes:
painQuotesourceUrlsubredditauthorwhen publicsuggestedValidationQuestionsoftReplyDraftcompetitorMentionsurgencybuyerVocabularyitemTypecreatedAtpainIntensitybuyerFitrecency
Input
Required production inputs:
subreddits: array of subreddit names withoutr/queries: array of search terms
Optional tuning inputs:
maxPostsmaxCommentsPerPosttimeWindowDayssort
Deterministic testing input:
mockItems: optional array of fixture items. When present, the actor skips live Reddit requests entirely.
See examples/sample-input.json.
Local Run
Install:
$npm install
Run deterministic smoke path:
$npm run smoke
Run tests:
$npm test
Run the actor locally with the sample input file:
$node src/main.js --input examples/sample-input.json --output examples/generated-local-output.json
Run against live Reddit by removing mockItems from your input JSON and passing that file to src/main.js, or by using apify run.
Apify Run
Local Apify run:
$apify run
Typical Apify input:
{"subreddits": ["SaaS", "smallbusiness"],"queries": ["frustrated with", "looking for a tool"],"maxPosts": 10,"maxCommentsPerPost": 5,"timeWindowDays": 90,"sort": "relevance"}
Anti-Spam Stance
- This actor does not post, comment, message, or automate outreach on Reddit.
softReplyDraftis for human review only.- The output is intended for research, validation interviews, and respectful manual follow-up.
Error Handling
- Uses only public Reddit JSON endpoints.
- Gracefully handles
403,429, and network errors by logging warnings and continuing. - Includes
sourceUrlfor every record so each finding can be reviewed manually.
Limitations
- Public Reddit JSON can rate-limit or block requests.
- Search quality depends on Reddit indexing and the chosen queries.
- Scores are heuristic and should be reviewed by a human before making business decisions.
- Deleted users and deleted comment bodies are omitted or normalized.
Files
- Actor config:
.actor/actor.json - Input schema:
.actor/input_schema.json - Runtime:
src/main.js,src/lib.js - Examples:
examples/sample-input.json,examples/sample-output.json - Tests:
tests/smoke.test.mjs
Publish Commands
Do not publish automatically from this repository. When ready, use:
apify loginapify push
Then publish from the Apify Console after final review.