# Reddit User Profile Posts Comments Scraper (`solid-scraper/reddit-user-profile-posts-comments-scraper`) Actor

🚀 Scrape Reddit user profiles, comments, and posts with filters for keywords, subreddits, and engagement signals. Perfect for market research, influencer discovery, and community analytics—get actionable data fast. 📈

- **URL**: https://apify.com/solid-scraper/reddit-user-profile-posts-comments-scraper.md
- **Developed by:** [SolidScraper](https://apify.com/solid-scraper) (community)
- **Categories:** Social media, Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 1,000 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 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 User Profile Posts & Comments Scraper 🔍

**Reddit User Profile Posts & Comments Scraper** automatically collects Reddit post and comment activity from **user profile pages**, helping you turn public web data into structured datasets. Whether you’re using a **reddit user profile scraper** for research, building a **reddit comments scraper** for community insights, or running a **reddit posts scraper** for content mining—this actor streamlines scraping of a user’s overview activity into a clean output you can analyze.

Designed for marketers, data analysts, and researchers, it saves you hours of manual work by organizing collected posts and comments from profile timelines at scale.

***

### Why choose Reddit User Profile Posts & Comments Scraper?

| Feature | Benefit |
|---|---|
| ✅ **Posts + comments in one run** | Extracts both post and comment items from Reddit user profile listings so you don’t need separate tools |
| ✅ **Profile URL input** | Works from a list of Reddit user profile URLs (`startUrls`) for fast setup and repeatable runs |
| ✅ **Reliability-focused fetching** | Includes retries and fallbacks to improve successful page retrieval during longer batches |
| ✅ **Structured dataset output** | Saves consistent fields like `type`, `subreddit`, `author`, `body`, `score`, `num_comments`, `url`, and `created_utc` |
| ✅ **Scales across multiple profiles** | Processes each provided profile URL until it reaches `maxItems` or the profile has no further pages |
| ✅ **Automation-ready** | Outputs directly into the Apify dataset for easy export (JSON/CSV) and downstream pipelines |

***

### Key features

- 🧾 **Posts + comments collection:** Captures both `t3` (posts) and `t1` (comments) items from the user listing data and labels them with `type`.
- 🔄 **Recursive replies extraction:** When comment items include nested replies, replies are recursively extracted into the output dataset.
- 🧠 **Clean, consistent records:** Each saved item contains the same core fields (like `subreddit`, `author`, `title`, `body`, `score`, `num_comments`, `url`, `created_utc`), which makes analysis straightforward.
- 💾 **Real-time dataset saving:** Items are pushed as pages are processed (not only at the end of the run), reducing risk of losing data.
- 🌐 **Flexible start URLs:** Accepts a list of Reddit user profile URLs as input, so you can automate “scrape reddit user posts and comments” workflows.
- 🛡️ **Resilience with retries:** Uses retry attempts per page fetch and rotates access when failures occur, improving success rate for bulk scraping jobs.
- ⏳ **Limits for controlled runs:** Supports `maxPages` and `maxItems` so you can control runtime and output size for each batch.

***

### Input

Provide input via an `input.json` file. Example structure:

```json
{
  "startUrls": [
    {
      "url": "https://www.reddit.com/user/redditusername123/"
    }
  ]
}
```

#### Input Fields

| Field | Required | Description |
|---|---|---|
| `startUrls` | ✅ | A list of Reddit user profile URLs to scrape posts & comments from. Example: `https://www.reddit.com/user/redditusername123/`. |

***

### Output

The actor saves scraped Reddit items into the Apify dataset in JSON format.

Example of a dataset record (single item):

```json
{
  "type": "post",
  "subreddit": "exampleSub",
  "author": "exampleAuthor",
  "title": "Example post title",
  "body": "Example content",
  "score": 123,
  "num_comments": 45,
  "url": "https://www.reddit.com/r/exampleSub/comments/example",
  "created_utc": 1710000000
}
```

#### Output Fields

| Field | Type | Description |
|---|---|---|
| `type` | string | Item type. Posts are labeled as `post`, comments as `comment` (with `unknown` used when kind is not available). |
| `subreddit` | string | Subreddit where the post or comment belongs. |
| `author` | string | Author username associated with the item. |
| `title` | string | Title text for posts (may be empty depending on item type). |
| `body` | string | Main content for the item (post or comment text). |
| `score` | number | Reddit score for the item. |
| `num_comments` | number | Comment count associated with the item (commonly for posts). |
| `url` | string | Canonical link for the item. |
| `created_utc` | number | Unix timestamp indicating when the item was created. |

Note: Each scraped item is pushed into the dataset as pages are processed, making it easy to export as JSON or CSV after the run finishes.

***

### How to use Reddit User Profile Posts & Comments Scraper (via Apify Console)

1. **Open Apify Console**
   Log in at [console.apify.com](https://console.apify.com) and open the **Actors** tab.

2. **Find the actor**
   Search for **Reddit User Profile Posts & Comments Scraper** and open its listing.

3. **Add your input**
   In the **INPUT** section, provide your `startUrls` as a list of Reddit user profile URLs. Use URLs like:
   - `https://www.reddit.com/user/redditusername123/`

4. **Run the actor**
   Click **Run** to start scraping posts and comments from each provided profile.

5. **Monitor progress in logs**
   You’ll see an initial “Starting actor” message, and then processing continues while items are being pushed to the dataset page-by-page (including retry behavior when needed).

6. **Access your dataset**
   When the run finishes, open the **OUTPUT** tab and view the dataset named **Reddit Data** with the **Scraped Reddit Items** table view.

7. **Export results**
   Export the dataset as **JSON** or **CSV** for analysis, reporting, or integration into your pipeline.

No coding required—get accurate Reddit profile data for posts and comments in minutes.

***

### Advanced features & SEO optimization

- 🕒 **Designed for “reddit user profile history scraper” workflows:** The actor iterates through multiple pages per profile until it reaches `maxPages` or `maxItems`, making it ideal for “collect reddit user posts and comments” jobs.
- 🔁 **Comment threading support:** Recursively extracts nested replies, which helps when you’re doing deeper **reddit timeline scraper** research rather than just top-level comments.
- 📊 **Data completeness for analysis:** Outputs consistent fields across both posts and comments, so you can quickly analyze engagement (like `score`) and activity timing (`created_utc`).
- 🧰 **Robust batch control:** Use `maxPages` and `maxItems` (where available in your run inputs) to manage performance when you scale up.
- 📝 **Automation-friendly results:** Since everything is pushed into a dataset, it’s easy to plug into downstream “reddit scraper for post and comment data” pipelines.

***

### Best use cases

- 📈 **Market researchers profiling community engagement:** Build a timeline of posts and comments to understand how users participate over time.
- 🧑‍💼 **B2B marketers analyzing audience behavior:** Use the extracted activity to identify themes and engagement patterns for outreach targeting.
- 🎓 **Academic or investigative research:** Gather structured Reddit content for content analysis, coding, and longitudinal studies.
- 🧠 **Community managers tracking influential users:** Quickly compile user contributions from a profile’s activity and export for moderation or reporting.
- 🧾 **Data analysts building enrichment datasets:** Join profile activity with your own CRM or research tables using stable fields like `author`, `subreddit`, and `created_utc`.
- 💻 **Developer teams automating “scrape reddit account activity” pipelines:** Use dataset output to feed dashboards, notebooks, or ETL jobs.
- 🔎 **Moderation & safety reviews (public data analysis):** Monitor how users engage across subreddits by collecting post and comment content for review workflows.

***

### Technical specifications

- **Supported Input Formats**
  - ✅ `startUrls` as an array of Reddit user profile URLs (each entry uses the `url` shown in the schema description)

- **Proxy Support**
  - ✅ Includes built-in proxy support aimed at reliable scraping (with an option to continue without proxy if proxy initialization fails)

- **Retry Mechanism**
  - ✅ Uses multiple retry attempts per page fetch and rotates access when requests fail

- **Dataset Structure**
  - ✅ Saves items to the Apify dataset view **Scraped Reddit Items** with fields including:
    - `type`, `subreddit`, `author`, `title`, `body`, `score`, `num_comments`, `url`, `created_utc`

- **Limit Controls**
  - ✅ Controlled by `maxPages` and `maxItems` (the actor stops when either limit is reached)

- **Limitations**
  - ❌ Requires valid, accessible public profile listing data for the actor to retrieve results
  - ❌ If a profile has no accessible listing data, fewer or no items may be produced

***

### FAQ

#### What does this actor scrape from a Reddit user profile?

✅ It scrapes posts and comments associated with the user’s profile listing activity, and saves each item with a `type` of `post` or `comment`, along with fields like `subreddit`, `author`, `body`, `score`, `num_comments`, `url`, and `created_utc`.

#### What input do I need to provide?

You need to provide `startUrls`, which is a list of Reddit user profile URLs (for example: `https://www.reddit.com/user/redditusername123/`). The actor uses those profile URLs as the starting points to collect post and comment items.

#### Do I need to write any code?

❌ No. You can use the Apify Console to enter your `startUrls`, run the actor, and download/export the resulting dataset.

#### Does the scraper collect nested replies under comments?

✅ Yes. When comment items include nested replies, the actor recursively extracts those replies so you get a more complete set of collected discussion content.

#### Where does the output go?

The actor pushes scraped items into the Apify dataset named **Reddit Data**, shown under the default dataset view **Scraped Reddit Items** in a table format.

#### What happens if requests fail for some pages?

✅ The actor includes retries and resilience logic to improve successful retrieval during runs. It also stops based on your `maxPages` and `maxItems` limits.

#### Can I export results for analysis?

✅ Yes. After the run completes, you can export the dataset (for example as JSON or CSV) from the Apify dataset output.

#### Is this meant for lead generation or contact scraping?

This actor is focused on collecting Reddit posts and comments from user profiles, creating a structured dataset for analysis. It is not designed as a dedicated email or contact extractor.

***

### Support & feature requests

If you’re using **Reddit User Profile Posts & Comments Scraper** for your next research or automation workflow, we’d love to hear what you need.

- 💡 **Feature Requests:** Want enhancements like additional fields in the dataset, expanded control options, or better export workflows for your “reddit user profile scraper tool” use case? Share your ideas.
- 📧 **Contact:** Email us at <dataforleads@gmail.com>.

Your feedback directly helps shape the roadmap for future improvements to this Reddit scraping actor.

***

*If you need a reliable **Reddit User Profile Posts & Comments Scraper** to collect structured posts and comments at scale, you’re in the right place—this actor is built to make automation feel effortless.*

# Actor input Schema

## `startUrls` (type: `array`):

List of Reddit user profile URLs to scrape posts & comments from. Example: https://www.reddit.com/user/redditusername123/

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.reddit.com/user/redditusername123/"
    }
  ]
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://www.reddit.com/user/redditusername123/"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("solid-scraper/reddit-user-profile-posts-comments-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 = { "startUrls": [{ "url": "https://www.reddit.com/user/redditusername123/" }] }

# Run the Actor and wait for it to finish
run = client.actor("solid-scraper/reddit-user-profile-posts-comments-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 '{
  "startUrls": [
    {
      "url": "https://www.reddit.com/user/redditusername123/"
    }
  ]
}' |
apify call solid-scraper/reddit-user-profile-posts-comments-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=solid-scraper/reddit-user-profile-posts-comments-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/gk0bflKFLMctsYhlT/builds/hqmP8b2iZdtMnS4Xg/openapi.json
