home / skills / apify / agent-skills / apify-lead-generation
This skill helps you generate targeted B2B and B2C leads by integrating multiple channels with Apify actors for efficient outreach.
npx playbooks add skill apify/agent-skills --skill apify-lead-generationReview the files below or copy the command above to add this skill to your agents.
---
name: apify-lead-generation
description: Generates B2B/B2C leads by scraping Google Maps, websites, Instagram, TikTok, Facebook, LinkedIn, YouTube, and Google Search. Use when user asks to find leads, prospects, businesses, build lead lists, enrich contacts, or scrape profiles for sales outreach.
---
# Lead Generation
Scrape leads from multiple platforms using Apify Actors.
## Prerequisites
(No need to check it upfront)
- `.env` file with `APIFY_TOKEN`
- Node.js 20.6+ (for native `--env-file` support)
- `mcpc` CLI tool (for fetching Actor schemas)
## Workflow
Copy this checklist and track progress:
```
Task Progress:
- [ ] Step 1: Determine lead source (select Actor)
- [ ] Step 2: Fetch Actor schema via mcpc
- [ ] Step 3: Ask user preferences (format, filename)
- [ ] Step 4: Run the lead finder script
- [ ] Step 5: Summarize results
```
### Step 1: Determine Lead Source
Select the appropriate Actor based on user needs:
| User Need | Actor ID | Best For |
|-----------|----------|----------|
| Local businesses | `compass/crawler-google-places` | Restaurants, gyms, shops |
| Contact enrichment | `vdrmota/contact-info-scraper` | Emails, phones from URLs |
| Instagram profiles | `apify/instagram-profile-scraper` | Influencer discovery |
| Instagram posts/comments | `apify/instagram-scraper` | Posts, comments, hashtags, places |
| Instagram search | `apify/instagram-search-scraper` | Places, users, hashtags discovery |
| TikTok videos/hashtags | `clockworks/tiktok-scraper` | Comprehensive TikTok data extraction |
| TikTok hashtags/profiles | `clockworks/free-tiktok-scraper` | Free TikTok data extractor |
| TikTok user search | `clockworks/tiktok-user-search-scraper` | Find users by keywords |
| TikTok profiles | `clockworks/tiktok-profile-scraper` | Creator outreach |
| TikTok followers/following | `clockworks/tiktok-followers-scraper` | Audience analysis, segmentation |
| Facebook pages | `apify/facebook-pages-scraper` | Business contacts |
| Facebook page contacts | `apify/facebook-page-contact-information` | Extract emails, phones, addresses |
| Facebook groups | `apify/facebook-groups-scraper` | Buying intent signals |
| Facebook events | `apify/facebook-events-scraper` | Event networking, partnerships |
| Google Search | `apify/google-search-scraper` | Broad lead discovery |
| YouTube channels | `streamers/youtube-scraper` | Creator partnerships |
| Google Maps emails | `poidata/google-maps-email-extractor` | Direct email extraction |
### Step 2: Fetch Actor Schema
Fetch the Actor's input schema and details dynamically using mcpc:
```bash
export $(grep APIFY_TOKEN .env | xargs) && mcpc --json mcp.apify.com --header "Authorization: Bearer $APIFY_TOKEN" tools-call fetch-actor-details actor:="ACTOR_ID" | jq -r ".content"
```
Replace `ACTOR_ID` with the selected Actor (e.g., `compass/crawler-google-places`).
This returns:
- Actor description and README
- Required and optional input parameters
- Output fields (if available)
### Step 3: Ask User Preferences
Before running, ask:
1. **Output format**:
- **Quick answer** - Display top few results in chat (no file saved)
- **CSV** - Full export with all fields
- **JSON** - Full export in JSON format
2. **Number of results**: Based on character of use case
### Step 4: Run the Script
**Quick answer (display in chat, no file):**
```bash
node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \
--actor "ACTOR_ID" \
--input 'JSON_INPUT'
```
**CSV:**
```bash
node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \
--actor "ACTOR_ID" \
--input 'JSON_INPUT' \
--output YYYY-MM-DD_OUTPUT_FILE.csv \
--format csv
```
**JSON:**
```bash
node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \
--actor "ACTOR_ID" \
--input 'JSON_INPUT' \
--output YYYY-MM-DD_OUTPUT_FILE.json \
--format json
```
### Step 5: Summarize Results
After completion, report:
- Number of leads found
- File location and name
- Key fields available
- Suggested next steps (filtering, enrichment)
## Error Handling
`APIFY_TOKEN not found` - Ask user to create `.env` with `APIFY_TOKEN=your_token`
`mcpc not found` - Ask user to install `npm install -g @apify/mcpc`
`Actor not found` - Check Actor ID spelling
`Run FAILED` - Ask user to check Apify console link in error output
`Timeout` - Reduce input size or increase `--timeout`
This skill generates B2B and B2C leads by orchestrating Apify Actors to scrape Google Maps, websites, Instagram, TikTok, Facebook, LinkedIn, YouTube, and Google Search. It centralizes actor selection, schema fetching, execution, and result export so you can produce quick answers or full CSV/JSON lead lists for outreach and enrichment.
You pick the appropriate Apify Actor for the platform and use a provided script to run it with an input JSON. The workflow includes fetching the Actor's input schema via mcpc, asking for output preferences (quick answer, CSV, JSON), running the actor, and summarizing the resulting leads. The script supports running with environment variables (APIFY_TOKEN) and saving outputs to timestamped files.
What do I need before running a run?
You need Node.js 20.6+, a .env file with APIFY_TOKEN set, and the mcpc CLI if you plan to fetch actor schemas.
How do I choose which Actor to use?
Pick by platform and goal: Google Places for local businesses, contact-info-scraper for enrichment, Instagram/TikTok/YouTube actors for social creators, and Google Search for broad discovery.
What if I see APIFY_TOKEN not found or mcpc not found?
Create a .env with APIFY_TOKEN=your_token and install mcpc with npm install -g @apify/mcpc.