# Reddit User Scraper: Profiles, Karma and Post History (`themineworks/reddit-user-scraper`) Actor

Scrape Reddit user profiles and history: karma, account age, mod and verified flags, avatar and about text, plus each user's posts and comments with subreddit, score and links. Takes usernames or profile links. No login. Monitor mode delivers only new posts and comments.

- **URL**: https://apify.com/themineworks/reddit-user-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Social media, Lead generation, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 profile, post or comments

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Reddit User Scraper: Profiles, Karma and Post History

[![1,399 posts and comments from 5 Reddit users in 41 seconds, with each profile's karma and account age](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/reddit-user-scraper-hero.png)](https://console.apify.com/actors/EKpczhYtUdbC82INC/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 140,000 runs across 170+ public actors.

Updated 10 Oct 2026: first release. Profile rows with karma, account age and flags, plus each user's posts and comments as rows, newest first, with a monitor mode for new activity. Bookmark this Actor on its Store page so it is one click away next time.

### Why choose this actor?

- **The profile and the history in one run.** Karma (post, comment, total), account age, moderator, employee, Premium and verified flags, avatar and about text, then the user's posts and comments with subreddit, score and links. In our test run, 5 users gave 5 profiles, 189 posts and 1,210 comments in 41 seconds.
- **Comments with their context.** Each comment row carries the title, link and author of the post it was written on, so you can read what someone said without opening Reddit.
- **Pay per row, nothing for missing users.** Users that do not exist, deleted and suspended accounts get a free info row saying so. Summary rows and items you already have in monitor mode are never charged. No Reddit account, API key or cookies.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/EKpczhYtUdbC82INC/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works Social media and video family:** [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Instagram Followers & Following](https://apify.com/themineworks/instagram-followers-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Reddit Search Scraper](https://apify.com/themineworks/reddit-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Paste this into the input (JSON view) and press Start. It returns the profiles of u/spez and u/GallowBoob with their 25 newest posts and comments each, 52 rows. It took 6 seconds in one test run and 9 in another:

```json
{
  "usernames": ["spez", "GallowBoob"],
  "maxItemsPerUser": 25
}
```

A user can be written as `spez`, `u/spez` or `https://www.reddit.com/user/spez/`. The same user given twice (in any letter case) is read once.

Apify's free plan includes $5 of credit every month, which covers about 2,400 rows at this actor's price.

#### Copy to your AI assistant

```text
themineworks/reddit-user-scraper on Apify. Scrapes public Reddit user profiles (karma, account age, moderator, employee, Premium and verified flags, avatar, about text) and each user's post and comment history, newest first, one row each, with no Reddit login. Call ApifyClient("TOKEN").actor("themineworks/reddit-user-scraper").call(run_input={"usernames": ["spez", "u/GallowBoob"], "maxItemsPerUser": 100}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: usernames (list of names, u/name or profile links; up to 500). Optional: includePosts (default true), includeComments (default true), maxItemsPerUser (default 50, 1 to 1000; posts and comments together, per user; the profile row comes on top), monitorMode (default false; delivers only posts and comments not delivered by an earlier run in the same Apify account; the profile row is delivered every run), clientId (own Reddit installed app client id). Every data row has record_type ("profile", "post" or "comment") and username. Profile rows: user_id, link_karma, comment_karma, total_karma, created_utc, created_iso, account_age_days, is_mod, is_employee, is_gold, verified, has_verified_email, icon_img, display_name, profile_description. Post rows: id, subreddit, title, selftext, url, permalink, score, num_comments, created_iso. Comment rows: comment_id, body, subreddit, post_title, post_url, score, parent_id, permalink, created_iso. A missing or suspended user gets a row with _type "info" (info_type "user_not_found" or "user_suspended"); each run also writes a _type "summary" row; none of these is charged. Full spec: GET https://api.apify.com/v2/acts/themineworks~reddit-user-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **25 profile fields.** Username, user id, profile link, post karma, comment karma, total karma, award karma, account creation date and age in days, moderator, employee, Premium, verified and verified email flags, whether it accepts followers, avatar, Snoo avatar, banner, display name, about text and the profile's NSFW flag.
- **Post rows** with the same fields as our [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral): title, text, link, subreddit, score, upvote ratio, comment count, flair, media hint, time and flags.
- **Comment rows** with the text, score, subreddit, the post's title, link and author, the parent reference, edit status and whether a moderator or admin mark is on it.
- **Posts, comments or both.** Turn `includePosts` or `includeComments` off to get one kind only, or both off for profiles alone (one request per user).
- **Monitor mode.** Later runs deliver only posts and comments that are new since the last run, and stop reading a user's history at the first item already delivered. The profile row is refreshed on every run, so karma can be tracked over time.
- **Missing users explained.** A user that does not exist, a deleted account or a suspended account gets an info row with the reason and is not charged; a profile that hides its history is named in the summary.

### How to use it

#### Basic: profiles only

```json
{
  "usernames": ["spez", "kn0thing", "GallowBoob"],
  "includePosts": false,
  "includeComments": false
}
```

One row per user with karma, account age and flags. Useful for checking a list of accounts quickly.

#### Influencer and partner research: what does this person post about?

```json
{
  "usernames": ["GallowBoob", "Shitty_Watercolour"],
  "includeComments": false,
  "maxItemsPerUser": 300
}
```

Count rows by `subreddit` to see where a user is active, and sort by `score` to find what their audience liked most.

#### Brand monitoring: a founder's or spokesperson's new activity

```json
{
  "usernames": ["spez"],
  "maxItemsPerUser": 100,
  "monitorMode": true
}
```

Save it as a task and add a daily schedule. Each run delivers the profile (with today's karma) and only the posts and comments written since the last run. In our test, a second run right after the first delivered the 2 profile rows and nothing else.

#### Competitor research: how a rival's team talks to users

List the Reddit accounts a competitor's staff use. Comment rows with `distinguished` set to `moderator` or `admin` are official replies, and `post_title` and `post_url` show the thread each reply was on.

#### Moderation and trust checks: is this account real?

```json
{
  "usernames": ["u/some_new_account", "https://www.reddit.com/user/another_account/"],
  "maxItemsPerUser": 50
}
```

`account_age_days`, `link_karma`, `comment_karma`, `has_verified_email` and the spread of `subreddit` in the history are the usual signals that a new account is a throwaway or a spam account. Missing and suspended accounts are flagged in an info row.

#### AI datasets: a user's writing in one file

```json
{
  "usernames": ["Poem_for_your_sprog"],
  "includePosts": false,
  "maxItemsPerUser": 1000
}
```

Comment rows keep Reddit's markdown in `body` and the post title for context, ready for style or topic analysis.

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `usernames` | array of strings | required | Usernames, `u/name` or profile links. Up to 500 per run. |
| `includePosts` | boolean | `true` | Adds the user's submitted posts as rows (`record_type: "post"`). |
| `includeComments` | boolean | `true` | Adds the user's comments as rows (`record_type: "comment"`). |
| `maxItemsPerUser` | integer | `50` | Most posts and comments together per user, newest first, 1 to 1,000. The profile row comes on top. |
| `monitorMode` | boolean | `false` | Delivers and charges only posts and comments not delivered to you before; the profile row comes every run. |
| `clientId` | string | empty | Optional own Reddit "installed app" client id, so your requests do not share the default client id's rate limit. |

### What data do you get?

Every data row has `record_type` (`profile`, `post` or `comment`) and `username`. For each user the profile row comes first, then the history, newest first.

**Profile** (`record_type: "profile"`)

| Field | What it is |
|---|---|
| `username`, `user_id`, `user_fullname`, `profile_url` | Who it is: name, Reddit id (`1w72`), id with `t2_` (as in `author_fullname` elsewhere), link |
| `link_karma`, `comment_karma`, `total_karma` | Post karma, comment karma, the total Reddit shows |
| `awardee_karma`, `awarder_karma` | Karma from awards received and given |
| `created_utc`, `created_iso`, `account_age_days` | When the account was made, and its age in days on the day of the run |
| `is_mod`, `is_employee`, `is_gold`, `verified`, `has_verified_email`, `accept_followers` | Account flags |
| `icon_img`, `snoovatar_img`, `banner_img` | Avatar, Snoo avatar and banner links, when set |
| `display_name`, `profile_description`, `profile_over_18`, `profile_subreddit` | What the profile page shows |

**Post** (`record_type: "post"`): `id`, `name`, `subreddit`, `title`, `selftext`, `url`, `permalink`, `domain`, `is_self`, `flair`, `score`, `upvote_ratio`, `num_comments`, `awards_count`, `created_utc`, `created_iso`, `is_pinned`, `is_locked`, `over_18`, `spoiler`, `is_video`, `post_hint`, `thumbnail`, `subreddit_subscribers`, `edited`, `distinguished`, `author`.

**Comment** (`record_type: "comment"`): `comment_id`, `comment_fullname`, `body`, `subreddit`, `post_id`, `post_title`, `post_url`, `post_author`, `post_num_comments`, `score`, `controversiality`, `created_utc`, `created_iso`, `parent_id`, `parent_comment_id`, `is_top_level`, `is_submitter` (the user also wrote the post), `permalink`, `edited`, `edited_utc`, `distinguished`, `stickied`, `author`.

**Info rows** (`_type: "info"`, never charged): `info_type` `user_not_found` (no such user, or the account was deleted) or `user_suspended`, with `username` and `message`. **Summary row** (`_type: "summary"`, never charged): `users_requested`, `users_found`, `users_not_found`, `users_suspended`, `profiles_delivered`, `posts_delivered`, `comments_delivered`, `charged_for`, `reddit_requests`, `ended_on_deadline`, `stopped_by_max_cost`, `shortfall_reason`, and `per_user` with each user's counts and status. Also saved as the run's `OUTPUT` record.

#### Stable fields for automations

Present in every row of their kind in our test runs (2 and 5 user runs, 1,456 rows); the names will not change:

| Field | Rows | What it is |
|---|---|---|
| `record_type` | all | profile, post or comment |
| `username` | all | The user the row belongs to |
| `created_utc`, `created_iso` | all | Account creation, or posting time |
| `user_id` | profile | Reddit's user id |
| `link_karma`, `comment_karma`, `total_karma` | profile | Karma |
| `account_age_days` | profile | Age in days |
| `is_mod`, `is_employee`, `verified`, `has_verified_email` | profile | Flags |
| `icon_img` | profile | Avatar link |
| `id`, `title`, `subreddit`, `permalink`, `score`, `num_comments` | post | The post |
| `comment_id`, `body`, `subreddit`, `post_id`, `post_title`, `post_url`, `permalink`, `score`, `parent_id` | comment | The comment and its post |

Optional, present only when Reddit has a value: `display_name`, `profile_description` and `banner_img` (4 of 5 profiles in our test), `snoovatar_img` (1 of 5), `selftext` on link posts, `flair`, `parent_comment_id` (absent on top level comments), `distinguished`, `edited_utc`.

#### Output examples

From the "Try it" and scale tests (10 Oct 2026). A profile:

```json
{
  "record_type": "profile",
  "username": "spez",
  "user_id": "1w72",
  "user_fullname": "t2_1w72",
  "profile_url": "https://www.reddit.com/user/spez/",
  "link_karma": 184547,
  "comment_karma": 756500,
  "total_karma": 941047,
  "created_utc": 1118030400,
  "created_iso": "2005-06-06T04:00:00.000Z",
  "account_age_days": 7796,
  "is_mod": true,
  "is_employee": true,
  "is_gold": true,
  "verified": true,
  "has_verified_email": true,
  "accept_followers": true,
  "icon_img": "https://styles.redditmedia.com/t5_3k30p/styles/profileIcon_uj015iwx9s7g1.png?width=256&height=256&crop=256:256,smart&s=aa819b0964f6e3019e769d1cc8ede7318c3869a3",
  "display_name": "spez",
  "profile_description": "Reddit CEO",
  "profile_subreddit": "u/spez"
}
```

A post, trimmed:

```json
{
  "record_type": "post",
  "username": "GallowBoob",
  "id": "1x1pjzw",
  "subreddit": "aww",
  "title": "She’s 2 years old! 🎉",
  "url": "https://i.redd.it/tbq8zdb1vguh1.jpeg",
  "permalink": "https://www.reddit.com/r/aww/comments/1x1pjzw/shes_2_years_old/",
  "is_self": false,
  "domain": "i.redd.it",
  "post_hint": "image",
  "score": 179,
  "upvote_ratio": 0.97,
  "num_comments": 13,
  "created_iso": "2026-10-09T16:14:29.000Z",
  "subreddit_subscribers": 37890373
}
```

A comment, trimmed:

```json
{
  "record_type": "comment",
  "username": "spez",
  "comment_id": "p1wosm9",
  "body": "That was the thinking. Otherwise it would be easier to just replicate the UI. ",
  "subreddit": "u_spez",
  "post_id": "1vgbkge",
  "post_title": "Modernizing Reddit’s infrastructure with you",
  "post_url": "https://www.reddit.com/user/spez/comments/1vgbkge/modernizing_reddits_infrastructure_with_you/",
  "post_num_comments": 477,
  "score": 14,
  "created_iso": "2026-08-05T18:31:50.000Z",
  "parent_id": "t1_p1wd2fi",
  "parent_comment_id": "p1wd2fi",
  "is_top_level": false,
  "is_submitter": true,
  "permalink": "https://www.reddit.com/user/spez/comments/1vgbkge/modernizing_reddits_infrastructure_with_you/p1wosm9/",
  "edited": false,
  "distinguished": "admin"
}
```

The info row for a user that does not exist (not charged):

```json
{ "_type": "info", "info_type": "user_not_found", "username": "zzqqnotarealuser17", "message": "u/zzqqnotarealuser17 does not exist on Reddit, or the account was deleted. Nothing was charged for it." }
```

### Pricing

Pay per event: you pay for the rows you receive (profiles, posts and comments alike), plus a flat $0.005 per run, whatever memory you choose.

| Event | When it is charged | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) |
|---|---|---|---|---|---|
| `result-scraped` | Once per profile, post or comment row stored in your dataset | $2.00 per 1,000 | $1.50 per 1,000 | $1.25 per 1,000 | $1.00 per 1,000 |
| `run-start` | Once per run, after the actor has signed in to Reddit | $0.005 | $0.005 | $0.005 | $0.005 |

The price of one row is the price per 1,000 divided by 1,000. A user with `maxItemsPerUser: 50` costs at most 51 rows.

Never charged:

- users that do not exist, deleted and suspended accounts (each gets an info row), and names that are not usernames (an error row);
- posts and comments skipped by monitor mode because an earlier run delivered them;
- the summary, info and error rows;
- a run with no valid username, or one that cannot sign in to Reddit: it stops before the start fee;
- anything past your "Max cost per run". The actor checks the budget before each batch of rows and stops while the total is still below your limit, so the run ends SUCCEEDED with a partial result and a status message saying so.

### Run it on a schedule

1. Open the actor in Apify Console, set your input and click **Save as a new task**.
2. In the task, open **Schedules**, click **Add schedule** and pick how often (every day, every Monday and so on).
3. Turn on `monitorMode` in the task's input so each run delivers the profiles plus only the posts and comments written since the last run.
4. Optional: connect Google Sheets so each run adds a dated profile row per user, which gives you a karma history.

Monitor mode keeps the ids of up to 50,000 delivered posts and comments in a storage named `monitor-reddit-user-scraper` in your own Apify account, shared by all your runs of this actor. If that storage cannot be opened, the run says so in its log, delivers everything, and sets `monitor_degraded: true` in the summary row.

### FAQ

#### What does this actor read?

The public profile of each user you list (what reddit.com/user/<name> shows to a visitor) and, unless you turn them off, the posts and comments listed on that profile, newest first.

#### How many posts and comments can I get per user?

Up to 1,000 per user (`maxItemsPerUser`), which is about where Reddit's own profile listings stop. Some accounts have fewer: in our 300 per user test, u/kn0thing's listing ended at 199.

#### Why does a user show a profile but no posts or comments?

The account has none, or it hides its history from its profile (a Reddit privacy setting). The profile row is still delivered and the summary row names the users with no history. u/AutoModerator is an example.

#### What happens with deleted, suspended or misspelled users?

A user that does not exist or a deleted account gets an info row `user_not_found`; a suspended account gets `user_suspended`. Neither is charged and the run goes on with the next user. A name that cannot be a Reddit username (spaces, more than 20 characters) gets an error row before any request is made.

#### Is the karma the same as on the profile page?

Yes: `link_karma`, `comment_karma` and `total_karma` are the values Reddit returns for the profile at the moment of the run. For all 5 users in our tests, `total_karma` was exactly post karma plus comment karma.

#### How fresh is the data?

Live. Every run reads Reddit at that moment; karma, scores and comment counts are the values at `scraped_at`, and `account_age_days` is counted on the day of the run.

#### How long does a run take?

6 to 9 seconds for the 2 user "Try it" input (52 rows) and 41 seconds for 5 users with 300 history rows each (1,404 rows) in our tests. Each user needs one request for the profile and one per 100 history rows. Reddit allows about 100 requests per 10 minutes on the shared client id; past that the actor waits for Reddit's window to reset if the run's time limit allows, and otherwise stops cleanly with what it has.

#### Do I need a Reddit account, API key, cookies or a proxy?

No. The actor uses Reddit's anonymous app sign in, the same kind read only Reddit apps use. You can add your own free Reddit client id in `clientId` (an "installed app" from reddit.com/prefs/apps) so your requests do not share the default client id's limit.

#### Does it return a user's followers, upvotes or private messages?

No. Reddit does not show followers, votes, saved items or messages to visitors, and the actor reads only what is public.

#### How does monitor mode work?

It remembers the ids of posts and comments it delivered to you. The history is read newest first, so a later run stops at the first item already delivered and charges only what is new. The profile row is delivered on every run (one row per user) so you can track karma; turn monitor mode off to read a full history again.

#### What happens when a run reaches its time limit?

The actor stops starting requests about 15 seconds before the run's timeout (600 seconds unless you change it), keeps every row already delivered, and ends SUCCEEDED with `ended_on_deadline: true`, a `shortfall_reason` and the users not started in `users_not_started`.

#### Which Reddit actor should I use?

This one for people: profiles, karma and what they post and comment. [Reddit Comments Scraper](https://apify.com/themineworks/reddit-comments-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) for every comment on chosen posts. [Reddit Subreddit Scraper](https://apify.com/themineworks/reddit-subreddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) for the posts of whole subreddits. [Reddit Search Scraper](https://apify.com/themineworks/reddit-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) to find posts by keyword. [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) for posts from subreddits, search, a user or links in one actor.

#### Which formats can I download?

JSON, CSV, Excel, XML, RSS and HTML from the run's Storage tab or through the API. Rows are flat. The dataset has three ready views: All rows, Profiles, and Posts and comments.

#### Can I use it from Claude, ChatGPT or Cursor (MCP)?

Yes, through Apify's MCP server. Connector URL: https://mcp.apify.com/?tools=themineworks/reddit-user-scraper

- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: turn on developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http reddit-user-scraper "https://mcp.apify.com/?tools=themineworks/reddit-user-scraper"`

#### Is it legal to scrape Reddit user profiles?

The actor reads only public profile data and public posts and comments that anyone can see without logging in. That data is still about people: you are responsible for how you use it, including Reddit's terms and data protection law such as GDPR and CCPA, especially before profiling or contacting anyone. This is general information, not legal advice.

### Integrations

- **Google Sheets**: send each run's rows to a sheet with Apify's Google Sheets integration; filter on `record_type` for separate tabs.
- **Make, Zapier and n8n**: start a run and read its dataset with the Apify apps and nodes, for example "new comments by our CEO's account, to Slack".
- **Webhooks**: have Apify call your URL when a run succeeds, then fetch the dataset.
- **API and SDKs**: run it from Python or JavaScript with the Apify client, or with a plain HTTP call (see "Copy to your AI assistant" above).
- **MCP clients**: Claude, ChatGPT, Cursor and VS Code can run it as a tool through the connector URL in the FAQ.

### More from The Mine Works

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Followers & Following](https://apify.com/themineworks/instagram-followers-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Search Scraper](https://apify.com/themineworks/reddit-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Twitter / X Scraper](https://apify.com/themineworks/twitter-x-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [YouTube Transcript](https://apify.com/themineworks/youtube-transcript-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Xiaohongshu (RED) Scraper](https://apify.com/themineworks/xiaohongshu-explore-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Telegram Channel Scraper](https://apify.com/themineworks/telegram-channel-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Telegram Channel Finder](https://apify.com/themineworks/telegram-channel-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Pinterest Profile Scraper](https://apify.com/themineworks/pinterest-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [OpenAlex Scraper](https://apify.com/themineworks/openalex-scholarly-works?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [SEC EDGAR Filings Scraper](https://apify.com/themineworks/sec-edgar-filings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [G2 Reviews Scraper](https://apify.com/themineworks/g2-reviews-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naver Blog Scraper](https://apify.com/themineworks/naver-blog-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [WeChat Article Scraper 微信公众号文章](https://apify.com/themineworks/wechat-article-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Taobao Products Scraper 淘宝 天猫](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Found a user whose profile or history should come back and does not? Open an issue in the Issues tab with the input and the run ID, and we will look at it. For a field you need or a new source, email dmineworks@gmail.com.

*List Reddit usernames and get each profile with karma, account age and flags, then their posts and comments as rows, newest first, no login.*

# Actor input Schema

## `usernames` (type: `array`):

The users to read, one per line. Any of these forms works: spez, u/spez, https://www.reddit.com/user/spez/. Up to 500 per run; the same user given twice is read once.

## `includePosts` (type: `boolean`):

Add the user's submitted posts, newest first, one row each (record_type post).

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

Add the comments the user wrote anywhere on Reddit, newest first, one row each (record_type comment), with the title and link of the post each one is on.

## `maxItemsPerUser` (type: `integer`):

The most history rows (posts and comments together, newest first) for each user, 1 to 1,000 (Reddit lists about 1,000 at most). The profile row comes on top of this. Example: 200.

## `monitorMode` (type: `boolean`):

Deliver and charge only posts and comments that earlier runs of this actor in your account have not delivered. The profile row is delivered on every run so you can track karma over time.

## `clientId` (type: `string`):

Leave blank. Optional: your own Reddit app client ID (type 'installed app', from https://www.reddit.com/prefs/apps) so your requests are not counted against the shared client ID's rate limit.

## Actor input object example

```json
{
  "usernames": [
    "spez",
    "GallowBoob"
  ],
  "includePosts": true,
  "includeComments": true,
  "maxItemsPerUser": 25,
  "monitorMode": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (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 = {
    "usernames": [
        "spez",
        "GallowBoob"
    ],
    "maxItemsPerUser": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/reddit-user-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 = {
    "usernames": [
        "spez",
        "GallowBoob",
    ],
    "maxItemsPerUser": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/reddit-user-scraper").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 '{
  "usernames": [
    "spez",
    "GallowBoob"
  ],
  "maxItemsPerUser": 25
}' |
apify call themineworks/reddit-user-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/reddit-user-scraper"
        }
    }
}
```

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/EKpczhYtUdbC82INC/builds/NBvnaawmuTdEZK9oP/openapi.json
