AgentStack
SKILL verified MIT Self-run

Anysite Lead Generation

skill-anysiteio-agent-skills-anysite-lead-generation · by anysiteio

Lead generation and prospecting using anysite MCP server for LinkedIn prospect discovery, email finding, company research, and contact enrichment. Extract contacts from websites, find decision-makers at target companies, and build qualified prospect lists for sales, recruiting, and business development. Supports LinkedIn (primary), web scraping for contact extraction, and Instagram business disco…

No reviews yet
0 installs
19 views
0.0% view→install

Install

$ agentstack add skill-anysiteio-agent-skills-anysite-lead-generation

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Anysite Lead Generation? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

anysite Lead Generation

Professional lead generation and prospecting using the anysite MCP server. Find prospects on LinkedIn, discover verified emails, extract contacts from websites, and build comprehensive lead lists for sales, recruiting, and business development.

Overview

The anysite Lead Generation skill helps you:

  • Find qualified prospects on LinkedIn using advanced search filters
  • Enrich profiles with work history, education, and skills
  • Discover email addresses through LinkedIn email finding
  • Extract contact information from company websites
  • Research companies to identify target accounts
  • Build prospect lists formatted for CRM import

This skill provides comprehensive lead generation capabilities with the added benefit of zero configuration and immediate execution through anysite MCP.

Supported Platforms

  • LinkedIn (Primary): People search, profile enrichment, email discovery, company research, employee listings
  • Web Scraping: Contact extraction from websites, sitemap parsing, general web data
  • Instagram: Business account discovery and profile analysis (supplementary)
  • Y Combinator: Startup company and founder research (supplementary)

v2 API Overview

All data fetching uses the universal execute() tool with four parameters: source, category, endpoint, params. Supporting tools:

  • execute(source, category, endpoint, params) - Fetch data. Returns first page of items + cache_key.
  • get_page(cache_key, offset, limit) - Load additional pages from a previous execute() result using the returned cache_key and next_offset.
  • query_cache(cache_key, conditions, sort_by, aggregate, group_by) - Filter, sort, count, or aggregate already-fetched data without a new API call.
  • export_data(cache_key, format) - Export a full dataset as CSV, JSON, or JSONL. Returns a download URL.
  • discover(source, category) - Inspect available endpoints and their accepted params (use when unsure about params).

Error Handling

v2 responses may include an llm_hint field with human-readable guidance when something goes wrong (e.g., invalid params, rate limits). Always check for llm_hint in the response and follow its advice before retrying.

Quick Start

Step 1: Identify Your Lead Source

Choose the appropriate data source based on your prospecting goal:

| Goal | v2 Call | Use Case | |------|---------|----------| | Find prospects by title/company | execute("linkedin", "search", "search_users", {...}) | B2B prospecting, targeted outreach | | Enrich existing leads | execute("linkedin", "user", "get", {"user": ...}) | Add work history, education, skills | | Find verified emails | execute("linkedin", "email", "find", {"user": ...}) | Email outreach campaigns | | Extract website contacts | execute("webparser", "parse", "parse", {"url": ...}) | Get emails/phones from contact pages | | Research target companies | execute("linkedin", "search", "search_companies", {...}) | Account-based marketing (ABM) | | Find company employees | execute("linkedin", "search", "search_users", {...}) + company filter | Multi-threading into accounts |

Step 2: Execute Data Collection

Use anysite MCP v2 tools directly to gather lead data:

Example: Find Sales VPs in San Francisco

Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "search"
- endpoint: "search_users"
- params: {"title": "VP Sales", "location": "San Francisco Bay Area", "count": 25}

Example: Enrich a LinkedIn Profile

Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "user"
- endpoint: "get"
- params: {"user": "linkedin.com/in/johndoe", "with_experience": true, "with_education": true, "with_skills": true}

Example: Find Email Address

Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "email"
- endpoint: "find"
- params: {"user": "johndoe"}

Example: Extract Contacts from Website

Tool: mcp__anysite__execute
Parameters:
- source: "webparser"
- category: "parse"
- endpoint: "parse"
- params: {"url": "https://company.com/contact", "extract_contacts": true, "strip_all_tags": true}

Step 3: Process and Analyze Results

After execute() returns data with a cache_key, use v2 post-processing:

  • Filter results: query_cache(cache_key, conditions=[{"field": "title", "operator": "contains", "value": "VP"}])
  • Sort results: query_cache(cache_key, sort_by=[{"field": "follower_count", "order": "desc"}])
  • Count results: query_cache(cache_key, aggregate=[{"function": "count", "field": "*"}])
  • Get more pages: get_page(cache_key, offset=next_offset, limit=10)

Also review the returned data for:

  • Profile completeness: Work history, education, skills presence
  • Contact quality: Email deliverability, phone format
  • Relevance scoring: Title match, company fit, location alignment
  • Enrichment opportunities: Missing data that can be filled

Step 4: Format Output

Choose your preferred output format:

Chat Summary (Default)

  • Displays top prospects with key details
  • Includes actionable next steps
  • Shows data quality metrics

CSV Export (via v2 export_data)

Tool: mcp__anysite__export_data
Parameters:
- cache_key: 
- format: "csv"

Returns a download URL. Ready for CRM import (Salesforce, HubSpot, etc.)

JSON Export (via v2 export_data)

Tool: mcp__anysite__export_data
Parameters:
- cache_key: 
- format: "json"

Returns a download URL. Structured data for custom integration.

Common Workflows

Workflow 1: LinkedIn B2B Prospecting

Scenario: Find 50 qualified prospects at SaaS companies in specific roles

Steps:

  1. Search for prospects
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "search"
- endpoint: "search_users"
- params: {"keywords": "SaaS software cloud", "title": "Head of Marketing, VP Marketing, CMO", "location": "United States", "company_keywords": "software", "count": 50}
  1. Enrich top prospects (for first 10-20 results)
For each prospect from step 1:
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "user"
- endpoint: "get"
- params: {"user": "", "with_experience": true, "with_education": true}
  1. Find email addresses
For each qualified prospect:
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "email"
- endpoint: "find"
- params: {"user": ""}
  1. Export to CRM
Tool: mcp__anysite__export_data
Parameters:
- cache_key: 
- format: "csv"

Import the CSV to your CRM system and set up outreach sequences.

Expected Output:

  • 50 prospects with LinkedIn profiles
  • 10-20 enriched profiles with complete work history
  • 5-15 verified email addresses
  • CSV file ready for CRM import

Workflow 2: Account-Based Marketing (ABM)

Scenario: Find decision-makers at specific target companies

Steps:

  1. Research target companies
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "search"
- endpoint: "search_companies"
- params: {"keywords": "", "industry": "", "employee_count": ["51-200", "201-500"], "location": "", "count": 20}
  1. Get company details
For each target company:
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "company"
- endpoint: "get"
- params: {"company": ""}
  1. Find employees at target companies
For each target company:
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "search"
- endpoint: "search_users"
- params: {"company_keywords": "", "title": "VP, Director, Head of, Chief", "count": 10}
  1. Enrich decision-makers
For each decision-maker:
Tool: mcp__anysite__execute
  source: "linkedin", category: "user", endpoint: "get", params: {"user": ""}
Tool: mcp__anysite__execute
  source: "linkedin", category: "email", endpoint: "find", params: {"user": ""}
  1. Filter and analyze with query_cache
Tool: mcp__anysite__query_cache
Parameters:
- cache_key: 
- conditions: [{"field": "title", "operator": "contains", "value": "VP"}]
- sort_by: [{"field": "name", "order": "asc"}]
  1. Create ABM campaign
  • Group prospects by company
  • Identify multi-threading opportunities
  • Build company-specific messaging

Expected Output:

  • 20 target companies with full profiles
  • 50-100 decision-makers across all companies
  • 20-40 verified email addresses
  • Account map showing org structure

Workflow 3: Website Contact Extraction

Scenario: Extract contact information from a list of company websites

Steps:

  1. Get company websites
From LinkedIn company search or existing list
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "company"
- endpoint: "get"
- params: {"company": ""}
Extract: company website URLs
  1. Parse contact pages
For each website:
Tool: mcp__anysite__execute
Parameters:
- source: "webparser"
- category: "parse"
- endpoint: "parse"
- params: {"url": "https://company.com/contact", "extract_contacts": true, "strip_all_tags": true}

Alternative pages to try:
- /contact
- /about/contact
- /about/team
- /about
  1. Parse team pages (if available)
Tool: mcp__anysite__execute
Parameters:
- source: "webparser"
- category: "parse"
- endpoint: "parse"
- params: {"url": "https://company.com/team", "extract_contacts": true}
  1. Get sitemap (for comprehensive coverage)
Tool: mcp__anysite__discover
Parameters:
- source: "webparser"
- category: "parse"
(Use discover to find the sitemap endpoint and its params, then execute accordingly)

Identify pages likely to contain contacts:
- /contact, /team, /about, /leadership
  1. Deduplicate and validate
  • Remove duplicate emails
  • Validate email formats
  • Match emails to LinkedIn profiles if possible

Expected Output:

  • Contact emails from 60-80% of websites
  • Phone numbers where available
  • Social media links
  • Team member names and titles

Workflow 4: Recruiter Candidate Sourcing

Scenario: Find qualified candidates for open positions

Steps:

  1. Define candidate profile
Required skills, titles, experience level, location
  1. Search for candidates
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "search"
- endpoint: "search_users"
- params: {"keywords": "Python React AWS", "title": "Software Engineer, Senior Engineer", "location": "Remote", "count": 100}
  1. Get more results with pagination
If response includes next_offset:
Tool: mcp__anysite__get_page
Parameters:
- cache_key: 
- offset: 
- limit: 50
  1. Enrich candidate profiles
For promising candidates:
Tool: mcp__anysite__execute
  source: "linkedin", category: "user", endpoint: "get", params: {"user": "", "with_experience": true, "with_education": true, "with_skills": true}
  1. Find contact information
Tool: mcp__anysite__execute
  source: "linkedin", category: "email", endpoint: "find", params: {"user": ""}
  1. Filter candidates with query_cache
Tool: mcp__anysite__query_cache
Parameters:
- cache_key: 
- conditions: [{"field": "location", "operator": "contains", "value": "Remote"}]
- sort_by: [{"field": "follower_count", "order": "desc"}]
  1. Build candidate pipeline
  • Score candidates on skills match
  • Prioritize by years of experience
  • Create outreach sequence

Expected Output:

  • 100 potential candidates
  • 30-50 fully enriched profiles
  • 20-30 email addresses
  • Scored and prioritized candidate list

MCP Tools Reference

Primary Tools

LinkedIn People Search

v2 Call: execute("linkedin", "search", "search_users", {...})

Search for LinkedIn users by various criteria.

Parameters (passed in params):

  • keywords (optional): General keywords for search
  • title (optional): Job title keywords (e.g., "VP Sales", "Software Engineer")
  • company_keywords (optional): Company name keywords
  • location (optional): Location (city, state, country)
  • school_keywords (optional): School/university keywords
  • first_name (optional): First name
  • last_name (optional): Last name
  • count (default: 10): Number of results to return

Returns: List of user profiles with name, title, location, profile URL, and URN. Includes cache_key for pagination and filtering.

Use Cases:

  • Find prospects by title and location
  • Discover employees at target companies
  • Search for alumni from specific schools
  • Build prospect lists for outreach

Pagination: If next_offset is returned, call get_page(cache_key, next_offset, limit) for more results.

LinkedIn Profile Details

v2 Call: execute("linkedin", "user", "get", {"user": ...})

Get comprehensive profile information for a LinkedIn user.

Parameters (passed in params):

  • user (required): LinkedIn username or full profile URL
  • with_education (default: true): Include education history
  • with_experience (default: true): Include work experience
  • with_skills (default: true): Include skills

Returns: Complete profile with work history, education, skills, certifications, and more

Use Cases:

  • Enrich prospect data before outreach
  • Qualify leads based on work history
  • Research candidate backgrounds
  • Understand prospect's career path
Email Finding

v2 Call: execute("linkedin", "email", "find", {"user": ...})

Search for email addresses associated with LinkedIn profiles.

Parameters (passed in params):

  • user (required): LinkedIn username or profile URL

Returns: Email addresses associated with the LinkedIn profile

Use Cases:

  • Find verified emails for prospects
  • Enrich contact databases
  • Build email outreach lists
Company Search

v2 Call: execute("linkedin", "search", "search_companies", {...})

Search for LinkedIn companies by various criteria.

Parameters (passed in params):

  • keywords (optional): Company name or description keywords
  • location (optional): Company location
  • industry (optional): Industry type
  • employee_count (optional): Array of employee count ranges (e.g., ["51-200", "201-500"])
  • count (required): Number of results to return

Returns: List of companies with name, industry, size, location, and URN. Includes cache_key.

Use Cases:

  • Identify target accounts for ABM
  • Research competitors
  • Build company prospect lists
  • Market segmentation analysis
Company Details

v2 Call: execute("linkedin", "company", "get", {"company": ...})

Get detailed information about a LinkedIn company.

Parameters (passed in params):

  • company (required): Company identifier or LinkedIn URL

Returns: Company profile with description, industry, size, specialties, website

Use Cases:

  • Research target accounts
  • Understand company positioning
  • Extract company websites for further research
  • Qualify accounts before prospecting
Company Employee Stats

v2 Call: discover("linkedin", "company") to find the employee stats endpoint, then execute(...) with the discovered endpoint and params.

Get employee statistics and insights for a company.

Use Cases:

  • Track hiring velocity (company growth)
  • Identify growing departments
  • Assess company size and scale
  • Competitive intelligence on hiring

Supporting Tools

Web Contact Extraction

v2 Call: execute("webparser", "parse", "parse", {"url": ...})

Extract content and contact information from web pages.

Parameters (passed in params):

  • url (required): Webpage URL
  • extract_contacts (default: false): Extract emails, phones, social links
  • strip_all_tags (default: true): Remove HTML tags
  • only_main_content (default: true): Extract only main content area

Returns: Page content, contacts (emails, phones), links

Use Cases:

  • Extract contacts from company websites
  • Get email addresses from contact pages
  • Find phone numbers and add

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.