# Reddit Lead Finder (`arched_friend/reddit-lead-finder`) Actor

Find people on Reddit asking for what you sell. Search any phrase across Reddit or inside chosen communities, score every post on buying intent, and get a ranked list of conversations worth replying to.

- **URL**: https://apify.com/arched\_friend/reddit-lead-finder.md
- **Developed by:** [Peach O](https://apify.com/arched_friend) (community)
- **Categories:** Lead generation, Social media
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 lead returneds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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 Lead Finder: People Asking For What You Sell

**Find the conversations where someone is openly looking to buy, and get them ranked by how ready they are.**

Search any phrase across Reddit or inside the communities you choose. Every post is scored 0 to 5 on buying intent, so a thread that says "looking for a CRM, any recommendations?" sorts above someone mentioning a CRM in passing. You get the post, the author, the community and a direct link, ready to reply to.

Built for founders, sales teams and agencies who would rather answer a live question than send a cold email.

### How it works

```mermaid
flowchart LR
    A[Your phrases] --> B[Reddit API search]
    B --> C[Merge and de-duplicate]
    C --> D[Score buying intent]
    D --> E{Filters<br/>intent, upvotes, age, community}
    E -->|keep| F[(Ranked leads)]
    E -->|drop| G[Skipped]
```

### Before you start: Reddit credentials

Reddit closed its public data endpoints, so this Actor reads the official API and needs an app of your own. It is free and takes about a minute.

1. Go to [reddit.com/prefs/apps](https://www.reddit.com/prefs/apps) and choose **create another app**.
2. Pick type **script**. Any name works. Put `http://localhost` in the redirect field.
3. Copy the **client id**, the string under the app name, and the **secret**.
4. Paste both into the Actor input, along with your Reddit username.

No password is involved, and both values are stored as secrets.

### What you get

One row per post:

```json
{
  "title": "Looking for a CRM for a small team",
  "body": "We are 5 people and need something simple.",
  "author": "someuser",
  "subreddit": "smallbusiness",
  "subredditSubscribers": 1500000,
  "url": "https://www.reddit.com/r/smallbusiness/comments/abc123/looking_for_a_crm/",
  "score": 42,
  "upvoteRatio": 0.95,
  "numComments": 17,
  "flair": "Question",
  "intentScore": 4,
  "postedAt": "2026-09-05T12:00:00.000Z",
  "daysSincePosted": 1,
  "matchedQueries": ["looking for a CRM"]
}
```

Rows come back sorted by `intentScore`, then by upvotes, so the best conversations are at the top of the sheet.

### How the intent score works

Each post is checked for the phrases people actually use when shopping, and a question mark in the title counts as its own signal.

| Score | What it usually means |
| --- | --- |
| 0 | Mentions your topic, is not looking for anything |
| 1 | One weak signal, worth a skim |
| 2 to 3 | A genuine request. This is the band most people work |
| 4 to 5 | Explicit and urgent, often naming a budget or a deadline |

Set `minIntent` to 2 to cut the noise. It is the single most useful setting here.

### Example input

```json
{
  "queries": ["looking for a CRM", "best CRM for small business", "CRM recommendations"],
  "subreddits": ["smallbusiness", "sales", "Entrepreneur"],
  "redditClientId": "your_client_id",
  "redditClientSecret": "your_client_secret",
  "redditUsername": "your_username",
  "timeWindow": "week",
  "minIntent": 2,
  "selfPostsOnly": true
}
```

### Run it from the command line

```bash
curl -X POST "https://api.apify.com/v2/acts/arched_friend~reddit-lead-finder/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries":["looking for a CRM"],"redditClientId":"ID","redditClientSecret":"SECRET","redditUsername":"USER","minIntent":2}'
```

Fetch the results:

```bash
curl "https://api.apify.com/v2/acts/arched_friend~reddit-lead-finder/runs/last/dataset/items?token=YOUR_TOKEN"
```

### Daily prospecting

Turn on `onlyNewLeads` and schedule it. The Actor remembers every post it has already reported and returns only what appeared since the last run, so a daily schedule becomes a short list of fresh conversations instead of the same threads every morning.

Pair it with `timeWindow: "day"` and `minIntent: 2` for a feed you can work in ten minutes.

### Pricing

Pay per lead returned. Runs that find nothing cost nothing.

| | Reddit Lead Finder | Social listening suite | Searching by hand |
| --- | --- | --- | --- |
| Cost for 100 leads | $0.40 | $99 and up per month | Around 3 hours |
| Buying intent ranking | Included | Rarely | By eye |
| Only new since last run | Included | Sometimes | No |
| Runs on a schedule | Yes | Yes | No |

Free tier included, so you can test a niche before spending anything.

### Notes and limits

- Reddit returns at most 100 posts per page. Ask for more and the Actor pages through automatically.
- Your app gets its own rate quota. The Actor watches the remaining quota and warns before it runs out.
- Phrases beat single words. "crm" pulls everything; "looking for a crm" pulls buyers.
- Reply like a person. Reddit removes anything that reads as an ad, and communities ban fast. Answer the question first and mention what you sell only if it fits.

### Related products

- **Website Lead Extractor** to pull contact details from any site a lead links to.
- **Email List Cleaner** to validate addresses before you send.
- **Brand Mention Monitor** to catch news coverage of your brand alongside these conversations.

# Actor input Schema

## `queries` (type: `array`):

What someone with your problem would write, one per line, for example looking for a CRM or best invoicing tool. Phrases work better than single words.

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

Limit the search to these communities, one per line, with or without the r/ prefix. Leave empty to search all of Reddit.

## `redditClientId` (type: `string`):

From your Reddit app at reddit.com/prefs/apps. Create an app of type script, then copy the id shown under the app name. Takes about a minute and is free.

## `redditClientSecret` (type: `string`):

The secret field from the same Reddit app. Stored encrypted and never written to the dataset.

## `redditUsername` (type: `string`):

Your Reddit username, used only to identify the app in the request header as Reddit asks. No password is needed.

## `sort` (type: `string`):

Which posts Reddit returns first.

## `timeWindow` (type: `string`):

Only consider posts from this period.

## `maxPerQuery` (type: `integer`):

How many posts to pull for each phrase before filtering. Results are paged automatically past the first 100.

## `minIntent` (type: `integer`):

Each post is scored 0 to 5 on how strongly it reads as someone looking to buy or hire. Set 2 or more to keep only real requests and drop general chatter.

## `minScore` (type: `string`):

Drop posts below this score. Leave blank for no limit.

## `minComments` (type: `string`):

Drop posts with fewer comments than this. Leave blank for no limit.

## `maxAgeDays` (type: `string`):

Drop posts older than this many days, for example 7 to only work fresh conversations. Leave blank for no limit.

## `selfPostsOnly` (type: `boolean`):

Keep only posts written on Reddit itself and drop shared links, which are rarely people asking for help.

## `skipNsfw` (type: `boolean`):

Drop anything Reddit marks as adult content.

## `excludeTerms` (type: `array`):

Drop any post whose title or body contains one of these words, one per line.

## `excludeSubreddits` (type: `array`):

Never return posts from these communities, one per line.

## `onlyNewLeads` (type: `boolean`):

Remember every post returned across runs and report only the ones that appeared since last time. Turn this on for scheduled prospecting.

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

Optional. The Reddit API is authenticated rather than IP limited, so the default datacenter proxy is fine.

## Actor input object example

```json
{
  "queries": [
    "looking for a CRM"
  ],
  "sort": "new",
  "timeWindow": "month",
  "maxPerQuery": 100,
  "minIntent": 0,
  "selfPostsOnly": false,
  "skipNsfw": true,
  "onlyNewLeads": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `leads` (type: `string`):

One row per post, ranked by buying intent, with the author, subreddit, link and post text.

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

How many leads were found per phrase, how many read as high intent, and which communities they came from.

# 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 = {
    "queries": [
        "looking for a CRM"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("arched_friend/reddit-lead-finder").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 = { "queries": ["looking for a CRM"] }

# Run the Actor and wait for it to finish
run = client.actor("arched_friend/reddit-lead-finder").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 '{
  "queries": [
    "looking for a CRM"
  ]
}' |
apify call arched_friend/reddit-lead-finder --silent --output-dataset

```

## MCP server setup

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

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/nEk7ymSOnhKcZk4gD/builds/iuSqTAWCcuheUK9rc/openapi.json
