anysite-lead-generation
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 returnedcache_keyandnext_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: <cache_key from execute>
- 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: <cache_key from execute>
- 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:
- 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}
- 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": "<prospect_username>", "with_experience": true, "with_education": true}
- Find email addresses
For each qualified prospect:
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "email"
- endpoint: "find"
- params: {"user": "<prospect_username>"}
- Export to CRM
Tool: mcp__anysite__export_data
Parameters:
- cache_key: <cache_key from search>
- 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:
- Research target companies
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "search"
- endpoint: "search_companies"
- params: {"keywords": "<your ICP description>", "industry": "<target industry>", "employee_count": ["51-200", "201-500"], "location": "<target location>", "count": 20}
- Get company details
For each target company:
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "company"
- endpoint: "get"
- params: {"company": "<company_identifier or URL>"}
- Find employees at target companies
For each target company:
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "search"
- endpoint: "search_users"
- params: {"company_keywords": "<Company Name>", "title": "VP, Director, Head of, Chief", "count": 10}
- Enrich decision-makers
For each decision-maker:
Tool: mcp__anysite__execute
source: "linkedin", category: "user", endpoint: "get", params: {"user": "<username>"}
Tool: mcp__anysite__execute
source: "linkedin", category: "email", endpoint: "find", params: {"user": "<username>"}
- Filter and analyze with query_cache
Tool: mcp__anysite__query_cache
Parameters:
- cache_key: <cache_key from employee search>
- conditions: [{"field": "title", "operator": "contains", "value": "VP"}]
- sort_by: [{"field": "name", "order": "asc"}]
- 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:
- Get company websites
From LinkedIn company search or existing list
Tool: mcp__anysite__execute
Parameters:
- source: "linkedin"
- category: "company"
- endpoint: "get"
- params: {"company": "<company_identifier>"}
Extract: company website URLs
- 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
- 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}
- 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
- 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:
- Define candidate profile
Required skills, titles, experience level, location
- 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}
- Get more results with pagination
If response includes next_offset:
Tool: mcp__anysite__get_page
Parameters:
- cache_key: <cache_key from search>
- offset: <next_offset>
- limit: 50
- Enrich candidate profiles
For promising candidates:
Tool: mcp__anysite__execute
source: "linkedin", category: "user", endpoint: "get", params: {"user": "<username>", "with_experience": true, "with_education": true, "with_skills": true}
- Find contact information
Tool: mcp__anysite__execute
source: "linkedin", category: "email", endpoint: "find", params: {"user": "<username>"}
- Filter candidates with query_cache
Tool: mcp__anysite__query_cache
Parameters:
- cache_key: <cache_key from search>
- conditions: [{"field": "location", "operator": "contains", "value": "Remote"}]
- sort_by: [{"field": "follower_count", "order": "desc"}]
- 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 searchtitle(optional): Job title keywords (e.g., "VP Sales", "Software Engineer")company_keywords(optional): Company name keywordslocation(optional): Location (city, state, country)school_keywords(optional): School/university keywordsfirst_name(optional): First namelast_name(optional): Last namecount(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 URLwith_education(default: true): Include education historywith_experience(default: true): Include work experiencewith_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 keywordslocation(optional): Company locationindustry(optional): Industry typeemployee_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 URLextract_contacts(default: false): Extract emails, phones, social linksstrip_all_tags(default: true): Remove HTML tagsonly_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 addresses
- Discover team member information
Sitemap Parsing
v2 Call: discover("webparser", "parse") to find the sitemap endpoint, then execute(...) with discovered endpoint and params.
Retrieve sitemap URLs from a website.
Use Cases:
- Find all pages on a website
- Identify contact/team pages
- Comprehensive website crawling
- Discover hidden landing pages
LinkedIn User Posts
v2 Call: execute("linkedin", "post", "get_user_posts", {"user": ...})
Get recent posts from a LinkedIn user for engagement research.
Use Cases:
- Research prospect interests and activity
- Identify conversation starters
- Analyze thought leadership topics
LinkedIn Post Search
v2 Call: execute("linkedin", "post", "search_posts", {...})
Search LinkedIn posts by keywords.
Use Cases:
- Find prospects discussing relevant topics
- Monitor industry conversations
- Identify engaged professionals
LinkedIn Job Search
v2 Call: execute("linkedin", "job_search", "search_jobs", {...})
Search LinkedIn job postings.
Use Cases:
- Identify companies that are hiring (growth signals)
- Find companies investing in specific roles
- Research market demand
Google LinkedIn Search
v2 Call: execute("linkedin", "google", "search", {"query": ...})
Search Google for LinkedIn profiles.
Use Cases:
- Find profiles that LinkedIn search misses
- Search by specific phrases
- Discover profiles with particular keywords
Output Formats
Chat Summary (Default)
The skill will provide:
- Prospect count: Total leads found
- Key insights: Notable patterns or high-value prospects
- Quality metrics: Percentage with emails, complete profiles, etc.
- Top prospects: 5-10 best matches with details
- Next steps: Recommended actions
Example:
Found 47 qualified prospects matching your criteria:
Top Prospects:
1. Jane Smith - VP Sales at TechCorp (San Francisco)
- Email: jane.smith@techcorp.com
- 10 years in SaaS sales leadership
- Previously at Salesforce, Oracle
2. John Doe - Head of Sales at CloudCo (Remote)
- Email: Not found (try web scraping)
- 8 years experience
- Strong enterprise background
Quality Metrics:
- 32% have verified emails (15/47)
- 91% have complete LinkedIn profiles (43/47)
- 68% in target location (32/47)
Next Steps:
1. Export to CSV for CRM import
2. Set up email outreach sequence
3. Prioritize prospects with emails
4. Research companies for remaining prospects
CSV Export
Use export_data(cache_key, "csv") to get a download URL for CRM import and spreadsheet analysis.
How to Request: "Export the results as CSV"
CSV Structure:
Full Name,First Name,Last Name,Title,Company,Location,Email,Phone,LinkedIn URL,Profile URN,Years Experience,Education,Skills,Last Updated
Use Cases:
- Salesforce/HubSpot import
- Mail merge for outreach
- Spreadsheet analysis and filtering
- Team collaboration via Google Sheets
JSON Export
Use export_data(cache_key, "json") to get a download URL for programmatic access and custom integration.
How to Request: "Export the results as JSON"
JSON Structure:
{
"prospects": [
{
"profile": {
"firstName": "Jane",
"lastName": "Smith",
"headline": "VP Sales at TechCorp",
"location": "San Francisco Bay Area",
"profileUrl": "https://linkedin.com/in/janesmith",
"urn": "urn:li:fsd_profile:ABC123"
},
"currentPosition": {
"title": "VP Sales",
"company": "TechCorp",
"startDate": "2021-06"
},
"contact": {
"email": "jane.smith@techcorp.com",
"phone": null
},
"experience": [...],
"education": [...],
"skills": [...]
}
],
"metadata": {
"total": 47,
"withEmails": 15,
"timestamp": "2026-01-29T01:00:00Z"
}
}
Use Cases:
- Custom CRM integration
- Automated enrichment pipelines
- Data analysis with Python/R
- API integrations with other tools
Advanced Features
Multi-Platform Lead Enrichment
Combine LinkedIn data with other platforms for comprehensive lead profiles:
Pattern: LinkedIn -> Company Website -> Instagram (for B2C)
- Find prospect on LinkedIn
- Get company website from LinkedIn company profile
- Extract additional contacts from website
- Check Instagram for business account (B2C companies)
- Analyze social presence and engagement
Example:
1. execute("linkedin", "search", "search_users", {"keywords": "Emily Chen", "company_keywords": "FashionBrand"})
2. execute("linkedin", "company", "get", {"company": "FashionBrand"}) -> Get website URL
3. execute("webparser", "parse", "parse", {"url": "<website>/contact", "extract_contacts": true}) -> Get phone, email
4. execute("instagram", "search", "search_users", {"query": "FashionBrand"}) -> Find official account
5. execute("instagram", "user", "user", {"user": "fashionbrand"}) -> Verify business account, get follower count
Boolean Search Patterns
Advanced LinkedIn search using keyword combinations:
Title Combinations:
"VP Sales" OR "Head of Sales" OR "Director Sales"- Multiple title variations"Software Engineer" AND "Python"- Title + required skill"Marketing" NOT "Intern"- Exclude junior levels
Company Patterns:
"Google OR Meta OR Amazon"- Multiple target companies"SaaS" AND "B2B"- Industry qualifiers"Startup OR Early Stage"- Company stage targeting
Location Strategies:
"San Francisco Bay Area"- Metropolitan areas"United States"- Country-level"Remote"- Remote-only positions
Lead Scoring Framework
Score prospects based on multiple criteria:
Scoring Dimensions:
-
Profile Completeness (0-20 points)
- Has email: +10
- Complete work history: +5
- Complete education: +3
- Skills listed: +2
-
Title Match (0-30 points)
- Exact match: +30
- Similar title: +20
- Related title: +10
- Wrong level: +0
-
Company Fit (0-25 points)
- Ideal company size: +25
- Acceptable size: +15
- Too small/large: +5
-
Experience Level (0-15 points)
- 5-10 years: +15
- 3-5 years: +10
- 10+ years: +10
- <3 years: +5
-
Location (0-10 points)
- Target location: +10
- Acceptable location: +5
- Remote: +8
Total Score: 0-100 points
- 90-100: Hot lead - Contact immediately
- 70-89: Warm lead - High priority follow-up
- 50-69: Qualified - Standard outreach
- <50: Unqualified - Nurture or discard
Use query_cache() to filter by score thresholds:
query_cache(cache_key, conditions=[{"field": "score", "operator": ">=", "value": 70}], sort_by=[{"field": "score", "order": "desc"}])
Automated Prospect Enrichment
Systematic enrichment workflow for large lists:
Process:
- Initial Search: Get 100-500 prospects from LinkedIn search via execute()
- Paginate: Use get_page() to collect all results beyond the first page
- First Filter: Use query_cache() to remove obviously unqualified (wrong title, location, etc.)
- Batch Enrichment: Enrich top 50 prospects with full profiles via execute()
- Email Discovery: Find emails for top 25 prospects via execute()
- Web Research: Extract company contacts for remaining prospects
- Final Scoring: Apply lead scoring framework
- Export: Use export_data(cache_key, "csv") for top-scored leads
Efficiency Tips:
- Start with larger searches (100+) to account for filtering
- Enrich in batches of 10-20 to avoid overwhelming results
- Prioritize email finding for highest-scored prospects first
- Use web scraping as backup when LinkedIn emails unavailable
Limitations and Alternatives
Platform Gaps
This skill focuses on B2B lead generation where LinkedIn, web scraping, and professional networks provide the most comprehensive data. For local business discovery and contact extraction, the combination of LinkedIn company search and web scraping provides strong coverage.
Note on Crunchbase: Crunchbase tools are disabled in v2. Use LinkedIn company search and Y Combinator data as alternatives for company research and funding information.
Rate Limits and Timeouts
Default Timeout: 300 seconds (5 minutes) per MCP tool call
Strategies for Large Datasets:
-
Batch Processing: Use
countparameter to limit results per call- Search 25-50 prospects at a time
- Make multiple calls for larger lists
- Allow processing time between batches
-
Pagination: Use
get_page(cache_key, offset, limit)to retrieve additional results without re-executing the search. -
Parallel Processing: For independent queries
- Search multiple locations simultaneously
- Enrich different prospect segments in parallel
- Extract contacts from multiple websites at once
Example:
Instead of:
execute("linkedin", "search", "search_users", {"count": 200}) -> May timeout
Do this:
execute("linkedin", "search", "search_users", {"count": 50, "location": "California"})
execute("linkedin", "search", "search_users", {"count": 50, "location": "New York"})
execute("linkedin", "search", "search_users", {"count": 50, "location": "Texas"})
execute("linkedin", "search", "search_users", {"count": 50, "location": "Florida"})
Data Freshness
LinkedIn Data: Real-time access through anysite MCP
- Results cached for 7 days via cache_key (use get_page/query_cache without re-fetching)
- Profile updates reflected in new execute() calls
- Company changes visible in real-time
Recommendation:
- Use
execute("linkedin", "email", "find", {"user": ...})for email discovery - Validate emails before sending (use email validation service)
- Update your CRM when emails bounce
Privacy and Compliance
LinkedIn Terms of Service:
- Respect LinkedIn's usage policies
- Don't automate excessive requests
- Comply with user privacy settings
- Follow GDPR/CCPA requirements
Email Collection:
- Only collect publicly available emails
- Provide opt-out mechanisms
- Comply with anti-spam laws (CAN-SPAM, GDPR)
- Maintain suppression lists
Best Practices:
- Use data for legitimate business purposes only
- Respect connection request limits
- Don't scrape private profile information
- Maintain data security for collected leads
Reference Documentation
For advanced techniques and strategies, see:
- LINKEDIN_STRATEGIES.md - Advanced LinkedIn search patterns, Boolean operators, and targeting strategies
- WEB_SCRAPING.md - Website contact extraction patterns, common page structures, and parsing techniques
Troubleshooting
Common Issues
1. No Results from LinkedIn Search
Symptoms: Search returns 0 results or very few
Causes:
- Overly restrictive search criteria
- Incorrect location format
- Title keywords too specific
- Company name misspelled
Solutions:
- Broaden search criteria (remove some filters)
- Try location variations: "San Francisco", "San Francisco Bay Area", "SF"
- Use partial titles: "Sales" instead of "Vice President of Sales"
- Verify company names with
execute("linkedin", "search", "search_companies", {...})first - Check
llm_hintin the response for guidance
Example Fix:
Too Restrictive:
execute("linkedin", "search", "search_users", {"title": "Vice President of Enterprise Sales", "location": "San Francisco, California", "company_keywords": "Salesforce Inc"})
Better:
execute("linkedin", "search", "search_users", {"title": "VP Sales OR Head of Sales", "location": "San Francisco Bay Area", "company_keywords": "Salesforce"})
2. Email Not Found
Symptoms: Email find returns no results
Causes:
- Email not in database
- User privacy settings
- Email verification required
Solutions:
- Extract email from company website instead
- Use email pattern guessing (firstname.lastname@company.com)
- Check for email in LinkedIn profile "Contact Info" section
Alternative Workflow:
1. execute("linkedin", "user", "get", {"user": "<username>"}) -> Get current company
2. execute("linkedin", "company", "get", {"company": "<company>"}) -> Get company website
3. execute("webparser", "parse", "parse", {"url": "<website>/contact", "extract_contacts": true}) -> Extract company emails
4. Use email pattern: first.last@companydomain.com
3. Timeout Errors
Symptoms: Request times out after 300 seconds
Causes:
- Large result count requested
- Complex search criteria
- Server load issues
Solutions:
- Reduce
countparameter (try 25-50 instead of 100+) - Break large searches into multiple smaller searches
- Simplify search criteria
- Check
llm_hintfor retry guidance
Example:
May Timeout:
execute("linkedin", "search", "search_users", {"title": "Software Engineer", "count": 500})
Better:
execute("linkedin", "search", "search_users", {"title": "Software Engineer", "count": 50})
# Then use get_page(cache_key, next_offset, 50) for additional results
4. Incomplete Profile Data
Symptoms: Profile missing work history, education, or skills
Causes:
- User profile not complete on LinkedIn
- Privacy settings limit data access
- Profile hasn't been updated
Solutions:
- Set
with_experience,with_education,with_skillsto true in params - Accept incomplete data and supplement with web research
- Focus on prospects with complete profiles
5. Invalid User URN
Symptoms: Error when using URN in follow-up calls
Causes:
- Incorrect URN format
- URN from different data source
- Stale URN reference
Solutions:
- Use LinkedIn username instead of URN when possible
- Verify URN format:
urn:li:fsd_profile:XXXXXXXXX - Get fresh URN from recent search
- Use profile URL as alternative identifier
Getting Help
anysite MCP Server Issues:
- Verify MCP server is running and configured
- Check MCP server logs for errors
- Ensure authentication is set up correctly
- Check
llm_hintfield in error responses for actionable guidance
Skill-Specific Questions:
- Review reference documentation in
references/folder - Check examples in this SKILL.md file
- Review common workflows section
Data Quality Issues:
- Validate search criteria before large batches
- Test with small
countvalues first - Review data quality in chat summary before export
- Use
query_cache()to filter low-quality results
Integration Problems:
- Verify CSV format matches your CRM requirements
- Test JSON structure before building integrations
- Check timezone and date formats in exports
Example Use Cases
Use Case 1: Enterprise SaaS Sales
Goal: Find 100 qualified enterprise sales prospects
Process:
- Define ICP: VP/Director level, Enterprise Software, 500-5000 employees
- Search LinkedIn:
execute("linkedin", "search", "search_users", {"title": "VP Sales", "company_keywords": "Enterprise Software", "count": 100}) - Filter by company size using
execute("linkedin", "search", "search_companies", {...}) - Enrich top 30 prospects with full profiles
- Find emails for top 20 prospects
- Export CSV via
export_data(cache_key, "csv")for Salesforce import
Success Metrics:
- 100 prospects found and qualified
- 30 enriched with full work history
- 15-20 verified emails obtained
- 2-3 hours total time investment
Use Case 2: Tech Recruiter Sourcing
Goal: Source 50 Python engineers for startup
Process:
- Search:
execute("linkedin", "search", "search_users", {"keywords": "Python Django AWS", "title": "Software Engineer", "location": "Remote", "count": 100}) - Filter: Use
query_cache()to remove <2 years experience - Enrich: Get skills and education for top 50
- Score: Rank by skills match and experience level
- Contact: Find emails for top 25
- Outreach: Personalized emails referencing their skills/projects
Success Metrics:
- 50 qualified candidates sourced
- 25 emails obtained
- 5-10 candidates engaged
- Time to first response: <24 hours
Use Case 3: Partnership Outreach
Goal: Find potential integration partners in marketing tech
Process:
- Search companies:
execute("linkedin", "search", "search_companies", {"keywords": "marketing automation", "employee_count": ["51-200"]}) - Identify decision-makers:
execute("linkedin", "search", "search_users", {"title": "VP Product OR Head of Partnerships", "company_keywords": "<company>"}) - Research: Get company details and recent LinkedIn posts via
execute("linkedin", "post", "get_user_posts", {"user": ...}) - Enrich: Full profiles for all decision-makers
- Personalize: Reference their product and use cases
- Multi-channel: LinkedIn + email outreach
Success Metrics:
- 30 potential partners identified
- 40 decision-makers found
- 25 emails + LinkedIn connection requests sent
- 10-15 responses received
Ready to start generating leads? Ask Claude to help you find prospects, enrich profiles, or build comprehensive lead lists using this skill!
More from anysiteio/agent-skills
skill-audit
Read-only static security audit of Claude Code skills, commands, and plugins. Analyzes SKILL.md frontmatter, body content, supporting scripts, and hooks for security risks. Use this skill when the user asks to "audit a skill", "review skill security", "check SKILL.md for risks", "scan a plugin for dangerous patterns", "verify skill safety", "check skill permissions", "analyze skill hooks", "audit a skill from GitHub", "review a remote skill", "check a skill by URL", or needs a security assessment of any Claude Code skill, command, or plugin before enabling it.
28anysite-trend-analysis
Discover and track emerging trends across Twitter/X, Reddit, YouTube, LinkedIn, and Instagram using anysite MCP server. Identify viral content, monitor topic momentum, detect trending hashtags, analyze search patterns, and track industry shifts. Supports multi-platform trend detection, sentiment analysis, and momentum tracking. Use when users need to identify emerging trends, track viral content, monitor market shifts, discover trending topics, or analyze social media conversations for strategic insights.
13anysite-market-research
Conduct comprehensive market research using Y Combinator data, SEC filings, social media insights, and web scraping via anysite MCP server. Analyze tech markets, research startup ecosystems, study public companies, identify market opportunities, and understand competitive dynamics. Supports startup discovery, industry analysis, public company research, and social sentiment analysis. Use when users need to analyze market opportunities, research industries, evaluate startups, study public companies, or gather market intelligence for strategic planning and investment decisions.
10anysite-competitor-analyzer
Deep competitive intelligence combining web scraping, LinkedIn data, social media monitoring, leadership analysis, GitHub activity, Glassdoor sentiment, and community insights. Analyzes founders/C-level profiles, tracks real-time signals vs quarterly reports, and creates comprehensive competitor profiles. Use when asked to analyze competitors, research leadership teams, investigate market positioning, compare products/pricing, assess strategic threats, or gather intelligence on founders and key executives.
10anysite-brand-reputation
Monitor brand reputation and sentiment across Twitter/X, Reddit, Instagram, YouTube, and LinkedIn using anysite MCP server. Track brand mentions, analyze customer sentiment, monitor social conversations, identify reputation issues, and measure brand health. Supports social media listening, sentiment analysis, mention tracking, and crisis detection. Use when users need to monitor brand mentions, track customer sentiment, identify reputation risks, analyze brand perception, or measure social media presence and brand health across platforms.
7anysite-vc-analyst
|
7