Agent Skills: Lead Generation

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.

UncategorizedID: questnova502/claude-skills-sync/apify-lead-generation

Install this agent skill to your local

pnpm dlx add-skill https://github.com/QuestNova502/claude-skills-sync/tree/HEAD/skills/apify-lead-generation

Skill Files

Browse the full folder contents for apify-lead-generation.

Download Skill

Loading file tree…

skills/apify-lead-generation/SKILL.md

Skill Metadata

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)

Workflow

Copy this checklist and track progress:

Task Progress:
- [ ] Step 1: Determine lead source (select Actor)
- [ ] Step 2: Fetch Actor schema
- [ ] 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:

node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/fetch_actor_details.js --actor "ACTOR_ID"

Replace ACTOR_ID with the selected Actor (e.g., compass/crawler-google-places).

This returns:

  • Actor info (title, description, URL, categories, stats, rating)
  • README summary
  • Input schema (required and optional parameters)

Step 3: Ask User Preferences

Skip this step for simple lookups (e.g., "what's Nike's follower count?", "find me 5 coffee shops in Prague") — just use quick answer mode and move to Step 4.

For larger scraping tasks, 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

Cost safety: Always set a sensible result limit in the Actor input (e.g., maxResults, resultsLimit, maxCrawledPages, or equivalent field from the input schema). Default to 100 results unless the user explicitly asks for more. Warn the user before running large scrapes (1000+ results) as they consume more Apify credits.

Step 4: Run the Script

Quick answer (display in chat, no file):

node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \
  --actor "ACTOR_ID" \
  --input 'JSON_INPUT'

CSV:

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:

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