ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment réaliser un audit SERP pour la personnalisation des e-mails froids
Tutoriel

Comment réaliser un audit SERP pour la personnalisation des e-mails froids

Auditez la présence en ligne d'un prospect pour rédiger des e-mails froids hyper-personnalisés. Trouvez leurs pages principales, classements et lacunes de contenu automatiquement.

Obtenez une clé API gratuiteDocumentation API

Les e-mails froids génériques sont ignorés. Les e-mails personnalisés qui font référence à la présence en ligne réelle d'un prospect obtiennent des réponses. Ce tutoriel construit un pipeline d'audit SERP qui recherche l'entreprise de chaque prospect, trouve leurs pages les mieux classées, identifie les lacunes de contenu et génère des lignes d'ouverture d'e-mail personnalisées. Chaque audit coûte 2 à 3 requêtes de recherche ($0,010-0,015) et produit des informations exploitables pour votre e-mail.

Prérequis

  • Python 3.9+ installé
  • bibliothèque requests installée
  • Une clé API Scavio depuis scavio.dev
  • Une liste de noms d'entreprises prospects ou de domaines

Parcours

Étape 1: Définissez votre liste de prospects

Chargez les entreprises prospects à auditer. Chacune reçoit une mini session de recherche SERP.

Python
prospects = [
    {'name': 'Acme SaaS', 'domain': 'acmesaas.com', 'contact': '[email protected]'},
    {'name': 'TechFlow', 'domain': 'techflow.io', 'contact': '[email protected]'},
    {'name': 'DataSync Pro', 'domain': 'datasyncpro.com', 'contact': '[email protected]'},
]

queries_per_prospect = 3  # brand, competitors, content
total_cost = len(prospects) * queries_per_prospect * 0.005
print(f'{len(prospects)} prospects x {queries_per_prospect} queries each')
print(f'Estimated cost: ${total_cost:.3f}')

Étape 2: Lancez l'audit SERP pour chaque prospect

Recherchez le nom de l'entreprise, ses concurrents et son contenu pour établir un profil.

Python
import requests, os, time

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

def search(query: str) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us', 'num_results': 10})
    return resp.json().get('organic_results', [])

def audit_prospect(prospect: dict) -> dict:
    name = prospect['name']
    domain = prospect['domain']
    # Query 1: Brand presence
    brand_results = search(f'{name} reviews')
    brand_mentions = len([r for r in brand_results if domain in r.get('link', '')])
    # Query 2: Competitor landscape
    competitor_results = search(f'{name} alternatives competitors 2026')
    competitors = [r['title'].split(' - ')[0] for r in competitor_results[:3]
                   if domain not in r.get('link', '')]
    # Query 3: Content presence
    content_results = search(f'site:{domain}')
    top_pages = [r['title'] for r in content_results[:5]]
    time.sleep(0.3)
    return {
        'prospect': name,
        'brand_mentions_in_top10': brand_mentions,
        'competitors': competitors[:3],
        'top_pages': top_pages,
        'has_blog': any('blog' in r.get('link', '').lower() for r in content_results)
    }

# Audit first prospect
audit = audit_prospect(prospects[0])
for key, val in audit.items():
    print(f'  {key}: {val}')

Étape 3: Générez des lignes d'ouverture d'e-mail personnalisées

Utilisez les données d'audit pour rédiger une ligne d'ouverture personnalisée pour chaque prospect. Référencez leur contenu réel et leur position concurrentielle.

Python
def generate_opening(audit: dict) -> str:
    name = audit['prospect']
    templates = []
    if audit['has_blog']:
        page = audit['top_pages'][0] if audit['top_pages'] else ''
        templates.append(
            f'I noticed {name} has been publishing content like "{page[:40]}" -- '
            f'curious if you are tracking how that ranks against {audit["competitors"][0] if audit["competitors"] else "competitors"}.'
        )
    if audit['brand_mentions_in_top10'] < 3:
        templates.append(
            f'{name} only appears {audit["brand_mentions_in_top10"]} times in the top 10 '
            f'for brand searches. That is a quick win we could help with.'
        )
    if audit['competitors']:
        templates.append(
            f'Noticed {audit["competitors"][0]} is showing up in "{name} alternatives" '
            f'searches -- are you monitoring that?'
        )
    return templates[0] if templates else f'Researched {name} and found some ranking opportunities.'

# Generate for all prospects
for p in prospects:
    audit = audit_prospect(p)
    opening = generate_opening(audit)
    print(f'To: {p["contact"]}')
    print(f'Opening: {opening}')
    print()

Exemple Python

Python
import requests, os, time

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

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

def audit(name, domain):
    brand = search(f'{name} reviews')
    competitors = search(f'{name} alternatives 2026')
    content = search(f'site:{domain}')
    return {
        'mentions': len([r for r in brand if domain in r.get('link', '')]),
        'competitors': [r['title'].split(' - ')[0] for r in competitors[:3]],
        'top_pages': [r['title'] for r in content[:3]]
    }

result = audit('Acme SaaS', 'acmesaas.com')
print(f'Brand mentions: {result["mentions"]}')
print(f'Competitors: {", ".join(result["competitors"])}')

Exemple JavaScript

JavaScript
const SCAVIO_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': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, country_code: 'us', num_results: 10 })
  });
  return (await resp.json()).organic_results || [];
}

async function audit(name, domain) {
  const brand = await search(`${name} reviews`);
  const competitors = await search(`${name} alternatives 2026`);
  return {
    mentions: brand.filter(r => r.link?.includes(domain)).length,
    competitors: competitors.slice(0, 3).map(r => r.title.split(' - ')[0])
  };
}

audit('Acme SaaS', 'acmesaas.com').then(r => {
  console.log(`Mentions: ${r.mentions}`);
  console.log(`Competitors: ${r.competitors.join(', ')}`);
});

Sortie attendue

JSON
3 prospects x 3 queries each
Estimated cost: $0.045

  prospect: Acme SaaS
  brand_mentions_in_top10: 2
  competitors: ['RivalCRM', 'BetterSaaS', 'CloudTools']
  top_pages: ['Acme SaaS - All-in-One CRM', 'Acme Blog: Sales Tips']
  has_blog: True

To: jan[email protected]
Opening: I noticed Acme SaaS has been publishing content like "Acme Blog: Sales Tips" -- curious if you are tracking how that ranks against RivalCRM.

Tutoriels associés

  • Comment construire un pipeline de leads locaux avec l'enrichissement SERP
  • Comment construire un pipeline de cold emailing avec Google Maps
  • Comment trouver des entreprises sans site web à grande échelle

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.9+ installé. bibliothèque requests installée. Une clé API Scavio depuis scavio.dev. Une liste de noms d'entreprises prospects ou de domaines. 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

Workflow

Campagne d'emails froids avec personnalisation basée sur l'audit SERP

Read more
Glossary

Personnalisation des e-mails froids basée sur SERP

Read more
Solution

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

Read more
Use Case

Prospection par email froid avec audit one-page

Read more
Best Of

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

Read more
Best Of

Meilleure API de recherche pour la personnalisation de prospection en 2026

Read more

Commencer

Auditez la présence en ligne d'un prospect pour rédiger des e-mails froids hyper-personnalisés. Trouvez leurs pages principales, classements et lacunes de contenu automatiquement.

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é