mcpField
A
apify-lead-generation

apify-lead-generation

github.com/apifyMarketing & growth285181 installsUpdated 5w ago
Repository

About apify-lead-generation

A lead-generation skill that collects prospects from multiple platforms using Apify Actors. It is for users seeking local businesses, social profiles, or contact details, with CSV and JSON export options.

Key features

  1. 01Select an Apify Actor for the task
  2. 02Retrieve Actor input details
  3. 03Collect leads with a result limit
  4. 04Export data as CSV or JSON
  5. 05Summarize lead counts and fields

Use cases

  1. 01Find local businesses
  2. 02Discover Instagram or TikTok creators
  3. 03Extract emails and phone numbers from URLs
  4. 04Search social platforms or Google for leads

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/apify/awesome-skills --skill apify-lead-generation

After installing, type/apify-lead-generationin Claude Code to confirm it loaded.

Bundled filesreference/scripts/fetch_actor_details.jsreference/scripts/run_actor.js

Details

From the project README

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 NeedActor IDBest For
Local businessescompass/crawler-google-placesRestaurants, gyms, shops
Contact enrichmentvdrmota/contact-info-scraperEmails, phones from URLs
Instagram profilesapify/instagram-profile-scraperInfluencer discovery
Instagram posts/commentsapify/instagram-scraperPosts, comments, hashtags, places
Instagram searchapify/instagram-search-scraperPlaces, users, hashtags discovery
TikTok videos/hashtagsclockworks/tiktok-scraperComprehensive TikTok data extraction
TikTok hashtags/profilesclockworks/free-tiktok-scraperFree TikTok data extractor
TikTok user searchclockworks/tiktok-user-search-scraperFind users by keywords
TikTok profilesclockworks/tiktok-profile-scraperCreator outreach
TikTok followers/followingclockworks/tiktok-followers-scraperAudience analysis, segmentation
Facebook pagesapify/facebook-pages-scraperBusiness contacts
Facebook page contactsapify/facebook-page-contact-informationExtract emails, phones, addresses
Facebook groupsapify/facebook-groups-scraperBuying intent signals
Facebook eventsapify/facebook-events-scraperEvent networking, partnerships
Google Searchapify/google-search-scraperBroad lead discovery
YouTube channelsstreamers/youtube-scraperCreator partnerships
Google Maps emailspoidata/google-maps-email-extractorDirect 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

Comments

Markdown supported