# Reddit Product Feedback Monitor: Feature Requests (`getascraper/reddit-feature-request-regression-feed`) Actor

Reddit product feedback scraper for feature requests, regressions, and bug reports. Return evidence-linked clusters and source URLs for product teams, support leads, and researchers. Automate recurring runs with the Apify API, schedules, webhooks, and n8n.

- **URL**: https://apify.com/getascraper/reddit-feature-request-regression-feed.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Social media, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 66.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.87 / 1,000 signal clusters

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🧭 Reddit Feature-Request & Regression Cluster Feed

<table width="100%" style="display:table;width:100%"><tr><td style="padding:24px 28px;background:#F4F7FB;border:1px solid #B8C7D9;border-top:4px solid #1E40AF;border-radius:12px"><span style="font-size:23px;font-weight:800;color:#172554;line-height:1.3">Turn public product discussions into a focused signal review.</span><br><span style="font-size:15px;color:#475569;line-height:1.6">Group public Reddit posts and available comments into evidence-linked feature-request, regression, and bug-report clusters. Start with a small bounded sample, then schedule only a scope you have reviewed.</span></td></tr></table>

<table width="100%" style="display:table;width:100%"><tr><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #B8C7D9;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#1E40AF">🧩 Clustered signals</span><br><span style="font-size:12px;color:#475569">Review related requests and issues as compact clusters.</span></td><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #B8C7D9;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#1E40AF">🔗 Source evidence</span><br><span style="font-size:12px;color:#475569">Keep direct public links, excerpts, and patterns beside each finding.</span></td><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #B8C7D9;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#1E40AF">📏 Coverage accounting</span><br><span style="font-size:12px;color:#475569">See which reported comments the bounded run could account for.</span></td><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #B8C7D9;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#1E40AF">📡 Repeatable scope</span><br><span style="font-size:12px;color:#475569">Use a stable scope identifier for careful recurring reviews.</span></td></tr></table>

This private-validation Actor collects a bounded sample of publicly reachable Reddit discussions. It is designed for product teams and researchers who need reviewable customer signals, not a complete Reddit archive. The cloud-safe prefill uses US residential proxy for listing-only collection. The prefilled VS Code and `vscode` values are only a working example. Replace them with your product and community before running.

Comments are optional deepening. Turning them on can produce `PARTIAL` coverage when public comment pages or continuations cannot be fully collected. Local users can test direct access by disabling the proxy. Proxy traffic costs apply.

### 🎯 What you can do

- **I am a product manager** reviewing recurring requests before I plan a roadmap discussion.
- **I am a support lead** separating likely regressions from general feature requests.
- **I am a researcher** preserving public source links and short evidence excerpts for a findings log.
- **I am an automation builder** using a bounded scope to review changed clusters over time.

### 🚀 How it works

<table width="100%" style="display:table;width:100%"><tr><td style="padding:16px 14px;width:33%;background:#F4F7FB;border:1px solid #B8C7D9;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#1E40AF;letter-spacing:1px">STEP 1</span><br><span style="font-size:14px;font-weight:700;color:#172554">Set a small public scope</span><br><span style="font-size:12px;color:#475569">Choose your product name, communities, signal types, and safe limits.</span></td><td style="padding:16px 14px;width:33%;background:#F4F7FB;border:1px solid #B8C7D9;border-left:none;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#1E40AF;letter-spacing:1px">STEP 2</span><br><span style="font-size:14px;font-weight:700;color:#172554">Review the evidence</span><br><span style="font-size:12px;color:#475569">Inspect source links, excerpts, counts, and comment-completeness fields for each cluster.</span></td><td style="padding:16px 14px;width:33%;background:#F4F7FB;border:1px solid #B8C7D9;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#1E40AF;letter-spacing:1px">STEP 3</span><br><span style="font-size:14px;font-weight:700;color:#172554">Repeat the same scope</span><br><span style="font-size:12px;color:#475569">Use the run summary to confirm whether a complete run updated its saved comparison point.</span></td></tr></table>

### 🧭 Input

| Field                         | Type             | Required | Description                                                                                                                                  |
| ----------------------------- | ---------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `productName`                 | string           | No       | Product label and focus term. The VS Code default is an editable example.                                                                    |
| `subreddits`                  | array of strings | No       | Public subreddit names without `r/`. The `vscode` default is an editable example.                                                            |
| `eventTypes`                  | enum             | No       | Include feature requests, regressions, bug reports, or a selected subset.                                                                    |
| `keywords`                    | array of strings | No       | Optional words or phrases that narrow public listing and discussion evidence.                                                                |
| `lookbackDays`                | integer          | No       | Recent listing window, up to 365 days when a public listing gives a timestamp.                                                               |
| `includeComments`             | boolean          | No       | Optional comment deepening. The cloud-safe prefill stays listing-only; enabled comments may have `PARTIAL` coverage.                         |
| `maxPosts`                    | integer          | No       | Maximum matching posts processed across the selected communities.                                                                            |
| `maxListingPages`             | integer          | No       | Listing-page cap for each selected community.                                                                                                |
| `maxCommentsPerPost`          | integer          | No       | Available public-comment cap for each processed post.                                                                                        |
| `maxContinuationPagesPerPost` | integer          | No       | Additional public comment-page cap for each processed post.                                                                                  |
| `resolutionRuns`              | integer          | No       | Consecutive successful runs in which a prior cluster is absent before it can become `RESOLVED`.                                              |
| `maxConcurrency`              | integer          | No       | Public pages collected at once. The default is one.                                                                                          |
| `maxRequestsPerMinute`        | integer          | No       | Hard request-rate cap across the run.                                                                                                        |
| `proxyConfiguration`          | object           | No       | Cloud-safe US residential proxy prefill for listing-only collection. Local users can test direct by disabling it. Proxy traffic costs apply. |

### 📊 Data table

| Field                                      | Type   | Description                                                                        |
| ------------------------------------------ | ------ | ---------------------------------------------------------------------------------- |
| `clusterId`                                | string | Stable identifier for the cluster within its normalized scope.                     |
| `eventType`                                | string | `FEATURE_REQUEST`, `REGRESSION`, or `BUG_REPORT`.                                  |
| `status`                                   | string | Source-backed cluster status when the available public evidence supports one.      |
| `productName`                              | string | Product label used for this run.                                                   |
| `subreddits`                               | array  | Public communities contributing evidence.                                          |
| `label`                                    | string | Short cluster label.                                                               |
| `summary`                                  | string | Concise evidence-grounded cluster summary when available.                          |
| `signalCount`, `postCount`, `commentCount` | number | Total signals, source posts, and comments contributing explicit evidence.          |
| `score`                                    | number | Deterministic priority score for the available evidence. It is not a Reddit score. |
| `firstSeenAt`, `lastSeenAt`, `scrapedAt`   | string | Cluster timing and collection timestamps.                                          |
| `sourceUrls`                               | array  | Direct public Reddit source links.                                                 |
| `evidenceExcerpts`, `evidencePatterns`     | array  | Short available excerpts and the patterns supporting the cluster.                  |
| `completeness`                             | string | Comment-coverage status for the bounded collection.                                |
| `reportedCommentCount`                     | number | Comment count reported by the public post when available.                          |
| `accountedCommentCount`                    | number | Public comments the run actually accounted for within its limits.                  |
| `missingCommentCount`                      | number | Reported comments not accounted for because of availability or configured caps.    |
| `monitoringConfigId`                       | string | Identifier derived from the normalized monitoring scope.                           |
| `fingerprint`                              | string | Deterministic content fingerprint used to compare the same cluster across runs.    |

### 🗂️ Output views

- `🔎 Cluster overview`: review every returned cluster with signal, source, and time context.
- `📡 Monitoring audit`: inspect coverage accounting, scope identifiers, and timestamps.

Every run also writes a non-chargeable `OUTPUT` summary. When you repeat the same scope, a complete run compares results with a private saved baseline and then updates that baseline. Partial or failed runs do not update it, so they cannot make an earlier cluster appear resolved. A previous cluster becomes `RESOLVED` only after it is absent for the configured number of consecutive complete runs. When the classifier ruleset changes, the Actor intentionally starts a new baseline so results are compared only with like-for-like runs.

### 💰 Pricing

This private-validation Actor has no published commercial pricing claim. Review the Apify run panel for current compute and proxy settings before you run it. The cloud-safe prefill uses US residential proxy, so proxy traffic costs apply. Collection depth and network choices can affect usage.

### ⭐ Enjoying Reddit Feature-Request & Regression Cluster Feed?

<table width="100%" style="display:table;width:100%"><tr><td style="padding:20px 24px 14px;background:#F4F7FB;border:1px solid #B8C7D9;border-left:5px solid #1E40AF;border-radius:10px 10px 0 0"><span style="font-size:20px;letter-spacing:4px;color:#172554">⭐ ⭐ ⭐ ⭐ ⭐</span><br><span style="font-size:17px;font-weight:800;color:#172554">Did a public signal cluster make your product review clearer?</span><br><span style="font-size:14px;color:#475569">A rating helps product teams find this Actor and shows which bounded research workflows deserve further work.</span></td></tr><tr><td style="padding:0;background:#1E40AF;border:1px solid #B8C7D9;border-top:none;border-radius:0 0 10px 10px;text-align:center"><a href="https://apify.com/getascraper/reddit-feature-request-regression-feed/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a></td></tr></table>

### ⚖️ Public-data scope and publication status

This Actor uses only publicly reachable Reddit pages. It does not claim Reddit authorization, affiliation, or access to private, deleted, login-only, quarantined, or permission-gated material. Public pages can change, disappear, omit comments, or resist collection. Use the coverage fields and source links to assess each result.

This is a private-validation Actor. Do not commercially publish or market it as a Reddit-approved product until the required permission, policy, legal, and platform review is complete. You are responsible for your use of public material, source attribution, Reddit terms, and applicable law.

### ❓ FAQ

##### Does this collect all Reddit feature requests or bug reports?

No. Each run is deliberately bounded by communities, listing pages, posts, comments, continuation pages, time window, and request rate. It is a reviewable public sample, not complete Reddit coverage.

##### Why does a cluster show partial comment completeness?

The public post may report more comments than the run could account for within the configured caps, public availability, or continuation limits. Compare the reported, accounted, and missing counts before treating a cluster as complete.

##### Does a higher cluster score mean a confirmed product priority?

No. The score orders the available evidence deterministically. It is not a customer vote, a Reddit score, or a recommendation to build the request.

##### Does this Actor access private Reddit communities or content?

No. It is limited to publicly reachable Reddit discussions and cannot access private, login-only, deleted, quarantined, or permission-gated content.

### 🔗 Other actors

- [🧵 Threads Monitor: Public Post Changes](https://apify.com/getascraper/threads-mention-delta-monitor) ↗ - monitor selected public posts and profiles for meaningful changes.
- [🛰️ Telegram Channel Delta Monitor](https://apify.com/getascraper/telegram-channel-delta-monitor) ↗ - track new and changed records from public Telegram channels.
- [💬 TeamBlind Reviews Scraper: Employer Monitor](https://apify.com/getascraper/teamblind-reviews-scraper) ↗ - collect public employer-review signals and monitor meaningful changes.
- [❓ Quora Q\&A Change Monitor](https://apify.com/getascraper/quora-qna-change-monitor) ↗ - monitor selected public Quora questions for newly available or changed content.

# Actor input Schema

## `productName` (type: `string`):

The product name used to label and focus the resulting clusters. The prefilled VS Code value is only an example.

## `subreddits` (type: `array`):

Public subreddit names without r/. The prefilled vscode community is only an example.

## `eventTypes` (type: `array`):

Keep all three types for broad product discovery, or narrow the feed to a specific signal.

## `keywords` (type: `array`):

Optional words or phrases that narrow listings and discussion text. Leave empty to discover the selected signal types without a keyword filter.

## `lookbackDays` (type: `integer`):

Only consider listing items published within this many days when the public listing provides a timestamp.

## `includeComments` (type: `boolean`):

Optional deepening for available public comments. The cloud-safe prefill stays listing-only; enabling comments may produce PARTIAL coverage when public comment pages or continuations cannot be fully collected.

## `maxPosts` (type: `integer`):

Maximum matching public posts processed across all selected subreddits.

## `maxListingPages` (type: `integer`):

Maximum public listing pages checked for each subreddit before post collection stops.

## `maxCommentsPerPost` (type: `integer`):

Maximum available public comments accounted for from each processed post when comment deepening is enabled. A cap can leave coverage PARTIAL.

## `maxContinuationPagesPerPost` (type: `integer`):

Maximum additional public comment pages followed for each post when comment deepening is enabled and Reddit exposes a continuation link. A cap can leave coverage PARTIAL.

## `resolutionRuns` (type: `integer`):

Consecutive complete recurring runs in which an earlier cluster is absent before its status can become RESOLVED. Partial or failed runs never count.

## `maxConcurrency` (type: `integer`):

Number of public pages fetched at once. Keep this low to be considerate of the source and preserve ordered accounting.

## `maxRequestsPerMinute` (type: `integer`):

Hard request-rate ceiling across listings, posts, and comment continuations.

## `proxyConfiguration` (type: `object`):

Cloud-safe prefill for public Reddit listing pages: Apify US residential proxy. Local users can test direct access by disabling the proxy. Proxy traffic costs apply.

## Actor input object example

```json
{
  "productName": "VS Code",
  "subreddits": [
    "vscode"
  ],
  "eventTypes": [
    "FEATURE_REQUEST",
    "REGRESSION",
    "BUG_REPORT"
  ],
  "keywords": [],
  "lookbackDays": 30,
  "includeComments": false,
  "maxPosts": 10,
  "maxListingPages": 1,
  "maxCommentsPerPost": 50,
  "maxContinuationPagesPerPost": 3,
  "resolutionRuns": 3,
  "maxConcurrency": 1,
  "maxRequestsPerMinute": 30,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `clusters` (type: `string`):

No description

## `runSummary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "productName": "VS Code",
    "subreddits": [
        "vscode"
    ],
    "eventTypes": [
        "FEATURE_REQUEST",
        "REGRESSION",
        "BUG_REPORT"
    ],
    "keywords": [],
    "lookbackDays": 30,
    "includeComments": false,
    "maxPosts": 10,
    "maxListingPages": 1,
    "maxCommentsPerPost": 50,
    "maxContinuationPagesPerPost": 3,
    "resolutionRuns": 3,
    "maxConcurrency": 1,
    "maxRequestsPerMinute": 30,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/reddit-feature-request-regression-feed").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "productName": "VS Code",
    "subreddits": ["vscode"],
    "eventTypes": [
        "FEATURE_REQUEST",
        "REGRESSION",
        "BUG_REPORT",
    ],
    "keywords": [],
    "lookbackDays": 30,
    "includeComments": False,
    "maxPosts": 10,
    "maxListingPages": 1,
    "maxCommentsPerPost": 50,
    "maxContinuationPagesPerPost": 3,
    "resolutionRuns": 3,
    "maxConcurrency": 1,
    "maxRequestsPerMinute": 30,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/reddit-feature-request-regression-feed").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "productName": "VS Code",
  "subreddits": [
    "vscode"
  ],
  "eventTypes": [
    "FEATURE_REQUEST",
    "REGRESSION",
    "BUG_REPORT"
  ],
  "keywords": [],
  "lookbackDays": 30,
  "includeComments": false,
  "maxPosts": 10,
  "maxListingPages": 1,
  "maxCommentsPerPost": 50,
  "maxContinuationPagesPerPost": 3,
  "resolutionRuns": 3,
  "maxConcurrency": 1,
  "maxRequestsPerMinute": 30,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call getascraper/reddit-feature-request-regression-feed --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/reddit-feature-request-regression-feed"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/qaHmU1Sl7p5IkDh2p/builds/yWknD5lS2aIMQK7L8/openapi.json
