saasbakers / lead-generation-scraper
Lead generation scraper: find and qualify B2B leads (names, titles, emails, phones, social profiles) from public websites and directories with the ReachOwl Lead Finder Apify Actor, then import them into an existing ReachOwl campaign for Facebook, Instagram, or WhatsApp outreach. Use when the user wants to scrape leads from URLs, build a prospect list for a niche and location, or fill a ReachOwl campaign with new leads.
0
SKILL.md3.9 KB
Lead Generation Scraper (ReachOwl)
The Apify Actor finds leads. ReachOwl MCP imports them and runs the outreach.
- Actor:
superior_couch/reachowl-lead-finder(free; you pay Apify platform usage)
Before you start
- Requires the ReachOwl MCP server connected with the user's token. If a tool reports a missing token, run the
reachowl-authflow. - Requires access to Apify: either the Apify MCP server, or an
APIFY_TOKENfor the REST API. - Only crawl public pages the user has the right to use, and follow local rules on contacting people (consent, opt-outs).
Workflow
- Confirm the brief: start URLs, target audience, location, keywords, max leads.
- Pick the campaign:
list_campaignsand choose an existing one. If none fits, create one first withfacebook-dm-automation,instagram-dm-automation, orwhatsapp-marketing-automation(for exampleaudience_type: "file_upload",status: 0). - Run the Actor in scrape-only mode (
sendToReachOwl: false):
{
"startUrls": [{ "url": "https://example.com/agents" }],
"targetAudience": "real estate agents",
"location": "Lahore, Pakistan",
"keywords": ["real estate", "property dealer", "real estate agent"],
"maxLeads": 100,
"minLeadScore": 50,
"sendToReachOwl": false
}- Apify MCP: call the Actor
superior_couch/reachowl-lead-finderwith this input. - REST (short runs):
POST https://api.apify.com/v2/acts/superior_couch~reachowl-lead-finder/run-sync-get-dataset-itemswith headerAuthorization: Bearer $APIFY_TOKENand the JSON above as the body. - Other inputs:
maxPagesPerSite(default 25),maxRequestsPerCrawl(default 200),scoreWeights.
- Review the leads with the user. Each item has
fullName,firstName,title,company,email,phone,website,facebookUrl,instagramUrl,linkedinUrl,sourceUrl,matchedKeywords,leadScore. - Import through MCP with
add_campaign_contacts { campaign_id, audience }, in batches of up to 500:
| Campaign platform | Keep leads that have | Row |
|---|---|---|
phone | { name: fullName, phone, company, title } | |
facebookUrl | { name: fullName, profile_url: facebookUrl, company, title } | |
instagramUrl | { name: fullName, profile_url: instagramUrl, company, title } |
Extra fields (company, title) become message variables ({{company}}, {{title}}).
- Verify:
list_contacts { campaign_id }. - Start outreach only after the user approves the messages:
facebook-dm-automation,instagram-dm-automation, orwhatsapp-marketing-automation(update_campaign { id, body: { status: 1 } }).
Rules
- Never create a campaign just to hold uploaded leads if one already fits — use
add_campaign_contacts. - Importing through MCP uses the user's own ReachOwl token. Don't use the Actor's built-in
sendToReachOwlimport unless the user runs their own copy of the Actor with theirREACHOWL_API_KEYsecret set. - Report how many leads were found, kept, and imported, and how many were skipped for missing phone or profile URL.