ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment enrichir les prospects d'emails à froid avec Google Search
Tutoriel

Comment enrichir les prospects d'emails à froid avec Google Search

Enrichissez les CSV de prospects avec des signaux d'entreprises provenant de Google Search : levées de fonds, stack tech, signaux de recrutement et actualités. Pipeline d'enrichissement Python.

Obtenez une clé API gratuiteDocumentation API

Enrichissez les prospects d'emails à froid en chargeant un CSV de domaines cibles, en recherchant sur Google l'activité récente de chaque entreprise, en extrayant des signaux comme les levées de fonds, les mentions de stack tech, les pages de recrutement et les couvertures médiatiques, en notant chaque prospect selon la force des signaux, et en exportant un CSV enrichi prêt pour la prospection. Les emails à froid génériques sont ignorés. Les emails enrichis qui font référence à une récente levée de fonds ou au choix de stack tech d'une entreprise convertissent 3 à 5 fois mieux. Ce pipeline automatise l'étape de recherche que les commerciaux font manuellement.

Prérequis

  • Python 3.8+ installé
  • bibliothèque requests installée
  • Une clé API Scavio depuis scavio.dev
  • Un fichier CSV avec les domaines ou noms d'entreprises des prospects

Parcours

Étape 1: Charger le CSV des prospects

Lire la liste des prospects et la préparer pour l'enrichissement.

Python
import os, requests, csv, json

API_KEY = os.environ['SCAVIO_API_KEY']

def load_prospects(csv_path: str) -> list:
    prospects = []
    with open(csv_path) as f:
        reader = csv.DictReader(f)
        for row in reader:
            prospects.append({
                'company': row.get('company', row.get('name', '')),
                'domain': row.get('domain', row.get('website', '')),
                'email': row.get('email', ''),
            })
    return prospects

# Demo data
prospects = [
    {'company': 'Acme Corp', 'domain': 'acme.com', 'email': '[email protected]'},
    {'company': 'Beta Labs', 'domain': 'betalabs.io', 'email': '[email protected]'},
]
print(f'Loaded {len(prospects)} prospects')

Étape 2: Rechercher des signaux pour chaque domaine

Effectuer des recherches Google ciblées pour chaque prospect afin de trouver des signaux de financement, recrutement, stack tech et actualités.

Python
SIGNAL_QUERIES = [
    ('{company} funding round 2026', 'funding'),
    ('{company} hiring engineers 2026', 'hiring'),
    ('{company} tech stack', 'tech_stack'),
    ('{company} news 2026', 'news'),
]

def search_signals(company: str) -> dict:
    signals = {}
    for query_template, signal_type in SIGNAL_QUERIES:
        query = query_template.format(company=company)
        resp = requests.post('https://api.scavio.dev/api/v1/search',
            headers={'x-api-key': API_KEY},
            json={'platform': 'google', 'query': query}, timeout=10)
        results = resp.json().get('organic_results', [])[:3]
        signals[signal_type] = [{
            'title': r.get('title', ''),
            'snippet': r.get('snippet', ''),
            'url': r.get('link', ''),
        } for r in results]
    return signals

signals = search_signals('Vercel')
for sig_type, results in signals.items():
    print(f'{sig_type}: {len(results)} results')

Étape 3: Analyser et extraire les signaux clés

Extraire des signaux significatifs des résultats de recherche : montants des levées de fonds, mentions tech et indicateurs de recrutement.

Python
import re

def parse_signals(raw_signals: dict) -> dict:
    parsed = {'funding': '', 'hiring': False, 'tech_stack': [], 'recent_news': ''}
    # Funding
    for r in raw_signals.get('funding', []):
        text = f"{r['title']} {r['snippet']}"
        amounts = re.findall(r'\$[\d.]+[MBK]', text)
        if amounts:
            parsed['funding'] = amounts[0]
            break
    # Hiring
    for r in raw_signals.get('hiring', []):
        text = f"{r['title']} {r['snippet']}".lower()
        if any(w in text for w in ['hiring', 'open position', 'join our team', 'careers']):
            parsed['hiring'] = True
            break
    # Tech stack
    tech_keywords = ['react', 'python', 'node', 'aws', 'gcp', 'kubernetes', 'typescript', 'go', 'rust']
    for r in raw_signals.get('tech_stack', []):
        text = f"{r['title']} {r['snippet']}".lower()
        for tech in tech_keywords:
            if tech in text and tech not in parsed['tech_stack']:
                parsed['tech_stack'].append(tech)
    # News
    if raw_signals.get('news'):
        parsed['recent_news'] = raw_signals['news'][0].get('title', '')
    return parsed

parsed = parse_signals(signals)
print(json.dumps(parsed, indent=2))

Étape 4: Noter chaque prospect

Attribuer un score de signaux à chaque prospect en fonction de la richesse des données trouvées.

Python
def score_prospect(parsed_signals: dict) -> int:
    score = 0
    if parsed_signals.get('funding'):
        score += 3  # Strong buy signal
    if parsed_signals.get('hiring'):
        score += 2  # Growth signal
    if len(parsed_signals.get('tech_stack', [])) >= 2:
        score += 2  # Tech-aware prospect
    if parsed_signals.get('recent_news'):
        score += 1  # Active company
    return score

def enrich_prospects(prospects: list) -> list:
    enriched = []
    for p in prospects:
        signals = search_signals(p['company'])
        parsed = parse_signals(signals)
        score = score_prospect(parsed)
        enriched.append({**p, **parsed, 'score': score})
        print(f"{p['company']}: score={score}")
    enriched.sort(key=lambda x: x['score'], reverse=True)
    return enriched

enriched = enrich_prospects(prospects)
for e in enriched:
    print(f"  {e['company']}: score={e['score']}, funding={e.get('funding', 'N/A')}")

Étape 5: Exporter le CSV enrichi

Écrire les données enrichies des prospects dans un nouveau CSV prêt à être importé dans votre outil de prospection.

Python
def export_enriched(enriched: list, output_path: str = 'enriched_prospects.csv'):
    if not enriched:
        print('No prospects to export')
        return
    fieldnames = ['company', 'domain', 'email', 'score', 'funding', 'hiring', 'tech_stack', 'recent_news']
    with open(output_path, 'w', newline='') as f:
        writer = csv.DictWriter(f, fieldnames=fieldnames, extrasaction='ignore')
        writer.writeheader()
        for e in enriched:
            row = {**e}
            row['tech_stack'] = ', '.join(e.get('tech_stack', []))
            writer.writerow(row)
    print(f'Exported {len(enriched)} enriched prospects to {output_path}')

export_enriched(enriched)

Exemple Python

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def enrich(company):
    signals = {}
    for q in [f'{company} funding 2026', f'{company} tech stack']:
        data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
            json={'platform': 'google', 'query': q}).json()
        signals[q] = [r.get('snippet', '')[:100] for r in data.get('organic_results', [])[:2]]
    return signals

print(enrich('Vercel'))

Exemple JavaScript

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function enrich(company) {
  const signals = {};
  for (const q of [`${company} funding 2026`, `${company} tech stack`]) {
    const r = await fetch('https://api.scavio.dev/api/v1/search', {
      method: 'POST', headers: H, body: JSON.stringify({platform: 'google', query: q})
    });
    signals[q] = ((await r.json()).organic_results || []).slice(0, 2).map(r => r.snippet?.slice(0, 100));
  }
  return signals;
}
enrich('Vercel').then(console.log);

Sortie attendue

JSON
An enriched prospect CSV with funding signals, hiring indicators, tech stack mentions, and recent news for each company, scored and sorted by signal strength.

Tutoriels associés

  • Comment construire un pipeline de prospection pour agence
  • Comment créer un workflow d'enrichissement de leads MCP

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.

Python 3.8+ installé. bibliothèque requests installée. Une clé API Scavio depuis scavio.dev. Un fichier CSV avec les domaines ou noms d'entreprises des prospects. 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

Meilleure API de recherche pour l'enrichissement des emails à froid en 2026

Read more
Best Of

Meilleures API de recherche après les changements du mode IA de Google I/O 2026

Read more
Use Case

Enrichissement de prospects par email froid

Read more
Use Case

Pipeline d'emailing à froid pour petites agences avec enrichissement par recherche

Read more
Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more
Solution

Enrichir les listes d'emails à froid avec les données d'audit SERP

Read more

Commencer

Enrichissez les CSV de prospects avec des signaux d'entreprises provenant de Google Search : levées de fonds, stack tech, signaux de recrutement et actualités. Pipeline d'enrichissement Python.

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é