Scrape profiles. Psychologically profile them — Freud, Jung, ToneEngine, Sales 101. Craft DMs that hit their archetype, mirror their voice, and speak to what they unconsciously want.
View EndpointsFull scrape-to-outreach pipeline in one API
From scrape to send in 3 API calls
// Scrape profile + posts in one shot const res = await fetch('http://localhost:3005/scrape/full', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://linkedin.com/in/target-person', cookies: 'li_at=YOUR_SESSION_COOKIE', post_count: 15, save: true }) }); const { prospect_id, profile, posts } = await res.json(); // prospect_id: "a1b2c3..." — saved for research + outreach
// AI-analyze the prospect const res = await fetch(`http://localhost:3005/research/${prospect_id}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ provider: 'anthropic' }) }); const { research } = await res.json(); // research.interests → ["AI tooling", "remote teams", "product-led growth"] // research.pain_points → ["scaling outbound without hiring SDRs"] // research.hooks → [{ reference: "their post about cold email fatigue" }] // research.best_approach → "lead with a specific insight about their PLG strategy"
// Deep psychological profile — Freud + Jung + Tone + Sales 101 const res = await fetch(`http://localhost:3005/psyche/${prospect_id}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ provider: 'anthropic' }) }); const { psyche } = await res.json(); // psyche.freud.id_desire → "Recognition as a visionary builder" // psyche.freud.defense_mechanisms → ["intellectualization", "sublimation"] // psyche.jung.dominant_archetype → "Creator" // psyche.jung.trigger_phrase → "Build something that didn't exist before" // psyche.tone.mimicry_rules → { avg_sentence_length: "short", emoji: "none" } // psyche.sales101.methodology_fit → "Challenger" // psyche.sales101.gap → { current: "manual outbound", desired: "automated" } // psyche.sniper_brief.emotional_entry_point → "validate their builder identity"
// SNIPER MODE — research + psyche + DM in one call const res = await fetch(`http://localhost:3005/sniper/${prospect_id}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ context: { offer: 'AI-powered sales intelligence platform', company: 'FallScout', why: 'They posted about outbound scaling challenges', goal: 'Start a conversation' }, tone: 'casual' }) }); const data = await res.json(); // data.mode → "sniper" // data.archetype → "Creator" (their Jungian type) // data.tone_match → "conversational" (their voice register) // data.sales_method → "Challenger" (optimal framework) // data.options[0].approach → "archetype-trigger" // data.options[0].archetype_play → "activating Creator: 'build something new'" // data.options[0].freud_lever → "ego validation of builder identity" // data.options[0].message → the actual DM, written in THEIR voice
// Full pipeline: scrape → psyche → sniper → export to FallLead async function fullPipeline(linkedinUrl, cookies, context) { // 1. Scrape const { prospect_id } = await api('/scrape/full', { url: linkedinUrl, cookies, post_count: 15, save: true }); // 2. Research const { research } = await api(`/research/${prospect_id}`, { provider: 'anthropic' }); // 3. Generate DMs const { options } = await api(`/outreach/dm/${prospect_id}`, { context, tone: 'professional' }); // 4. Export to FallLead const { leads } = await api('/export/falllead', { prospect_ids: [prospect_id] }); return { prospect_id, research, dms: options, lead: leads[0] }; }
// Warm-up: engage with their post BEFORE sending a DM const res = await fetch('http://localhost:3005/outreach/comment', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ post_content: "Just shipped our v2 API and the feedback has been...", prospect_id: prospect_id, context: { offer: 'developer tools', expertise: 'API design and DX optimization' } }) }); const { options } = await res.json(); // 3 comment options that add genuine value // Post comment → wait 2 days → then DM (they already know your name)
Intelligence-driven outreach that doesn't sound like a template
From stranger to conversation in three moves
Running in under 2 minutes