Skip to main content

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​

  1. Choose Keyword, Subreddit, or URL and enter the required search value.
  2. Set the sort order, time window, and result limits. Turn on comments if you need them.
  3. Run the search and switch between Posts and Comments to review the results.
  4. Save useful items or export the result set as a text file.

Screenshot​

Reddit Research

For developers — routes, guards, and internals
  • Route: /reddit
  • Guard: authenticated session + view_creative_lab permission + flag.enable_reddit_research platform 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 missing APIFY_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), and url (scrape a specific thread). The mode select switches which input is required.
  • Sort + time window. Sort options top | hot | new | rising | relevance and time window day | 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/scrape runs the Apify actor server-side (the token never reaches the browser) and returns posts and comments; the route rejects with an explicit error when APIFY_TOKEN is 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 is POST /api/reddit/saves, unsave is DELETE /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-corpus route 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 same view_creative_lab permission — the nav entry appears/disappears with the permission and the flag (getDisabledSidebarFlags feeds the shell).
  • Session-local save state. Saved/saving flags are keyed by apify_item_id in 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

KindPath
Layout guardsrc/app/reddit/layout.tsx
Pagesrc/app/reddit/page.tsx
Viewsrc/components/reddit/RedditResearchView.tsx
API/api/reddit/scrape, /api/reddit/saves, /api/reddit/saves/[id], /api/reddit/export-corpus
Nav/flagssrc/lib/nav.ts, src/lib/nav-flags.ts (flag.enable_reddit_research)