# Reddit Pain Point Monitor Scraper (`datapilot/reddit-pain-point-monitor-scraper`) Actor

Monitor real user complaints from Reddit with this actor. Search posts by keyword, detect pain points, classify complaint types such as pricing, bugs, support, UX, product quality, and shipping issues, calculate pain scores, extract subreddit and discussion links, remove duplicates, and export clean

- **URL**: https://apify.com/datapilot/reddit-pain-point-monitor-scraper.md
- **Developed by:** [Data Pilot](https://apify.com/datapilot) (community)
- **Categories:** AI, E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 scraped results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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 Pain Point Monitor Scraper

😤 **Reddit Pain Point Monitor Scraper** is a powerful Apify Actor designed to discover, analyze, and monitor **Reddit Pain Point** discussions and customer complaints. This tool provides comprehensive analysis of **Reddit Pain Point** data including pain type classification, pain scoring, sentiment analysis, and actionable customer feedback. Whether you're monitoring customer satisfaction, identifying product issues, or conducting voice-of-customer research, the Reddit Pain Point Monitor Scraper delivers critical **Reddit Pain Point** insights efficiently.

With Reddit Atom/RSS feed integration, intelligent pain detection algorithms, multi-type pain classification, pain scoring, subreddit tracking, sentiment analysis, and deduplication, the Reddit Pain Point Monitor Scraper ensures comprehensive **Reddit Pain Point** discovery and analysis. It focuses on key **Reddit Pain Point** signals including pain types, severity scores, customer complaints, and actionable feedback, making it an essential tool for **Reddit Pain Point** research and customer experience improvement.

---

### 📋 Table of Contents

- [Features](#-features)
- [Data Source](#-data-source)
- [How It Works](#-how-it-works)
- [Input](#-input)
- [Output](#-output)
- [Technical Stack](#-technical-stack)
- [Data Fields](#-data-fields)
- [Pain Types](#-pain-types)
- [Pain Scoring](#-pain-scoring)
- [Use Cases](#-use-cases)
- [Quick Start](#-quick-start)
- [Configuration](#-configuration)
- [Performance](#-performance)
- [Billing](#-billing)
- [Important Notes](#-important-notes)
- [Keywords](#-keywords)
- [Changelog](#-changelog)
- [Support](#-support)

---

### 🔥 Features

- **Reddit Integration** – Real-time **Reddit Pain Point** monitoring via Reddit Atom/RSS feeds.
- **Keyword Search** – Search **Reddit Pain Point** by product name, brand, or topic.
- **Pain Discovery** – Discovers customer complaints and pain points on Reddit.
- **Post Title Extraction** – Captures post titles from Reddit discussions.
- **Post Body Extraction** – Extracts discussion content for analysis.
- **Subreddit Tracking** – Identifies which subreddits discuss pain points.
- **Pain Scoring** – Automatically scores pain severity (0-50+ points).
- **Pain Type Classification** – Detects 10 different pain point types.
- **Pricing/Billing Issues** – Identifies cost-related complaints.
- **Technical Issues** – Detects bugs, crashes, performance problems.
- **Poor Support Detection** – Identifies customer service complaints.
- **Churn Risk Identification** – Detects customers considering switching.
- **Trust/Deception Detection** – Identifies scam and misleading complaints.
- **UX/Usability Issues** – Detects user experience problems.
- **Shipping/Delivery Issues** – Identifies order and delivery complaints.
- **Product Quality Issues** – Detects defects and quality problems.
- **Missing Feature Detection** – Identifies feature requests and gaps.
- **Date Tracking** – Captures post publication dates.
- **URL Capture** – Provides direct links to Reddit discussions.
- **Sentiment Tracking** – Analyzes complaint sentiment.
- **Deduplication** – Removes duplicate pain point discussions.
- **Sorting by Severity** – Results sorted by pain score (highest first).
- **Proxy Support** – Apify residential proxy support for reliability.
- **Real-Time Dataset Push** – Pushes results to Apify Dataset with metadata.
- **Detailed Logging** – Comprehensive logging of pain detection and processing.
- **Asyncio-Friendly** – Non-blocking async/await architecture.

---

### 📊 Data Source

#### **Reddit Atom/RSS Feed**

- **Authority**: Official Reddit platform and user discussions
- **Coverage**: Real-time Reddit posts across all subreddits
- **Data**: Post titles, content, subreddits, timestamps
- **Update Frequency**: Real-time as posts are published
- **Authenticity**: Genuine user-generated feedback and complaints
- **Scope**: Community-driven product and service reviews

---

### ⚙️ How It Works

The Reddit Pain Point Monitor Scraper accepts a product name or keyword to search for customer complaints on Reddit. It queries Reddit's Atom/RSS feed with the keyword and "sort by new" to get latest discussions. For each post found, it extracts title, content, subreddit, and date. Each post is analyzed to detect pain words, calculate pain score, and classify pain type. Pain scoring algorithm counts occurrences of 50+ pain-related keywords. Pain type classification identifies specific issues (pricing, technical, support, churn risk, trust, UX, shipping, quality, missing feature). Results are deduplicated, sorted by pain score (highest first), and pushed to dataset. A completion summary is logged.

**Key Processing Steps:**

1. **Input Parsing** – Accept product/brand keyword
2. **Proxy Setup** – Configure Apify residential proxy
3. **RSS Query** – Build Reddit search RSS URL with keyword
4. **Feed Fetch** – Query Reddit Atom feed
5. **XML Parsing** – Extract entry elements from RSS
6. **Field Extraction** – Extract title, content, link, date
7. **HTML Cleanup** – Decode HTML entities and strip tags
8. **Keyword Matching** – Check keyword relevance
9. **Pain Analysis** – Analyze text for pain words
10. **Pain Scoring** – Count pain word occurrences
11. **Pain Classification** – Detect pain type
12. **Subreddit Extraction** – Identify source subreddit
13. **Deduplication** – Check against seen titles
14. **Sorting** – Sort by pain score (descending)
15. **Dataset Push** – Push unique pain points in batch
16. **Summary Logging** – Report statistics

**Key Benefits:**

- Discover **Reddit Pain Point** discussions automatically
- Understand customer pain and frustration
- Identify product issues early via complaints
- Understand feature gaps and requests
- Monitor customer sentiment and satisfaction
- Build better products based on feedback

---

### 📥 Input

The Actor accepts the following input parameters:

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `keyword` | string | required | Product/brand name to monitor for **Reddit Pain Point** |
| `useApifyProxy` | boolean | `true` | Enable Apify residential proxies |
| `apifyProxyGroups` | array | `["RESIDENTIAL"]` | Proxy group configuration |

**Example Input:**

```json
{
  "keyword": "Apple",
  "useApifyProxy": true
}
````

**Monitor SaaS Product:**

```json
{
  "keyword": "Slack"
}
```

**Track Competitor:**

```json
{
  "keyword": "Zoom"
}
```

***

### 📤 Output

The Actor pushes **Reddit Pain Point** records with the following structure:

**Reddit Pain Point Record:**

| Field | Type | Description |
|-------|------|-------------|
| `title` | string | Reddit post title/discussion headline |
| `body` | string | Post content (first 500 characters) |
| `pain_type` | string | Type of pain detected (Pricing, Technical, Support, etc.) |
| `pain_score` | integer | Pain severity score (0-50+) based on word count |
| `date` | string | Post publication date (YYYY-MM-DD) |
| `upvotes` | string | Upvote count (N/A from feed) |
| `comments` | string | Comment count (N/A from feed) |
| `subreddit` | string | Source subreddit (e.g., r/Apple) |
| `detail_url` | string | Direct link to Reddit discussion |
| `source` | string | Data source (Reddit Feed) |
| `keyword` | string | Search keyword used |
| `scraped_at` | string | ISO 8601 scrape timestamp |

**Example Reddit Pain Point Record:**

```json
{
  "title": "Apple's new MacBook is overpriced garbage and keeps crashing",
  "body": "Just spent $3000 on a new MacBook and it's constantly crashing. The support team won't respond to my tickets. This is the worst purchase I've ever made. I'm switching to Windows.",
  "pain_type": "Pricing/Billing",
  "pain_score": 12,
  "date": "2025-02-14",
  "upvotes": "N/A",
  "comments": "N/A",
  "subreddit": "r/Apple",
  "detail_url": "https://reddit.com/r/Apple/comments/...",
  "source": "Reddit Feed",
  "keyword": "Apple",
  "scraped_at": "2025-02-14T12:00:00"
}
```

**Example Multiple Pain Points (Batch):**

```json
[
  {
    "title": "Slack just charged me $500 for extra users I didn't add",
    "body": "Just discovered unexpected charges on my billing. Called support but they ghosted me...",
    "pain_type": "Pricing/Billing",
    "pain_score": 8,
    "date": "2025-02-13",
    "subreddit": "r/Slack",
    "detail_url": "https://reddit.com/r/Slack/comments/...",
    "source": "Reddit Feed",
    "keyword": "Slack",
    "scraped_at": "2025-02-14T12:00:00"
  },
  {
    "title": "Zoom app is broken and keeps crashing on latest update",
    "body": "After the latest update, Zoom refuses to stay open. It crashes within 2 minutes every time...",
    "pain_type": "Technical Issue",
    "pain_score": 7,
    "date": "2025-02-12",
    "subreddit": "r/Zoom",
    "detail_url": "https://reddit.com/r/Zoom/comments/...",
    "source": "Reddit Feed",
    "keyword": "Zoom",
    "scraped_at": "2025-02-14T12:00:00"
  }
]
```

***

### 🧰 Technical Stack

- **Data Source:** Reddit Atom/RSS feeds
- **HTTP Client:** httpx for async HTTP requests
- **XML Parsing:** Regex-based RSS extraction
- **HTML Processing:** Regex for entity decoding and tag removal
- **Pattern Matching:** Regex for subreddit extraction and pain detection
- **Keyword Analysis:** List-based pain word detection
- **Date Parsing:** String slicing for standardized formatting
- **Query Building:** urllib.parse for URL encoding
- **Async:** asyncio for non-blocking operations
- **Deduplication:** Set-based tracking by title
- **Sorting:** Lambda-based sorting by pain score
- **Proxy:** Apify Proxy with RESIDENTIAL configuration
- **Logging:** Apify Actor logging system
- **Platform:** Apify Actor serverless environment

***

### 📊 Data Fields Explained

#### **Pain Point Identification**

- **title**: Reddit post title/discussion headline
- **pain\_type**: Classification of pain issue
- **pain\_score**: Severity/intensity score (0-50+)

#### **Discussion Content**

- **body**: Post content for analysis
- **subreddit**: Community discussing pain point
- **keyword**: Product/brand being discussed

#### **Timeline & Engagement**

- **date**: When pain point was posted
- **scraped\_at**: When data was collected

#### **Reference**

- **detail\_url**: Link to full Reddit discussion
- **source**: Data origin (Reddit Feed)

***

### 😤 Pain Types

The Reddit Pain Point Monitor Scraper detects 10 **Reddit Pain Point** types:

#### **1. Pricing/Billing**

Expensive, overpriced, unexpected charges, hidden fees, refund issues

#### **2. Technical Issue**

Bugs, crashes, errors, broken features, slow performance, lagging

#### **3. Poor Support**

No response, ghosted, ignored, bad customer service, support tickets

#### **4. Churn Risk**

Customers considering switching, looking for alternatives, cancellation

#### **5. Trust/Deception**

Misleading marketing, scams, fake claims, hidden information

#### **6. UX/Usability**

Complicated interface, confusing features, hard to use, poor design

#### **7. Shipping/Delivery**

Late delivery, lost packages, tracking issues, order problems

#### **8. Product Quality**

Defects, broken items, cheap materials, damage, quality issues

#### **9. Missing Feature**

Feature requests, functionality gaps, missing capabilities

#### **10. General Complaint**

Other complaints and issues

***

### 📊 Pain Scoring

#### **Scoring Algorithm**

Pain score is calculated by counting pain-related words in the post title and body:

**Pain Words (50+ keywords):**

- Negative: hate, frustrate, annoy, broken, awful, terrible, worst, horrible
- Uselessness: useless, trash, scam, ripoff, waste
- Disappointment: disappoint, fail, frustration
- Technical: bug, crash, slow, laggy, error
- Cost: expensive, overpriced, charged
- Functionality: can't, stopped working, not working
- Requests: why does, why is
- Emotional: ugh, wtf, ridiculous
- And 30+ more

**Example Scoring:**

- 0-2 points: Minor complaint
- 3-5 points: Moderate issue
- 6-10 points: Significant pain
- 11+ points: Severe/critical issue

#### **Example Scores**

High pain (8+ points):

```
"This product is awful, broken, and overpriced. 
Customer support is ghosted me for 3 weeks."
```

Medium pain (4-7 points):

```
"Having some frustrating issues with this feature.
It seems to crash occasionally."
```

Low pain (1-3 points):

```
"Could use a better interface overall."
```

***

### 🎯 Use Cases

- **Voice of Customer** – Collect **Reddit Pain Point** for VoC programs
- **Product Development** – Inform product roadmap with pain point data
- **Customer Success** – Identify at-risk customers via churn pain signals
- **Support Improvement** – Identify support-related pain points
- **Competitive Analysis** – Monitor competitor **Reddit Pain Point** discussions
- **Market Research** – Understand market pain and needs
- **UX Improvement** – Identify usability issues via user complaints
- **Pricing Strategy** – Monitor pricing-related complaints
- **Feature Prioritization** – Prioritize features based on pain points
- **Bug Detection** – Identify critical bugs from user reports
- **Quality Assurance** – Monitor product quality issues
- **Crisis Management** – Detect reputation crises early
- **Sentiment Analysis** – Understand overall sentiment
- **Trend Identification** – Identify emerging customer issues
- **Feedback Analysis** – Analyze customer feedback systematically

***

### 🚀 Quick Start

#### **1. Prepare Input**

Go to Apify Console and enter:

```json
{
  "keyword": "Netflix",
  "useApifyProxy": true
}
```

#### **2. Run the Actor**

Click **Start** button. The Actor will:

- Connect to Reddit RSS feed
- Search for pain point discussions
- Analyze text for pain words
- Classify pain types
- Calculate pain scores
- Deduplicate and sort
- Push to Dataset

#### **3. Monitor Progress**

Console shows:

```
[Reddit Atom Feed] Fetching target discussions for: 'Netflix'
Extracted 42 feed posts straight from Reddit Feed Architecture.
Successfully finished! Stored 38 real-time pain point leads.
```

#### **4. View & Download Results**

- **Results Tab**: All **Reddit Pain Point** records sorted by pain score
- **Export**: JSON, CSV, Excel
- **Filter**: By pain type or date
- **Sort**: By pain score or subreddit

***

### ⚙️ Configuration

#### **Product Monitoring**

SaaS product:

```json
{
  "keyword": "Salesforce"
}
```

E-commerce platform:

```json
{
  "keyword": "Amazon"
}
```

***

### 📈 Performance

#### **Processing Speed**

- \~15-25 seconds per search
- \~30-50 pain points per search
- Pain analysis and scoring instant
- Deduplication and sorting efficient

#### **Resource Usage**

- Memory: ~100-150MB
- CPU: ~30-40% during processing
- Network: ~2-3MB per search
- API calls: 1 per search

***

### 💰 Billing

#### **Batch Billing**

- **Billing Model:** Batch push (not per-pain-point PPE)
- **Typical Cost:** Single operation per search
- **Efficiency:** High efficiency, bulk processing

***

### ⚠️ Important Notes

#### **Legal & Compliance**

- **Fair Use**: Respects Reddit ToS and rate limits
- **Attribution**: Respects user content and copyrights
- **Accuracy**: User-generated feedback (subjective)
- **Verification**: Always verify feedback with team
- **Privacy**: Respects user privacy

#### **Data Quality**

- **Freshness**: Real-time from Reddit
- **Completeness**: Depends on discussion volume
- **Accuracy**: User opinions (subjective analysis)
- **Reliability**: Reddit platform highly reliable
- **Verification**: Verify with customer research

#### **Best Practices**

- Treat as feedback, not absolute truth
- Combine with customer research
- Verify pain points with customers
- Prioritize by pain score
- Cross-reference multiple sources
- Monitor continuously for trends
- Take action on feedback
- Close the loop with community
- Respect user feedback genuinely
- Use insights for improvement

### 📦 Changelog

**Initial Release:**

- Reddit Atom/RSS feed integration
- Keyword-based pain point search
- RSS entry extraction via regex parsing
- Title and content extraction from posts
- HTML entity decoding and tag removal
- Subreddit identification and extraction
- Date extraction and standardization
- Keyword relevance filtering
- 50+ pain word detection and scoring
- 10-type pain classification algorithm
  - Pricing/Billing detection
  - Technical Issue detection
  - Poor Support detection
  - Churn Risk detection
  - Trust/Deception detection
  - UX/Usability detection
  - Shipping/Delivery detection
  - Product Quality detection
  - Missing Feature detection
  - General Complaint detection
- Pain score calculation (word counting)
- Pain severity ranking
- Deduplication by title normalization
- Sorting by pain score (descending)
- Real-time Dataset push
- Detailed progress logging
- Comprehensive error handling
- Asyncio executor support

***

### 🧑‍💻 Support & Feedback

- **Issues:** Submit via Apify console with keyword
- **Documentation:** Check Actor details page
- **Community:** Apify forum discussions
- **Feature Requests:** Suggest improvements
- **Bug Reports:** Include keyword and error details

#### **Output Access**

- **Results Tab**: All **Reddit Pain Point** records sorted by pain score
- **Export**: JSON, CSV, Excel
- **Filter**: By pain type or subreddit
- **API**: Query via Apify API

***

### 📄 License & Legal

**Terms of Use:**

- Use for legitimate business and research
- Respect Reddit ToS and policies
- Respect user content and privacy
- Don't harass or target users
- Comply with applicable laws
- Use data ethically and responsibly

**Disclaimer:**
Reddit Pain Point Monitor Scraper is provided as-is for research purposes. Users are responsible for compliance with Reddit ToS. Always verify pain points with direct customer research and treat Reddit feedback as one input among many.

***

### 🎉 Get Started Today

**Deploy now for **Reddit Pain Point** research!**

Use for:

- 📊 Pain Analysis
- 🔍 Customer Intelligence
- 💡 Product Improvement
- 📈 Sentiment Analysis
- 🎯 Issue Prioritization

**Perfect for:**

- Product Managers
- Customer Success Teams
- User Experience Teams
- Product Researchers
- Data Analysts

***

**Last Updated:** February 2025\
**Version:** 1.0.0\
**Status:** Production Ready\
**Platform:** Apify Actor\
**Architecture:** Async/Await\
**Data Source:** Reddit Atom/RSS Feed

***

### 📚 Related Tools

- E-commerce Trend Intelligence Scraper
- Public Company Expansion Signals Scraper
- News Mention Alert Engine
- App Review Intelligence Monitor

***

### 😤 Pain Point Excellence

This Actor is optimized for **Reddit Pain Point** research with:

- ✅ Real-time Reddit feed integration
- ✅ 10-type pain classification
- ✅ Pain scoring algorithm
- ✅ Subreddit tracking
- ✅ Sentiment analysis
- ✅ Deduplication and sorting
- ✅ Real-time Dataset push
- ✅ Error recovery
- ✅ Production-ready code

# Actor input Schema

## `keyword` (type: `string`):

Enter the brand or product to track pain points (e.g., Shopify, Uber, Amazon, ChatGPT).

## `useApifyProxy` (type: `boolean`):

Highly recommended to route requests through different IPs to prevent rate-limiting.

## `apifyProxyGroups` (type: `array`):

Residential proxies work best for structured corporate data streams.

## Actor input object example

```json
{
  "keyword": "Shopify",
  "useApifyProxy": true,
  "apifyProxyGroups": [
    "RESIDENTIAL"
  ]
}
```

# 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 = {
    "keyword": "Shopify"
};

// Run the Actor and wait for it to finish
const run = await client.actor("datapilot/reddit-pain-point-monitor-scraper").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 = { "keyword": "Shopify" }

# Run the Actor and wait for it to finish
run = client.actor("datapilot/reddit-pain-point-monitor-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "keyword": "Shopify"
}' |
apify call datapilot/reddit-pain-point-monitor-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=datapilot/reddit-pain-point-monitor-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Reddit Pain Point Monitor Scraper",
        "description": "Monitor real user complaints from Reddit with this actor. Search posts by keyword, detect pain points, classify complaint types such as pricing, bugs, support, UX, product quality, and shipping issues, calculate pain scores, extract subreddit and discussion links, remove duplicates, and export clean",
        "version": "0.0",
        "x-build-id": "uPe9IlX9UtxLDjs6T"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/datapilot~reddit-pain-point-monitor-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-datapilot-reddit-pain-point-monitor-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/datapilot~reddit-pain-point-monitor-scraper/runs": {
            "post": {
                "operationId": "runs-sync-datapilot-reddit-pain-point-monitor-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/datapilot~reddit-pain-point-monitor-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-datapilot-reddit-pain-point-monitor-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keyword"
                ],
                "properties": {
                    "keyword": {
                        "title": "Search Keyword",
                        "type": "string",
                        "description": "Enter the brand or product to track pain points (e.g., Shopify, Uber, Amazon, ChatGPT)."
                    },
                    "useApifyProxy": {
                        "title": "Use Apify Proxy",
                        "type": "boolean",
                        "description": "Highly recommended to route requests through different IPs to prevent rate-limiting.",
                        "default": true
                    },
                    "apifyProxyGroups": {
                        "title": "Proxy Groups",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Residential proxies work best for structured corporate data streams.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "RESIDENTIAL",
                                "DATACENTER"
                            ]
                        },
                        "default": [
                            "RESIDENTIAL"
                        ]
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
