Google Maps scraper : API et MCP
Une Google Maps scraper API lance une recherche d’établissements bornée depuis votre application ou un agent. Une clé d’espace de travail à portée limitée, un budget de tâche explicite et une clé d’idempotence stable couvrent chaque nouvel essai. Les résultats sont du JSON, et un champ absent reste vide.
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.

Créer un travail limité
Connectez une clé aux permissions limitées à REST ou à un client HTTP MCP. Estimez les tâches, définissez les budgets et récupérez des résultats structurés.
curl -X POST https://mapsscraper.dev/api/v1/jobs \
-H "Authorization: Bearer $MAPSSCRAPER_API_KEY" \
-H "Idempotency-Key: dentists-austin-tx-001" \
-H "X-Max-Units: 1" \
-H "Content-Type: application/json" \
-d '{"kind":"search","query":"Dentists in Austin, TX","limit":20,"region":"us"}'
HTTP/1.1 202 Accepted
{"id":"6f1c2b3a-0000-4000-8000-000000000000","status":"queued","reserved":1}Relancez la même opération avec la même clé d’idempotence. Une requête modifiée avec cette clé renvoie 409. Les tâches passent par en file d’attente, en cours, terminée, partielle, échouée, annulée ou incertaine. Une requête incertaine vers la source de données exige un rapprochement plutôt qu’une relance payante automatique.
Qu’est-ce qu’une Google Maps scraper API ?
Une Google Maps scraper API accepte une catégorie et une zone, renvoie des fiches publiques en JSON et affiche le budget maximal de la tâche avant l’exécution. Chaque tâche utilise une clé limitée et une clé d’idempotence. Les avis font l’objet d’une requête séparée.
Lire les résultats
Avec la Google Maps scraper API, les tâches terminées et partielles conservent leurs résultats pendant la durée de conservation de votre espace de travail. Lisez-les page par page avec offset et limit ; lire des résultats stockés ne lance jamais de nouvelle recherche.
Exemple de réponse, abrégé. Les valeurs sont fournies à titre d’illustration et ne sont pas de vraies données d’entreprise.
{
"items": [
{
"business_id": "sample-business-id",
"name": "Sample Dental Studio",
"full_address": "100 Example Ave, Austin, TX 78701",
"phone_number": "+1 512-555-0100",
"website": "https://dental.example",
"type": "Dentist",
"rating": 4.8,
"review_count": 214,
"latitude": 30.2672,
"longitude": -97.7431,
"_source": {
"provider": "live_maps",
"fetched_at": "2026-11-01T12:00:00Z",
"website_status": "provided_unverified"
}
}
],
"count": 1,
"offset": 0,
"next_offset": null,
"provider": "live_maps",
"coverage": "bounded_sample",
"fetched_at": "2026-11-01T12:00:00Z"
}API du scraper d’avis Google Maps
Demandez les avis d'un identifiant d’entreprise par tâche, jusqu'à 100 par page, triés par pertinence, du plus récent, de la note la plus haute ou la plus basse. Chaque avis comprend son texte, sa note, sa date, son auteur et la réponse du propriétaire si elle est disponible. Une page supplémentaire nécessite sa propre tâche et son propre budget.
Extracteur d’avisPOST /api/v1/jobs
Idempotency-Key: reviews-sample-business-001
X-Max-Units: 1
{"kind":"reviews","business_id":"sample-business-id","limit":50,"review_options":{"sort_by":"newest"}}Exemple en Python
Estimez une recherche avec la Google Maps scraper API, créez la tâche, attendez un statut final et lisez les résultats avec la bibliothèque requests.
import os
import time
import uuid
import requests
API = "https://mapsscraper.dev/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['MAPSSCRAPER_API_KEY']}"}
task = {"kind": "search", "query": "Dentists in Austin, TX", "limit": 20, "region": "us"}
# An estimate reserves nothing.
units = requests.post(f"{API}/estimate", json=task, headers=HEADERS, timeout=30).json()["units"]
# Keep the key: a retry of the same task 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"):
break
time.sleep(5)
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 business in page["items"]: # follow page["next_offset"] for more
print(business.get("name"), business.get("phone_number"), business.get("website"))Questions sur la Google Maps scraper API
DocumentationS'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.
Comment les requêtes sont-elles facturées ?
La plupart des tâches utilisent une unité. L’enrichissement des contacts sur une recherche ou un relevé de classement réserve une unité de plus par fiche demandée et ne facture que les fiches livrées. Les détails d’entreprise utilisent une unité, ou deux avec les contacts ; l’enrichissement en utilise deux. Réglez X-Max-Units au moins sur l’estimation.
Les emails et téléphones sont-ils garantis ?
Non. La couverture dépend de la source et de l’entreprise. L’enrichissement facultatif peut fournir des coordonnées publiques ; vérifiez les données manquantes ou anciennes avant utilisation.
Ressources
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