132 lines
4.7 KiB
Markdown
132 lines
4.7 KiB
Markdown
---
|
|
name: apify-lead-generation
|
|
description: "Scrape leads from multiple platforms using Apify Actors."
|
|
risk: unknown
|
|
source: community
|
|
---
|
|
|
|
# Lead Generation
|
|
|
|
Scrape leads from multiple platforms using Apify Actors.
|
|
|
|
## When to Use
|
|
- You need business, creator, or contact leads from maps, search, social, or video platforms.
|
|
- The task involves selecting an Apify Actor to discover prospects and extract outreach data.
|
|
- You need exported lead data plus a concise summary of lead quality or segmentation.
|
|
|
|
## Prerequisites
|
|
(No need to check it upfront)
|
|
|
|
- `.env` file with `APIFY_TOKEN`
|
|
- Node.js 20.6+ (for native `--env-file` support)
|
|
- `mcpc` CLI tool: `npm install -g @apify/mcpc`
|
|
|
|
## 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`
|
|
|
|
## Limitations
|
|
- Use this skill only when the task clearly matches the scope described above.
|
|
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
|
|
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
|