ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un scoring de leads n8n avec les données de l'API de recherche
Tutoriel

Comment construire un scoring de leads n8n avec les données de l'API de recherche

Construisez un workflow n8n qui note les leads entrants à l'aide de signaux de recherche web. Qualification automatisée basée sur les données de l'entreprise, le financement et le stack technologique.

Obtenez une clé API gratuiteDocumentation API

Le score des leads basé sur les signaux de recherche web identifie les leads qui méritent une attention immédiate. Au lieu de noter uniquement sur la base des données de formulaire (intitulé du poste, taille de l'entreprise), vous pouvez enrichir chaque lead avec des données de recherche en direct sur leur entreprise -- statut de financement, stack technologique, activité de recrutement et signaux de croissance -- puis attribuer un score en fonction de ce contexte. Ce tutoriel construit un workflow n8n qui reçoit des leads via webhook, les enrichit avec les données de l'API de recherche, calcule un score de qualification et achemine les leads à fort score vers votre équipe commerciale. Chaque enrichissement coûte 0,005-0,015 $ via Scavio.

Prérequis

  • Instance n8n en cours d'exécution (auto-hébergée ou cloud)
  • Une clé API Scavio depuis scavio.dev
  • Une URL de webhook pour recevoir des leads (ou déclenchement manuel pour les tests)
  • Slack ou email pour les notifications de leads

Parcours

Étape 1: Configurer le webhook de réception des leads

Créez un webhook n8n qui reçoit les nouveaux leads. Il peut se connecter à votre outil de formulaire, CRM ou tout système générant des leads.

JavaScript
// n8n Webhook node configuration:
// HTTP Method: POST
// Path: /score-lead
// Response Mode: Last Node
//
// Expected payload:
// {
//   "company": "Acme Corp",
//   "domain": "acme.com",
//   "contact_name": "John Doe",
//   "email": "[email protected]",
//   "job_title": "VP Engineering"
// }

// Test with curl:
// curl -X POST http://your-n8n:5678/webhook/score-lead \
//   -H 'Content-Type: application/json' \
//   -d '{"company": "Acme Corp", "domain": "acme.com"}'

Étape 2: Enrichir avec les données de recherche sur l'entreprise

Recherchez l'entreprise pour trouver des actualités récentes, financements et informations générales. Utilisez deux recherches ciblées pour une extraction maximale des signaux.

JSON
// HTTP Request node 1 - Company overview:
// POST https://api.scavio.dev/api/v1/search
// Headers: x-api-key: {{ $env.SCAVIO_API_KEY }}
// Body:
{
  "query": "{{ $json.company }} company overview funding",
  "country_code": "us"
}

// HTTP Request node 2 - Hiring signals:
// Body:
{
  "query": "{{ $json.company }} hiring OR jobs OR careers 2026",
  "country_code": "us"
}

// HTTP Request node 3 - Tech stack (optional, +1 credit):
// Body:
{
  "query": "site:{{ $json.domain }} technology OR stack OR platform",
  "country_code": "us"
}

Étape 3: Extraire les signaux de score des résultats de recherche

Analysez les résultats de recherche pour identifier les signaux de croissance, le statut de financement, la taille de l'entreprise et l'utilisation de la technologie. Chaque signal contribue au score du lead.

JavaScript
// n8n Code node - Extract and score signals:
const overview = $('HTTP Request - Overview').first().json;
const hiring = $('HTTP Request - Hiring').first().json;

const overviewText = (overview.organic_results || [])
  .map(r => `${r.title} ${r.snippet || ''}`).join(' ').toLowerCase();
const hiringText = (hiring.organic_results || [])
  .map(r => `${r.title} ${r.snippet || ''}`).join(' ').toLowerCase();

const signals = {
  hasFunding: /series [a-d]|raised|funding|venture/.test(overviewText),
  isHiring: (hiring.organic_results || []).length > 3,
  isSaaS: /saas|software|platform|cloud/.test(overviewText),
  hasGrowth: /growing|growth|expanding|scaling/.test(overviewText),
  seniorTitle: /vp|director|head|chief|cto|ceo/.test(
    ($input.first().json.job_title || '').toLowerCase()),
  hasWebsite: Boolean($input.first().json.domain),
};

return [{ json: { ...$input.first().json, signals } }];

Étape 4: Calculer le score composite du lead

Attribuez des points à chaque signal et calculez un score total. Acheminez les leads en fonction des seuils de score.

JavaScript
// n8n Code node - Calculate score:
const signals = $json.signals;
const weights = {
  hasFunding: 25,
  isHiring: 20,
  isSaaS: 15,
  hasGrowth: 15,
  seniorTitle: 15,
  hasWebsite: 10,
};

let score = 0;
const matchedSignals = [];
for (const [signal, points] of Object.entries(weights)) {
  if (signals[signal]) {
    score += points;
    matchedSignals.push(`${signal}: +${points}`);
  }
}

const tier = score >= 70 ? 'HOT' : score >= 40 ? 'WARM' : 'COLD';

return [{
  json: {
    ...$json,
    score,
    tier,
    matchedSignals,
    enrichmentCost: '$0.010'  // 2 search queries
  }
}];

Étape 5: Acheminer et notifier en fonction du score

Utilisez un nœud Switch n8n pour acheminer les leads par niveau. Les leads chauds vont directement dans Slack, les leads tièdes dans une file d'attente de révision, les leads froids dans un nurturing.

JavaScript
// Switch node on $json.tier:
// HOT -> Slack notification + CRM "Hot Lead" pipeline
// WARM -> CRM "Review" pipeline
// COLD -> CRM "Nurture" sequence

// Slack node for HOT leads:
// Channel: #sales-alerts
// Message:
// *HOT LEAD* (Score: {{ $json.score }}/100)
// Company: {{ $json.company }}
// Contact: {{ $json.contact_name }} ({{ $json.job_title }})
// Signals: {{ $json.matchedSignals.join(', ') }}
// Enrichment cost: {{ $json.enrichmentCost }}

// Cost summary:
// 2-3 search queries per lead = $0.010-0.015
// 100 leads/day = $1.00-1.50/day
// 3000 leads/month = $30-45/month ($30 plan covers it)

Exemple Python

Python
import os, requests, re

API_KEY = os.environ['SCAVIO_API_KEY']

def search(query):
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us'})
    return resp.json()

def score_lead(company, domain='', title=''):
    overview = search(f'{company} company funding')
    text = ' '.join(r.get('snippet', '') for r in overview.get('organic_results', [])).lower()
    score = 0
    if re.search(r'series [a-d]|raised|funding', text): score += 25
    if re.search(r'saas|software|platform', text): score += 15
    if re.search(r'growing|scaling', text): score += 15
    if re.search(r'vp|director|head|chief', title.lower()): score += 15
    if domain: score += 10
    tier = 'HOT' if score >= 70 else 'WARM' if score >= 40 else 'COLD'
    return {'company': company, 'score': score, 'tier': tier}

for company in ['Stripe', 'Local Bakery LLC']:
    result = score_lead(company)
    print(f'{result["company"]}: {result["score"]}/100 ({result["tier"]})')

Exemple JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;

async function search(query) {
  const resp = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, country_code: 'us' })
  });
  return resp.json();
}

async function scoreLead(company) {
  const data = await search(`${company} company funding`);
  const text = (data.organic_results || []).map(r => r.snippet || '').join(' ').toLowerCase();
  let score = 0;
  if (/series [a-d]|raised|funding/.test(text)) score += 25;
  if (/saas|software|platform/.test(text)) score += 15;
  if (/growing|scaling/.test(text)) score += 15;
  const tier = score >= 70 ? 'HOT' : score >= 40 ? 'WARM' : 'COLD';
  console.log(`${company}: ${score}/100 (${tier})`);
}

Promise.all(['Stripe', 'Local Bakery'].map(scoreLead));

Sortie attendue

JSON
Stripe: 55/100 (WARM)
  hasFunding: +25
  isSaaS: +15
  hasGrowth: +15

Local Bakery LLC: 0/100 (COLD)
  (no signals matched)

Cost: $0.010 per lead (2 searches)
100 leads/day = $1.00/day, $30/month

Tutoriels associés

  • Comment construire un pipeline d'extraction d'e-mails Google Maps avec n8n
  • Comment enrichir des leads avec une API de recherche en Python
  • Comment scraper les annuaires B2B avec n8n et une API de recherche

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Instance n8n en cours d'exécution (auto-hébergée ou cloud). Une clé API Scavio depuis scavio.dev. Une URL de webhook pour recevoir des leads (ou déclenchement manuel pour les tests). Slack ou email pour les notifications de leads. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleures API de recherche pour les workflows de scoring de leads avec n8n (2026)

Read more
Use Case

Workflow d'enrichissement de recherche n8n

Read more
Workflow

Scoring de leads via un workflow d'enrichissement par recherche

Read more
Best Of

Meilleures API d'enrichissement de leads n8n en 2026

Read more
Solution

Enrichissez les leads commerciaux avec des données de recherche au lieu d'Apollo.

Read more
Use Case

Scoring de leads n8n avec enrichissement par recherche

Read more

Commencer

Construisez un workflow n8n qui note les leads entrants à l'aide de signaux de recherche web. Qualification automatisée basée sur les données de l'entreprise, le financement et le stack technologique.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité