AI Cold Outreach Personalization avatar
AI Cold Outreach Personalization

Pricing

from $0.01 / 1,000 results

Go to Apify Store
AI Cold Outreach Personalization

AI Cold Outreach Personalization

Transform cold outreach with AI-powered personalization. This Actor scrapes lead data from websites and generates highly personalized cold emails, LinkedIn DMs, and WhatsApp messages at scale. Stop sending generic messages—let AI research each lead and craft personalized outreach for you.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

HappiTap

HappiTap

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

0

Monthly active users

7 days ago

Last modified

Share

AI Cold Outreach Personalization Actor

Transform cold outreach with AI-powered personalization. This Actor scrapes lead data from websites and generates highly personalized cold emails, LinkedIn DMs, and WhatsApp messages at scale. Stop sending generic messages—let AI research each lead and craft personalized outreach that actually gets responses.

What is AI Cold Outreach Personalization Actor?

AI Cold Outreach Personalization Actor is an AI-powered sales automation tool that researches your leads and generates personalized outreach messages across multiple channels. Simply provide a list of company websites, and the Actor will:

Scrape their website to understand their business (homepage, pricing, features, about pages)
Extract structured facts using GPT-4 (what they do, who they serve, pain points, tech stack)
Score lead fit based on your offering
Generate personalized cold emails, LinkedIn DMs, and WhatsApp messages
Deliver results to Apify dataset and optionally to your CRM via webhook

Perfect for sales teams, agencies, founders, and SDRs who need to personalize 100+ outreach messages per day without manual research.

Why use AI Cold Outreach Personalization Actor?

The Problem with Cold Outreach

Generic cold emails get 1-3% response rates. Personalized outreach gets 15-30% response rates. But personalizing each message manually takes 15-20 minutes per lead. That's where this Actor comes in.

How This Actor Helps

  • Save 15-20 minutes per lead - No more manual website research
  • 10x your outreach volume - Process 100+ leads per day instead of 5-10
  • Increase response rates - Personalized messages that reference specific facts from their website
  • Multi-channel ready - Get email, LinkedIn, and WhatsApp messages in one run
  • Compliance built-in - Automatic spam word filtering and best practices

Business Use Cases

  • B2B Sales Teams: Research and personalize outreach for 100+ leads daily
  • Marketing Agencies: Manage cold outreach campaigns for multiple clients
  • Founder-Led Sales: Scale outreach without hiring an SDR team
  • Event Follow-Up: Personalize follow-up messages after conferences or webinars
  • Partnership Outreach: Research potential partners and craft personalized pitches

What can AI Cold Outreach Personalization Actor do?

This Actor combines web scraping, AI extraction, and message generation into one automated workflow:

🔍 Multi-Source Data Collection

  • Scrape company websites (homepage, pricing, about, features pages)
  • Extract text content, headings, and key information
  • Collect evidence and quotes for personalization
  • LinkedIn and Google Maps scraping coming soon

🧠 AI-Powered Fact Extraction

  • What they do (business description)
  • Who they serve (target customers)
  • Pricing signals (free trial, pricing tiers)
  • Tech stack signals (integrations, tools used)
  • Trust signals (customer count, testimonials)
  • Pain points and recent updates

📊 Intelligent Lead Scoring

  • Rule-based + AI scoring for lead fit
  • Confidence scores for each lead
  • Personalization opportunity detection
  • Automatic filtering of low-fit leads

✉️ Multi-Channel Message Generation

  • Cold emails (140 words max) with 5 subject line options
  • LinkedIn DMs (70 words max) for social outreach
  • WhatsApp messages (45 words max) for direct messaging
  • 3 variants per channel for A/B testing
  • Compliance-first: No spam words, guarantees, or medical claims

🔗 Apify Platform Advantages

  • Scheduled runs: Automate daily lead processing
  • API access: Integrate with your existing tools
  • Webhook delivery: Send results directly to your CRM
  • Proxy rotation: Reliable scraping without blocks
  • Monitoring: Track Actor performance and costs
  • Dataset storage: Access results anytime via API

What data can AI Cold Outreach Personalization Actor extract?

The Actor extracts structured data from company websites and generates personalized messages. Here's what you get for each lead:

Data PointDescriptionExample
Company DescriptionWhat the company does"AI-powered analytics for B2B sales teams"
Target CustomersWho they serve"Mid-market B2B companies with 50-500 employees"
Pricing SignalsPricing model and tiers"Starts at $99/month, has free trial"
Tech StackTools and integrations they use"Salesforce, HubSpot, Stripe integrations"
Trust SignalsSocial proof and credibility"Used by 500+ companies, 4.8/5 on G2"
Pain PointsChallenges they mention"Manual data entry, lack of insights"
Personalization HookBest angle for outreach"Recently launched new dashboard feature"
Fit ScoreHow well they match your offer0.78 (0-1 scale)
Cold EmailPersonalized email (3 variants)Full email with subject lines
LinkedIn DMShort LinkedIn message (3 variants)Conversational opener
WhatsApp MessageUltra-short message (3 variants)Direct, friendly approach

How to use AI Cold Outreach Personalization Actor to generate personalized messages

Step-by-step tutorial

  1. Prepare your lead list
    Create a list of companies with their website URLs. You can export from LinkedIn Sales Navigator, Apollo, or any lead database.

  2. Set up your OpenAI API key
    Get an API key from platform.openai.com/api-keys. Choose gpt-4o-mini for best cost/performance.

  3. Configure your business information
    Add your company name, what you offer, social proof points, and your call-to-action.

  4. Run the Actor
    Click "Start" and the Actor will process each lead automatically. Processing takes 30-60 seconds per lead.

  5. Review results in the dataset
    Download personalized messages in JSON, CSV, or Excel format. Or send directly to your CRM via webhook.

  6. Copy messages to your outreach tool
    Use the generated messages in your email tool, LinkedIn, or WhatsApp. Test different variants to see what works best.

Video tutorial

Coming soon - subscribe to get notified when the video tutorial is ready

How much will it cost to generate personalized cold outreach messages?

Pricing breakdown

This Actor uses Apify compute units and OpenAI API tokens. You provide your own OpenAI API key, so you pay OpenAI directly for AI usage.

Estimated cost per lead: $0.02 - $0.05

  • Apify platform: ~$0.01 per lead (web scraping and processing)
  • OpenAI API: ~$0.01-$0.04 per lead (depends on model and pages scraped)

Example costs:

Leads ProcessedApify CostOpenAI Cost (gpt-4o-mini)Total Cost
10 leads$0.10$0.10-$0.40$0.20-$0.50
100 leads$1.00$1.00-$4.00$2.00-$5.00
1,000 leads$10.00$10.00-$40.00$20.00-$50.00

Free tier: Apify offers $5 free credit per month, which covers approximately 100-250 leads.

Cost factors:

  • Pages scraped: More pages = higher cost (default: 5 pages per site)
  • OpenAI model: gpt-4o-mini is 10x cheaper than gpt-4o
  • Message variants: More variants = slightly higher OpenAI cost

Cost optimization tips:

  • Use gpt-4o-mini for 90% of leads (fast & cheap)
  • Limit maxPagesPerSite to 3-5 pages
  • Set onlySendIfScoreGte to 0.6 to skip low-fit leads
  • Use gpt-4o only for high-value leads

Input

Minimal example

{
"leads": [
{
"id": "lead_001",
"companyName": "Example Corp",
"websiteUrl": "https://example.com",
"contactName": "John Doe",
"role": "CEO"
}
],
"business": {
"yourCompanyName": "Your Company",
"yourOffer": "We help B2B companies generate qualified leads using AI",
"proof": ["Helped 50+ companies", "Average 3x ROI"],
"cta": "Open to a quick call this week?"
},
"openaiApiKey": "sk-..."
}

Full Configuration

{
"leads": [
{
"id": "lead_001",
"companyName": "Example Corp",
"websiteUrl": "https://example.com",
"linkedinUrl": "",
"contactName": "John Doe",
"role": "CEO",
"email": "",
"location": "USA",
"notes": "Met at conference"
}
],
"collect": {
"sources": {
"website": true,
"linkedin": false,
"googleMaps": false
},
"maxPagesPerSite": 5,
"includePaths": ["/", "/pricing", "/features", "/about"],
"excludePatterns": ["privacy", "terms", "cookie"],
"timeoutMs": 45000
},
"extract": {
"mode": "facts",
"fields": [
"whatTheyDo",
"whoTheyServe",
"pricingSignals",
"techStackSignals",
"trustSignals",
"painPointsHints"
]
},
"generation": {
"language": "en",
"tone": "professional",
"personalizationLevel": "high",
"templates": {
"coldEmail": true,
"linkedinDm": true,
"whatsapp": true
},
"variants": 3,
"maxWords": {
"coldEmail": 140,
"linkedinDm": 70,
"whatsapp": 45
},
"include": {
"subjectLines": 5,
"openingLines": 5,
"ctaOptions": 3
},
"compliance": {
"noMedicalClaims": true,
"noGuarantees": true,
"noSpammyWords": true
}
},
"business": {
"yourCompanyName": "Your Company",
"yourOffer": "What you're selling and how it helps",
"proof": ["Social proof 1", "Social proof 2"],
"cta": "Open to a quick call?"
},
"delivery": {
"webhookUrl": "https://your-crm.com/webhook",
"onlySendIfScoreGte": 0.55
},
"openaiApiKey": "sk-...",
"openaiModel": "gpt-4o-mini"
}

Output

What you get for each lead

Each lead produces a comprehensive structured output with all research and generated messages:

{
"leadId": "lead_001",
"companyName": "Example Corp",
"inputs": {
"websiteUrl": "https://example.com",
"contactName": "John Doe",
"role": "CEO"
},
"collection": {
"pagesFetched": 5,
"sourcesUsed": ["website"],
"evidence": [
{
"type": "quote",
"text": "AI-powered analytics for B2B teams",
"sourceUrl": "https://example.com"
}
]
},
"extractedFacts": {
"whatTheyDo": "Provides AI-powered analytics for B2B sales teams",
"whoTheyServe": "Mid-market B2B companies with 50-500 employees",
"pricingSignals": "Starts at $99/month, has free trial",
"techStackSignals": "Uses Salesforce, HubSpot integrations",
"trustSignals": ["Used by 500+ companies", "4.8/5 on G2"],
"painPointsHints": ["Manual data entry", "Lack of insights"],
"bestPersonalizationHook": "Recently launched new dashboard feature"
},
"scoring": {
"fitScore": 0.78,
"confidence": 0.85,
"reasons": [
"Clear business description",
"Target customer identified",
"Strong personalization angle"
],
"opportunities": [
"Recently launched new feature - good timing",
"Uses Salesforce - integration opportunity"
]
},
"messages": {
"coldEmail": [
{
"variant": 1,
"subject": "Quick idea for Example Corp's new dashboard",
"body": "Hi John,\n\nSaw you just launched a new dashboard feature...",
"cta": "Open to a 15-min call this week?"
}
],
"linkedinDm": [
{
"variant": 1,
"text": "Hey John, noticed Example Corp just launched..."
}
],
"whatsapp": [
{
"variant": 1,
"text": "Hi John! Saw your new dashboard launch. Quick idea for you..."
}
],
"subjectLines": [
"Quick idea for Example Corp",
"Noticed your new dashboard feature",
"Thought of you after seeing your launch"
],
"openingLines": [
"Saw you just launched a new dashboard feature",
"Noticed Example Corp serves mid-market B2B teams"
],
"ctaOptions": [
"Open to a quick call?",
"Worth a 15-min chat?",
"Can I share a quick idea?"
]
},
"metadata": {
"timestamp": "2025-12-23T05:00:00.000Z",
"model": "gpt-4o-mini",
"runId": "abc123"
}
}

Advanced configuration options

Data Collection

  • maxPagesPerSite: How many pages to scrape per website (default: 5)
  • includePaths: Specific paths to prioritize (e.g., /pricing, /about)
  • excludePatterns: Patterns to skip (e.g., privacy, terms)
  • timeoutMs: Timeout per page in milliseconds (default: 45000)

Message Generation

  • tone: professional, friendly, or direct
  • variants: Number of message variants to generate (default: 3)
  • maxWords: Word limits for each channel
  • compliance: Automatic filtering of spammy words and guarantees

Delivery

  • onlySendIfScoreGte: Minimum fit score to generate messages (default: 0.55)
  • webhookUrl: Optional webhook to send results to your CRM

OpenAI API key setup

Step 1: Get an API key

  1. Go to platform.openai.com/api-keys
  2. Sign up or log in to your OpenAI account
  3. Click "Create new secret key"
  4. Copy the key (starts with sk-)

Step 2: Add to Actor input

  1. Paste the key in the "OpenAI API Key" field
  2. Choose your model (we recommend gpt-4o-mini)
  3. The key is stored securely and never logged

Step 3: Monitor usage

  • Check your OpenAI usage at platform.openai.com/usage
  • Set up billing alerts to avoid surprises
  • Typical cost: $0.01-0.04 per lead with gpt-4o-mini

Best practices for cold outreach personalization

Tips for best results

  1. Provide context about each lead - Add notes field with any information you have (e.g., "Met at conference", "Uses Salesforce")
  2. Set realistic fit score thresholds - Start with 0.5, then adjust based on results
  3. Use specific offers - "We help B2B SaaS companies reduce churn by 30%" works better than "We help companies grow"
  4. Include social proof - Add 2-3 specific proof points ("Helped 50+ companies", "Average 3x ROI")
  5. Limit pages scraped - 5 pages per site is usually enough for good personalization
  6. Test message variants - Use the 3 variants for A/B testing to find what works
  7. Review before sending - Always review AI-generated messages before sending

Compliance and best practices

What the Actor does:

  • Automatically removes spammy words ("free", "guarantee", "limited time")
  • No guarantees or medical claims in generated messages
  • References only factual information found on their website
  • Follows email deliverability best practices
  • Respects robots.txt and rate limits

What you should NOT do:

  • Send messages without reviewing them first
  • Use the Actor to scrape personal data (emails, phone numbers)
  • Send unsolicited messages in jurisdictions where it's illegal
  • Make false claims about your product or service

Integration with CRM and outreach tools

Webhook integration

Send results directly to your CRM or outreach tool using webhooks:

{
"delivery": {
"webhookUrl": "https://hooks.zapier.com/hooks/catch/123456/abcdef/",
"onlySendIfScoreGte": 0.6
}
}

Zapier integration

Connect to 5,000+ apps using Zapier:

  • HubSpot: Create contacts and add to sequences
  • Salesforce: Create leads with personalized notes
  • Pipedrive: Add deals with custom fields
  • Google Sheets: Log all leads and messages
  • Slack: Get notifications for high-fit leads

API integration

Fetch results programmatically using Apify API:

const ApifyClient = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
// Get dataset items
const { items } = await client.dataset('YOUR_DATASET_ID').listItems();
// Process results
items.forEach(lead => {
console.log(`${lead.companyName}: Fit score ${lead.scoring.fitScore}`);
console.log(`Email: ${lead.messages.coldEmail[0].body}`);
});

Export formats

Download results in multiple formats:

  • JSON: For programmatic processing
  • CSV: For Excel and Google Sheets
  • Excel: For business users
  • HTML: For easy viewing

FAQ and troubleshooting

Yes, when done ethically. This Actor:

  • Only extracts publicly available information
  • Does not scrape personal data (emails, phone numbers)
  • Respects robots.txt and rate limits
  • References factual information from public websites

However, you are responsible for how you use the generated messages. Make sure you:

  • Comply with GDPR, CAN-SPAM, and other regulations
  • Have a legitimate business reason for outreach
  • Include unsubscribe options in emails
  • Don't send unsolicited messages where prohibited

Legal disclaimer: This Actor extracts only publicly available business information. You are responsible for ensuring your outreach complies with applicable laws and regulations. When in doubt, consult your legal team.

How accurate are the AI-generated messages?

The Actor uses GPT-4 for fact extraction and message generation, which is highly accurate but not perfect. We recommend:

  • Always review messages before sending
  • Verify facts mentioned in messages
  • Test with a small batch first (10-20 leads)
  • Adjust tone and personalization level based on results

Typical accuracy: 85-95% for fact extraction, 90-95% for message quality.

What if a website blocks scraping?

The Actor uses:

  • Playwright for JavaScript rendering
  • Rotating proxies to avoid blocks
  • Rate limiting to be respectful
  • Retry logic for failed requests

If a website consistently blocks scraping, the Actor will:

  • Skip that lead and continue with others
  • Log the error in the dataset
  • Return partial results if some pages were scraped

Can I use this for LinkedIn or email scraping?

No. This Actor does not scrape:

  • Email addresses
  • Phone numbers
  • LinkedIn profiles (coming in v2)
  • Personal data

It only scrapes publicly available business information from company websites.

How do I improve response rates?

  1. Use high fit score threshold - Only message leads with 0.6+ fit score
  2. Test message variants - A/B test the 3 variants to find what works
  3. Personalize the offer - Make your offer specific to their industry/pain points
  4. Follow up - Send 3-5 follow-ups over 2 weeks
  5. Multi-channel approach - Use email + LinkedIn for best results
  6. Time your outreach - Send Tuesday-Thursday, 10am-2pm in their timezone

What OpenAI model should I use?

ModelSpeedCostQualityBest For
gpt-4o-miniFast$0.01-0.02/leadGoodHigh-volume outreach (100+ leads)
gpt-4oMedium$0.05-0.10/leadExcellentHigh-value leads, complex personalization
gpt-4-turboMedium$0.03-0.06/leadVery GoodBalance of cost and quality
gpt-3.5-turboVery Fast$0.005-0.01/leadDecentBudget-conscious, simple personalization

Recommendation: Start with gpt-4o-mini for 90% of leads. Use gpt-4o for high-value prospects.

Can I customize the message templates?

Currently, the Actor uses built-in templates optimized for response rates. Custom templates are coming in v2.

For now, you can:

  • Adjust tone (professional, friendly, direct)
  • Set personalization level (low, medium, high)
  • Configure max words for each channel
  • Customize CTA in business settings

How do I handle API rate limits?

OpenAI has rate limits based on your account tier:

  • Free tier: 3 requests/minute, 200 requests/day
  • Paid tier: 60 requests/minute, 10,000 requests/day

The Actor automatically:

  • Respects rate limits with exponential backoff
  • Retries failed requests
  • Logs rate limit errors

For high-volume processing (100+ leads), we recommend:

  • Use a paid OpenAI account
  • Process leads in batches of 50
  • Use gpt-4o-mini for faster processing

Where can I get help?

Known limitations

  • Language: Currently English only (multi-language coming in v2)
  • Data sources: Only website scraping (LinkedIn/Google Maps coming in v2)
  • Custom templates: Built-in templates only (customization coming in v2)
  • Rate limits: Limited by OpenAI API rate limits
  • Accuracy: AI-generated content should always be reviewed before sending

Check out these related Actors for your sales automation workflow:

License

Apache-2.0

Built with