ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment scraper les données commerciales de Google Maps sans être bloqué
Tutoriel

Comment scraper les données commerciales de Google Maps sans être bloqué

Extrayez programmatiquement les listes d'entreprises Google Maps à l'aide de l'API Scavio. Obtenez les noms, adresses, notes, avis et numéros de téléphone dans un JSON structuré.

Obtenez une clé API gratuiteDocumentation API

Les données commerciales de Google Maps sont essentielles pour la génération de leads, les audits SEO locaux et les études de marché. Scraper Google Maps directement déclenche des protections anti-bot agressives, notamment des CAPTCHA, des bannissements d'IP et des défis JavaScript. L'API Scavio vous permet de rechercher des entreprises locales par requête et localisation, renvoyant un JSON structuré avec le nom, l'adresse, la note, le nombre d'avis, le numéro de téléphone et le site web. Ce tutoriel montre comment interroger les données Google Maps pour n'importe quelle catégorie d'entreprise et localisation, puis exporter les résultats pour la prospection ou l'analyse.

Prérequis

  • Python 3.8 ou supérieur
  • bibliothèque requests installée
  • Une clé API Scavio
  • Une catégorie d'entreprise cible et une localisation à rechercher

Parcours

Étape 1: Rechercher des entreprises locales

Envoyez une requête POST au point de terminaison Scavio avec une requête de type Google Maps incluant le type d'entreprise et la localisation. Le champ local_results contient des listes d'entreprises structurées.

Python
import os
import requests

API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
ENDPOINT = "https://api.scavio.dev/api/v1/search"

def search_maps(query: str, location: str) -> list[dict]:
    response = requests.post(
        ENDPOINT,
        headers={"x-api-key": API_KEY},
        json={"query": f"{query} in {location}", "country_code": "us"}
    )
    response.raise_for_status()
    return response.json().get("local_results", [])

Étape 2: Extraire les détails de l'entreprise

Analysez chaque résultat local pour obtenir le nom, l'adresse, le téléphone, la note, le nombre d'avis et l'URL du site web.

Python
def extract_business(result: dict) -> dict:
    return {
        "name": result.get("title"),
        "address": result.get("address"),
        "phone": result.get("phone"),
        "rating": result.get("rating"),
        "reviews": result.get("reviews"),
        "website": result.get("website"),
    }

Étape 3: Filtrer par note minimale

Conservez uniquement les entreprises dépassant un seuil de note pour des listes de leads de qualité.

Python
def filter_by_rating(businesses: list[dict], min_rating: float = 4.0) -> list[dict]:
    return [
        b for b in businesses
        if b.get("rating") and float(b["rating"]) >= min_rating
    ]

Étape 4: Exporter vers CSV

Écrivez la liste filtrée d'entreprises dans un fichier CSV pour une utilisation dans les importations CRM ou les outils de prospection.

Python
import csv

def export_csv(businesses: list[dict], filename: str = "leads.csv") -> None:
    with open(filename, "w", newline="") as f:
        writer = csv.DictWriter(f, fieldnames=["name", "address", "phone", "rating", "reviews", "website"])
        writer.writeheader()
        writer.writerows(businesses)
    print(f"Exported {len(businesses)} businesses to {filename}")

Exemple Python

Python
import os
import csv
import requests

API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
ENDPOINT = "https://api.scavio.dev/api/v1/search"

def search_maps(query: str, location: str) -> list[dict]:
    r = requests.post(ENDPOINT, headers={"x-api-key": API_KEY},
                      json={"query": f"{query} in {location}", "country_code": "us"})
    r.raise_for_status()
    return r.json().get("local_results", [])

def extract(result: dict) -> dict:
    return {
        "name": result.get("title"),
        "address": result.get("address"),
        "phone": result.get("phone"),
        "rating": result.get("rating"),
        "reviews": result.get("reviews"),
        "website": result.get("website"),
    }

if __name__ == "__main__":
    results = search_maps("dentists", "San Francisco, CA")
    businesses = [extract(r) for r in results]
    high_rated = [b for b in businesses if b["rating"] and float(b["rating"]) >= 4.5]
    with open("leads.csv", "w", newline="") as f:
        w = csv.DictWriter(f, fieldnames=list(high_rated[0].keys()))
        w.writeheader()
        w.writerows(high_rated)
    print(f"Exported {len(high_rated)} leads")

Exemple JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || "your_scavio_api_key";
const ENDPOINT = "https://api.scavio.dev/api/v1/search";
const fs = require("fs");

async function searchMaps(query, location) {
  const res = await fetch(ENDPOINT, {
    method: "POST",
    headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ query: `${query} in ${location}`, country_code: "us" })
  });
  const data = await res.json();
  return (data.local_results || []).map(r => ({
    name: r.title, address: r.address, phone: r.phone,
    rating: r.rating, reviews: r.reviews, website: r.website
  }));
}

async function main() {
  const businesses = await searchMaps("dentists", "San Francisco, CA");
  const filtered = businesses.filter(b => b.rating && parseFloat(b.rating) >= 4.5);
  const header = "name,address,phone,rating,reviews,website";
  const rows = filtered.map(b => Object.values(b).join(","));
  fs.writeFileSync("leads.csv", [header, ...rows].join("\n"));
  console.log(`Exported ${filtered.length} leads`);
}
main().catch(console.error);

Sortie attendue

JSON
{
  "local_results": [
    {
      "title": "Pacific Heights Dental",
      "address": "2100 Webster St, San Francisco, CA 94115",
      "phone": "(415) 555-0123",
      "rating": "4.9",
      "reviews": 342,
      "website": "https://pacificheightsdental.com",
      "hours": "Open until 5:00 PM"
    }
  ]
}

Tutoriels associés

  • Comment récupérer les résultats de recherche Google en Python
  • Comment construire un analyseur SEO local avec les données de l'API Google Maps

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 ou supérieur. bibliothèque requests installée. Une clé API Scavio. Une catégorie d'entreprise cible et une localisation à rechercher. 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 données commerciales Google Maps (Mai 2026)

Read more
Best Of

Meilleure API Google Maps pour l'extraction de leads en 2026

Read more
Solution

Enrichissez vos campagnes d'e-mails froids avec les données commerciales de Google Maps

Read more
Solution

Obtenez des données d'entreprises locales sans scraper Google Maps

Read more
Glossary

Extraction de leads Google Maps

Read more
Use Case

Enrichissement des données commerciales de Google Maps

Read more

Commencer

Extrayez programmatiquement les listes d'entreprises Google Maps à l'aide de l'API Scavio. Obtenez les noms, adresses, notes, avis et numéros de téléphone dans un JSON structuré.

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é