The Problem
Cold outreach automation hits hard filters. Generic blasts get filtered. Real personalization requires per-prospect live data that contact databases miss.
The Scavio Solution
n8n workflow: Cron → Split In Batches → Scavio HTTP call (recent news + Reddit signal) → LLM personalize → email send. Per-prospect cost ~$0.02 + LLM tokens.
Before
Generic templates with `{{first_name}}` only; ~1.5% reply rate.
After
Per-prospect personalized openers tied to one verifiable recent fact; 3-5% reply rate (real-world variance).
Who It Is For
B2B sales teams, SDR-heavy startups, agencies running cold-email-as-a-service, n8n-native outbound builders.
Key Benefits
- Per-prospect live signal (news, Reddit, hiring)
- n8n native HTTP nodes — no plugin
- Sub-$0.05 per personalized prospect
- Ties to any outreach tool (Smartlead, Instantly, Lemlist)
- Reply rate lift typically 2-3x vs generic
Python Example
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def enrich(p):
s = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': f"{p['company']} 2026 hiring"}).json()
r = requests.post('https://api.scavio.dev/api/v1/reddit/search', headers=H, json={'query': p['company']}).json()
return {'serp': s.get('organic_results', [])[:3], 'reddit': r.get('posts', [])[:3]}JavaScript Example
const H = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function enrich(p) {
const [s, r] = await Promise.all([
fetch('https://api.scavio.dev/api/v1/search', { method:'POST', headers:H, body: JSON.stringify({ query: `${p.company} 2026 hiring` }) }).then(r => r.json()),
fetch('https://api.scavio.dev/api/v1/reddit/search', { method:'POST', headers:H, body: JSON.stringify({ query: p.company }) }).then(r => r.json())
]);
return { s, r };
}Platforms Used
Web search with knowledge graph, PAA, and AI overviews
Community, posts & threaded comments from any subreddit