Scraper d’avis Google Maps

Un scraper d’avis Google Maps lit les avis publics d’un identifiant d’entreprise : texte, note, date, auteur et réponse du propriétaire, jusqu’à 100 par page. Exportez cette page ou lisez-la via l’API.

Avant de lancer · La recherche en direct nécessite une source de données configurée. Les exemples sont identifiés. Les abonnements payants ne sont pas encore disponibles.

Qu’est-ce qu’un scraper d’avis Google Maps ?

Un scraper d’avis Google Maps part d’un identifiant d’entreprise et lit ses avis publics : texte, note, date, auteur et réponse du propriétaire, jusqu’à 100 avis par page. Il ne recherche pas par catégorie. Exportez cette page, ou demandez la suivante avec son propre budget.

Champs de chaque avis

Les champs renvoyés par le scraper d’avis Google Maps varient d’un avis à l’autre. Un champ n’apparaît que lorsque la source de données le renvoie, et un champ vide ne prouve pas que l’information n’existe pas.

Comment exporter les avis Google Maps

  1. Choisissez l’entreprise

    Lancez une recherche dans « Explorer les entreprises », ouvrez une entreprise et choisissez « Collection d'avis » sous « Préparer une tâche de suivi ». Vous pouvez aussi choisir « Collection d'avis » et coller un identifiant d’entreprise.

  2. Paramétrez la page, puis lancez

    Choisissez le « Tri des avis », un « Filtre textuel des avis » facultatif et jusqu’à 100 avis. Vérifiez le nombre maximal d’unités, puis lancez.

  3. Récupérez d’autres pages et exportez

    Ouvrez « Pages de résultats » pour récupérer les pages suivantes une par une, chacune avec son propre budget. Téléchargez en CSV, Excel, JSON ou JSONL, ou regroupez les pages dans un seul export de la chaîne complète.

Pour collecter les avis de plusieurs entreprises, sélectionnez-les dans « Explorer les entreprises » et choisissez « Collecter les avis de la sélection dans Recherche groupée ». Chaque entreprise devient une tâche sous un budget total unique.

API du scraper d’avis Google Maps

Créez une tâche d’avis avec un identifiant d’entreprise et un budget explicite en unités, puis lisez les avis page par page. La lecture des avis stockés ne lance jamais de nouvelle recherche.

Dans un client MCP, utilisez estimate_job, puis create_job avec une idempotency_key stable et max_units, et lisez avec get_job_results. Pour la page suivante, preview_provider_continuation renvoie la tâche exacte à autoriser.

curl -X POST https://mapsscraper.dev/api/v1/jobs \
  -H "Authorization: Bearer $MAPSSCRAPER_API_KEY" \
  -H "Idempotency-Key: reviews-sample-business-001" \
  -H "X-Max-Units: 1" \
  -H "Content-Type: application/json" \
  -d '{"kind":"reviews","business_id":"sample-business-id","limit":100,"review_options":{"sort_by":"newest"}}'

HTTP/1.1 202 Accepted
{"id":"6f1c2b3a-0000-4000-8000-000000000000","status":"queued","reserved":1}

curl "https://mapsscraper.dev/api/v1/jobs/6f1c2b3a-0000-4000-8000-000000000000/results?offset=0&limit=100" \
  -H "Authorization: Bearer $MAPSSCRAPER_API_KEY"

Exemple de réponse, abrégé. Les valeurs sont fournies à titre d’illustration et ne sont pas de vraies données d’entreprise.

{
  "items": [
    {
      "review_id": "sample-review-id",
      "business_id": "sample-business-id",
      "review_text": "Friendly staff and a short wait.",
      "rating": 5,
      "review_language": "en",
      "author_name": "Sample Reviewer",
      "owner_response_text": "Thank you for visiting.",
      "like_count": 2,
      "_source": {
        "provider": "live_maps",
        "fetched_at": "2026-11-01T12:00:00Z"
      }
    }
  ],
  "count": 1,
  "offset": 0,
  "next_offset": null,
  "provider": "live_maps",
  "coverage": "bounded_sample",
  "fetched_at": "2026-11-01T12:00:00Z"
}

Arguments de l’outil MCP create_job

{
  "task": {
    "kind": "reviews",
    "business_id": "sample-business-id",
    "limit": 100,
    "review_options": {
      "sort_by": "newest"
    }
  },
  "idempotency_key": "reviews-sample-business-001",
  "max_units": 1
}

Exemple en Python

Avec le scraper d’avis Google Maps, créez une tâche d’avis, attendez qu’elle se termine, lisez les avis, puis prévisualisez la page suivante. L’envoi de cette page est une tâche payante distincte.

import os
import time
import uuid

import requests

API = "https://mapsscraper.dev/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['MAPSSCRAPER_API_KEY']}"}


def run(task, units):
    # Keep the key: a retry of the same page must send it again.
    key = str(uuid.uuid4())
    job = requests.post(
        f"{API}/jobs",
        json=task,
        headers={**HEADERS, "Idempotency-Key": key, "X-Max-Units": str(units)},
        timeout=30,
    )
    job.raise_for_status()
    job_id = job.json()["id"]
    while True:
        status = requests.get(f"{API}/jobs/{job_id}", headers=HEADERS, timeout=30).json()["status"]
        if status not in ("queued", "running"):
            return job_id, status
        time.sleep(5)


task = {"kind": "reviews", "business_id": "sample-business-id", "limit": 100,
        "review_options": {"sort_by": "newest"}}
units = requests.post(f"{API}/estimate", json=task, headers=HEADERS, timeout=30).json()["units"]
job_id, status = run(task, units)

if status in ("completed", "partial"):
    page = requests.get(
        f"{API}/jobs/{job_id}/results",
        params={"offset": 0, "limit": 100},
        headers=HEADERS,
        timeout=30,
    ).json()
    for review in page["items"]:
        print(review.get("rating"), review.get("review_text"))

    # The next source page is a separate paid task: preview it, then submit
    # its exact task only if you need it.
    preview = requests.get(f"{API}/jobs/{job_id}/continuation", headers=HEADERS, timeout=30).json()
    if preview["available"]:
        run(preview["task"], preview["units"])

Formats d'export

CSV

S'ouvre dans n'importe quel tableur. Le texte commençant par =, +, - ou @ est précédé d'une apostrophe, afin que le tableur ne l'exécute pas comme une formule.

Excel (XLSX)

Un classeur pour Excel ou Google Sheets, pour des résultats jusqu'à environ 5 Mo. Utilisez JSON Lines pour les résultats plus volumineux.

JSON

Le résultat complet, avec la source et l’heure de récupération de chaque fiche, ainsi que la couverture de la tâche.

Lignes JSON

Un avis par ligne, pour les gros fichiers et les pipelines de données.

Coût et limites du scraper d’avis Google Maps

Chaque page de 100 avis maximum réserve une unité, quel que soit le nombre d’avis renvoyés. Les tâches échouées, annulées et incertaines ne sont pas facturées. Lire, exporter et combiner les pages que vous avez déjà ne consomme aucune unité.

Une chaîne de pages pour une entreprise s’arrête à la limite de pages de votre espace de travail, 20 pages par défaut et 100 au maximum, ou lorsque la source de données n’a pas de page suivante.

Tarifs

Ressources

Questions sur le scraper d’avis Google Maps

Documentation
S'agit-il de la Google Places API ?

Non. MapsScraper.dev est un service indépendant, sans lien avec Google. Les résultats proviennent d’une source tierce de données d’entreprises et utilisent notre propre format JSON.

Combien d’avis puis-je collecter pour une entreprise ?

Le scraper d’avis Google Maps renvoie jusqu’à 100 avis par page. Chaque page supplémentaire est une tâche avec son propre budget, jusqu’à ce que la source de données n’ait plus de page suivante ou que la limite de pages de votre espace de travail soit atteinte. Une entreprise peut afficher plus d’avis que la source de données n’en renvoie.

Le scraping Google Maps est-il légal ?

Nous ne pouvons pas fournir de conseil juridique. La licéité de la collecte et de l’utilisation de données d’entreprises dépend de l’endroit où vous vous trouvez, de ce que vous collectez, de la raison pour laquelle vous les utilisez et des conditions applicables. Le seul fait qu’une information soit publique ne vaut pas autorisation de la stocker, de la revendre ou de contacter des personnes. Lire notre politique relative aux données

Votre prochaine liste commence par un lieu.

Découvrez le parcours avec des exemples identifiés, puis connectez votre espace pour les recherches réelles.

Explorer un exemple