🧪 Skills

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

v1.0.1
❤️ 4
⬇️ 1.1k
👁 2
Share

Description


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. version: 1.0.1 source: https://github.com/apify/agent-skills homepage: https://apify.com metadata: openclaw: requires: env: - APIFY_TOKEN bins: - node - mcpc primaryEnv: APIFY_TOKEN install: - kind: node package: "@apify/mcpc" bins: [mcpc]

Lead Generation

Scrape leads from multiple platforms using Apify Actors.

Prerequisites

  • APIFY_TOKEN configured in OpenClaw settings
  • Node.js 20.6+
  • mcpc CLI (auto-installed via skill metadata)

Input Sanitization Rules

Before substituting any value into a bash command:

  • ACTOR_ID: Must be either a technical name (owner/actor-name — alphanumeric, hyphens, dots, one slash) or a raw ID (exactly 17 alphanumeric characters, e.g., oeiQgfg5fsmIJB7Cn). Reject values containing shell metacharacters (; | & $ ` ( ) { } < > ! \n).
  • SEARCH_KEYWORDS: Plain text words only. Reject shell metacharacters.
  • JSON_INPUT: Must be valid JSON. Must not contain single quotes (use escaped double quotes). Validate structure before use.
  • Output filenames: Must match YYYY-MM-DD_descriptive-name.{csv,json}. No path separators (/, ..), no spaces, no metacharacters.

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:

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

node {baseDir}/reference/scripts/run_actor.js \
  --actor 'ACTOR_ID' \
  --input 'JSON_INPUT'

CSV:

node {baseDir}/reference/scripts/run_actor.js \
  --actor 'ACTOR_ID' \
  --input 'JSON_INPUT' \
  --output 'YYYY-MM-DD_OUTPUT_FILE.csv' \
  --format csv

JSON:

node {baseDir}/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)

Security & Data Privacy

This skill instructs the agent to select an Apify Actor, fetch its schema (via mcpc), and run scrapers. The included script communicates only with api.apify.com and writes outputs to files under the current working directory; it does not access unrelated system files or other environment variables.

Apify Actors only scrape publicly available data and do not collect private or personally identifiable information beyond what is openly accessible on the target platforms. For additional security assurance, you can check an Actor's permission level by querying https://api.apify.com/v2/acts/:actorId — an Actor with LIMITED_PERMISSIONS operates in a restricted sandbox, while FULL_PERMISSIONS indicates broader system access. For full details, see Apify's General Terms and Conditions.

Error Handling

APIFY_TOKEN not found - Ask user to configure APIFY_TOKEN in OpenClaw settings mcpc not found - Run 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

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs