# Leads Generator (`kenny256/leads-generator`) Actor

Generate high-quality B2B leads from multiple platforms including GitHub, Dev.to, Reddit, HackerNews, and Product Hunt.

- **URL**: https://apify.com/kenny256/leads-generator.md
- **Developed by:** [KENNETH DAVID](https://apify.com/kenny256) (community)
- **Categories:** Lead generation, AI, E-commerce
- **Stats:** 23 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.01 / 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/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

## B2B Leads Generator 🎯

Generate high-quality B2B leads from multiple platforms including GitHub, Dev.to, Reddit, HackerNews, and Product Hunt.

### Features ✨

- **Multi-Platform Scraping**: GitHub, Dev.to, Reddit, HackerNews, Product Hunt
- **Smart Lead Scoring**: Automatic scoring based on engagement and profile quality
- **Deduplication**: Automatically removes duplicate leads
- **Rich Data**: Collects names, emails (when public), social profiles, and more
- **Customizable**: Filter by keywords and target specific lead types

### Platforms Supported 🌐

#### 1. GitHub

- Developer profiles
- Public emails (when available)
- Company information
- Location data
- Social links

#### 2. Dev.to

- Developer profiles
- Article authors
- Tags and interests

#### 3. Reddit

- Post authors from relevant subreddits
- Karma scores
- Community engagement

#### 4. HackerNews

- Active community members
- Engagement metrics
- Post history

#### 5. Product Hunt (Coming Soon)

- Product makers
- Founders
- Early adopters

### Input Configuration 📝

```json
{
  "platforms": ["github", "devto", "reddit", "hackernews"],
  "keywords": ["startup", "founder", "machine learning", "saas"],
  "maxLeads": 500,
  "leadType": "tech"
}
```

#### Parameters

- **platforms** (array): Platforms to scrape
- **keywords** (array): Keywords to search for
- **maxLeads** (number): Maximum leads to collect (default: 500)
- **leadType** (string): Type of leads - "tech", "business", or "general"

### Output Format 📊

Each lead contains:

```json
{
  "lead_id": "github_12345",
  "source": "github",
  "name": "John Doe",
  "username": "johndoe",
  "profile_url": "https://github.com/johndoe",
  "email": "john@example.com",
  "company": "Tech Startup Inc",
  "location": "San Francisco, CA",
  "bio": "Full-stack developer passionate about AI",
  "website": "https://johndoe.com/",
  "social_links": {
    "github": "https://github.com/johndoe",
    "twitter": "https://twitter.com/johndoe"
  },
  "metadata": {
    "followers": 1234,
    "public_repos": 56
  },
  "lead_score": 8,
  "keyword": "machine learning",
  "scraped_at": "2025-01-12T10:30:00.000Z"
}
```

### Lead Scoring 📈

Leads are automatically scored from 1-10 based on:

- **Profile completeness** (email, location, bio, website)
- **Engagement metrics** (followers, repos, karma, points)
- **Activity level** (recent posts, contributions)
- **Professional indicators** (company affiliation, public work)

### Use Cases 💡

- **Developer Outreach**: Find developers for your product
- **Recruiting**: Source technical talent
- **Partnership Building**: Connect with founders and makers
- **Market Research**: Understand your target audience
- **Community Building**: Grow your developer community

### Legal & Ethical Use ⚖️

This actor only collects **publicly available information** from platforms' public APIs and pages.

**Important Guidelines:**

- ✅ Use for legitimate business purposes
- ✅ Respect platform rate limits
- ✅ Only contact leads with permission
- ❌ Don't spam or harass
- ❌ Don't violate platform Terms of Service
- ❌ Don't sell or misuse personal data

### Running Locally 🏃

```bash
## Install dependencies
npm install

## Run the actor
npm start
```

### Deploying to Apify 🚀

```bash
## Login to Apify
apify login

## Deploy
apify push
```

### Tips for Best Results 💪

1. **Use Specific Keywords**: Instead of "developer", try "react developer" or "machine learning engineer"
2. **Combine Platforms**: Different platforms attract different audiences
3. **Quality Over Quantity**: Start with lower maxLeads to get higher quality
4. **Regular Updates**: Run periodically to find new leads
5. **Enrich Data**: Use additional tools to find email addresses for leads without public emails

### Limitations ⚠️

- Email addresses are only collected when publicly available
- Rate limits may affect the number of leads collected
- Some platforms require proxies for reliable scraping
- LinkedIn and Facebook are NOT supported due to their strict anti-scraping policies

### Support 🤝

For issues or questions, please open an issue on GitHub or contact support.

### License 📄

ISC License - Free to use and modify.

# Actor input Schema

## `platforms` (type: `array`):

Select platforms to collect leads from

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

Keywords to search for (e.g., 'startup', 'founder', 'developer', 'machine learning')

## `maxLeads` (type: `integer`):

Maximum number of leads to collect

## `leadType` (type: `string`):

Type of leads to target

## `locations` (type: `array`):

Only include leads from these locations (e.g., 'San Francisco', 'New York', 'London', 'Remote'). Leave empty to include all locations.

## `excludeLocations` (type: `array`):

Exclude leads from these locations (e.g., 'India', 'China'). Leave empty to not exclude any.

## Actor input object example

```json
{
  "platforms": [
    "github",
    "devto",
    "reddit",
    "hackernews"
  ],
  "keywords": [
    "startup",
    "founder",
    "developer"
  ],
  "maxLeads": 500,
  "leadType": "tech",
  "locations": [],
  "excludeLocations": []
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("kenny256/leads-generator").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("kenny256/leads-generator").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 '{}' |
apify call kenny256/leads-generator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,kenny256/leads-generator"
        }
    }
}

```

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/fDzZAe1gwuYnngeR9/builds/aC0zbvtod82Jlb7Vg/openapi.json
