Back to list
apify

apify-lead-generation

by apify

Collection of Apify Agent Skills

3🍴 1📅 Jan 21, 2026

SKILL.md


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

  • .env file with APIFY_TOKEN
  • Python 3.9+ and uv

Workflow

Copy this checklist and track progress:

Task Progress:
- [ ] Step 1: Determine lead source (select Actor)
- [ ] Step 2: Read Actor schema from reference docs
- [ ] 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 NeedActor IDBest ForReference Doc
Local businessescompass/crawler-google-placesRestaurants, gyms, shopsSchema
Contact enrichmentvdrmota/contact-info-scraperEmails, phones from URLsSchema
Instagram profilesapify/instagram-profile-scraperInfluencer discoverySchema
Instagram posts/commentsapify/instagram-scraperPosts, comments, hashtags, placesSchema
Instagram searchapify/instagram-search-scraperPlaces, users, hashtags discoverySchema
TikTok videos/hashtagsclockworks/tiktok-scraperComprehensive TikTok data extractionSchema
TikTok hashtags/profilesclockworks/free-tiktok-scraperFree TikTok data extractorSchema
TikTok user searchclockworks/tiktok-user-search-scraperFind users by keywordsSchema
TikTok profilesclockworks/tiktok-profile-scraperCreator outreachSchema
TikTok followers/followingclockworks/tiktok-followers-scraperAudience analysis, segmentationSchema
Facebook pagesapify/facebook-pages-scraperBusiness contactsSchema
Facebook page contactsapify/facebook-page-contact-informationExtract emails, phones, addressesSchema
Facebook groupsapify/facebook-groups-scraperBuying intent signalsSchema
Facebook eventsapify/facebook-events-scraperEvent networking, partnershipsSchema
Google Searchapify/google-search-scraperBroad lead discoverySchema
YouTube channelsstreamers/youtube-scraperCreator partnershipsSchema
Google Maps emailspoidata/google-maps-email-extractorDirect email extractionSchema

Step 2: Read Actor Schema

Read the corresponding reference doc from the table above to understand:

  • Required and optional input parameters
  • Output fields available
  • Actor-specific requirements

Step 3: Ask User Preferences

Before running, ask:

  1. Output format:
    • Quick answer - Display top 5 results in chat (no file saved)
    • CSV (all data) - Full export with all fields
    • CSV (basic fields) - Export with essential fields only
    • JSON (all data) - Full export in JSON format
  2. Output filename (if file output selected): Suggest descriptive name based on search

Step 4: Run the Script

Quick answer (display in chat, no file):

uv run --with python-dotenv --with requests \
  ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.py \
  --actor "ACTOR_ID" \
  --input 'JSON_INPUT'

CSV (all data):

uv run --with python-dotenv --with requests \
  ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.py \
  --actor "ACTOR_ID" \
  --input 'JSON_INPUT' \
  --output OUTPUT_FILE.csv \
  --format csv

CSV (basic fields):

uv run --with python-dotenv --with requests \
  ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.py \
  --actor "ACTOR_ID" \
  --input 'JSON_INPUT' \
  --output OUTPUT_FILE.csv \
  --format csv \
  --fields basic

JSON (all data):

uv run --with python-dotenv --with requests \
  ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.py \
  --actor "ACTOR_ID" \
  --input 'JSON_INPUT' \
  --output OUTPUT_FILE.json \
  --format json

The script handles:

  • Loading APIFY_TOKEN from .env
  • Starting and polling the Actor run
  • Downloading results in requested format (or displaying in chat)
  • Reporting record count and file size

Step 5: Summarize Results

After completion, report:

  • Number of leads found
  • File location
  • Key fields available
  • Suggested next steps (filtering, enrichment)

Quick Examples

Quick answer - display top 5 in chat:

uv run --with python-dotenv --with requests \
  ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.py \
  --actor "compass/crawler-google-places" \
  --input '{"searchStringsArray": ["coffee shops"], "locationQuery": "Seattle, USA", "maxCrawledPlacesPerSearch": 50}'

Google Maps - CSV with basic fields:

uv run --with python-dotenv --with requests \
  ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.py \
  --actor "compass/crawler-google-places" \
  --input '{"searchStringsArray": ["coffee shops"], "locationQuery": "Seattle, USA", "maxCrawledPlacesPerSearch": 50}' \
  --output coffee-shops-seattle.csv \
  --format csv \
  --fields basic

Contact enrichment - full JSON export:

uv run --with python-dotenv --with requests \
  ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.py \
  --actor "vdrmota/contact-info-scraper" \
  --input '{"startUrls": [{"url": "https://example.com"}], "maxRequestsPerStartUrl": 20}' \
  --output contacts.json \
  --format json

See reference/workflows.md for detailed step-by-step guides for each use case.

Error Handling

ErrorSolution
APIFY_TOKEN not foundAsk user to create .env with APIFY_TOKEN=your_token
Actor not foundCheck Actor ID spelling
Run FAILEDAsk user to check Apify console link in error output
TimeoutReduce input size or increase --timeout

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon