Reddit research
What this is
Reddit research is where you find real customer language for creative and audience research. Search Reddit by keyword, subreddit, or a specific discussion, then review posts and comments separately. Save useful findings or export the full result set for deeper analysis.
Common questions
Which search should I use?
Use Keyword for a site-wide search, Subreddit for one named community, or URL for one specific discussion.
How do I include comments?
Turn on Include comments before you run the search. You can also set the maximum number of posts and comments to collect.
Where do I find the results?
Posts and comments appear in separate result tabs. Each result shows its score, community, author, date, and a preview.
Can I keep a result for later?
Yes. Save individual posts or comments. Saved items remain available, while the on-page save indicators reset when you reload the page.
Can I download the research?
Yes. Export creates a plain-text file containing the titles and bodies of all returned results.
How to use it
- Choose Keyword, Subreddit, or URL and enter the required search value.
- Set the sort order, time window, and result limits. Turn on comments if you need them.
- Run the search and switch between Posts and Comments to review the results.
- Save useful items or export the result set as a text file.
Screenshot

For developers — routes, guards, and internals
- Route:
/reddit - Guard: authenticated session +
view_creative_labpermission +flag.enable_reddit_researchplatform flag (src/app/reddit/layout.tsx). No session →/login?callbackUrl=/reddit, missing permission →/portal, flag off →/marketing. The scrape API is fail-closed on a missingAPIFY_TOKEN.
Voice-of-customer research surface — a port of legacy Launchpad's Reddit
Research page. Scrapes Reddit posts/comments through the Apify actor
trudax/reddit-scraper-lite so copywriters can mine real customer language.
The capture shows the initial empty state (no search executed); the page
loading at all confirms APIFY_TOKEN is configured in prod.
Features
- Three search modes.
keyword(site-wide search),subreddit(scrape a named subreddit), andurl(scrape a specific thread). The mode select switches which input is required. - Sort + time window. Sort options
top | hot | new | rising | relevanceand time windowday | week | month | year | all(capture defaults: Top / Month), passed through to the Apify actor. - Volume controls. Max posts and max comments numeric inputs plus an include-comments toggle; comments are only fetched when the toggle is on.
- Scrape execution.
POST /api/reddit/scraperuns the Apify actor server-side (the token never reaches the browser) and returns posts and comments; the route rejects with an explicit error whenAPIFY_TOKENis unset rather than pretending to work. - Posts / Comments result tabs. Results split into two tabs showing score, subreddit, author, date and a body preview per item.
- Save-to-library toggle. Each post/comment row has a save toggle keyed by
its
apify_item_id: save isPOST /api/reddit/saves, unsave isDELETE /api/reddit/saves?apify_item_id=...; per-row saved state is tracked client-side for the session. Saved items are persisted in Supabase and manageable via/api/reddit/saves/[id]. - Export corpus. Concatenates every result title/body into a single
plain-text blob and downloads it as
reddit-corpus-<timestamp>.txt— intentionally AI-ready (paste into any LLM workflow as research corpus). There is also a server-side/api/reddit/export-corpusroute for the same purpose. - App chrome. Shares the
AdminSidebarShell; the section is grouped with the other Creative Studio surfaces because it is gated on the sameview_creative_labpermission — the nav entry appears/disappears with the permission and the flag (getDisabledSidebarFlagsfeeds the shell). - Session-local save state. Saved/saving flags are keyed by
apify_item_idin component state because the DB row id is not known until the save round-trip returns; re-visiting the page starts with a clean toggle state even though the library rows persist. - Cost note for the client. Every executed search runs a paid Apify actor
job under the platform's
APIFY_TOKEN; max-posts/max-comments and the include-comments toggle are the levers that bound per-search cost.
Key files
| Kind | Path |
|---|---|
| Layout guard | src/app/reddit/layout.tsx |
| Page | src/app/reddit/page.tsx |
| View | src/components/reddit/RedditResearchView.tsx |
| API | /api/reddit/scrape, /api/reddit/saves, /api/reddit/saves/[id], /api/reddit/export-corpus |
| Nav/flags | src/lib/nav.ts, src/lib/nav-flags.ts (flag.enable_reddit_research) |