
225 millions de fiches d'établissements. C'est ce que Google Maps indexe en 2026, d'après les données Scrap.io. Et chaque mois, la base grossit.
Je sais ce que vous vous dites : "OK, et moi dans tout ça, je fais quoi avec mon script Node.js ?" Bonne question. Parce que si vous êtes ici, c'est probablement que vous avez déjà tenté d'extraire des données de Google Maps avec JavaScript. Et que ça a moyennement fonctionné.
Pas de jugement. On est tous passés par là.
Le truc, c'est que scraper Google Maps avec JavaScript en 2026, ça n'a plus rien à voir avec ce que c'était il y a deux ans. Google a durci ses protections, les class names du DOM changent sans prévenir (les devs de r/webscraping le confirment — "quarterly updates kill scrapers"), et votre joli Puppeteer qui marchait en janvier plante en mars. Bienvenue dans la réalité du scraping.
Bon. Dans ce guide, on va couvrir les trois méthodes JavaScript qui existent, avec du code, des limites honnêtes, et une alternative pour ceux qui veulent juste des résultats sans se battre avec des sélecteurs CSS à 2h du mat'.
Sommaire
Pourquoi scraper Google Maps en 2026 ?
Le keyword "scraper google maps" génère environ 170 recherches par mois rien qu'en France (DataForSEO, mai 2026). Et ce chiffre ne compte même pas toutes les variantes longue traîne du genre comment scraper google maps avec javascript ou extraire emails google maps javascript.
Pourquoi autant de monde cherche à extraire des données de Google Maps ? Trois raisons, principalement :
La prospection B2B locale. Vous vendez un service aux restaurants ? Aux plombiers ? Aux agences immobilières ? Google Maps, c'est votre annuaire géant. Nom, adresse, téléphone, site web, avis, horaires — tout est là, en accès public. Le problème, c'est que copier-coller 10 000 fiches à la main, c'est du masochisme.
L'analyse concurrentielle. Combien de concurrents dans votre zone ? Quelle est leur note moyenne ? Ont-ils un site web ? (Spoiler : beaucoup n'en ont pas, et c'est une opportunité.) Automatiser cette extraction, c'est passer de "je regarde vaguement" à "j'ai un dataset complet".
L'étude de marché. Vous lancez un business dans une nouvelle ville ? Les données Google Maps vous disent exactement combien d'acteurs existent, où ils se concentrent, et quels créneaux sont sous-exploités. Avec plus de 4 000 catégories d'activités indexées, la granularité est dingue.
Et le JavaScript dans tout ça ? C'est le langage natif du web. Google Maps tourne en JS. Les APIs retournent du JSON. Bref, c'est le choix logique pour quiconque veut automatiser l'extraction de données Google Maps côté navigateur ou serveur.
Les 3 méthodes pour extraire des données avec JavaScript
Trois chemins. Aucun parfait. Mais chacun a ses cas d'usage. On va les décortiquer — code inclus, limites incluses.
Méthode 1 — API officielle (Places API)
L'API Google Maps JavaScript est le chemin "propre" pour extraire des données de Google Maps via l'API JavaScript. Vous obtenez une clé API via Google Cloud Platform, vous faites des requêtes REST, vous récupérez du JSON structuré. Pas de scraping à proprement parler — vous utilisez l'interface prévue par Google.
Concrètement, la Places API vous donne accès au nom, à l'adresse, au téléphone, aux horaires, à la note, aux avis (mais attention — 5 avis maximum par appel Place Details, c'est dans la documentation officielle Google Maps). Pour chercher des établissements autour d'un point GPS :
const service = new google.maps.places.PlacesService(map);
service.nearbySearch({
location: { lat: 48.8566, lng: 2.3522 },
radius: 5000,
type: ['restaurant']
}, (results, status) => {
if (status === 'OK') {
results.forEach(place => {
console.log(place.name, place.vicinity);
});
}
});
Simple. Propre. Mais voilà le hic : 0,017 $ par appel en Place Details (Google Maps Platform Pricing). Pour 10 000 fiches, ça fait ~170 $. Et l'API ne fournit ni les emails, ni les réseaux sociaux. Pas de scraping du site web associé non plus.
L'API Google Maps en JavaScript, c'est parfait pour afficher une carte ou géocoder 50 adresses. Pour de l'extraction massive de leads ? Le calcul est vite fait. (On détaille ça dans notre comparatif API vs Scraping.)
Et n'oubliez pas : la licence interdit de stocker les résultats. Oui, vous avez bien lu. Votre google maps api javascript gratuit n'est gratuit que jusqu'au crédit mensuel de 200 $, et "gratuit" ne veut pas dire "libre".
Méthode 2 — Puppeteer / Playwright
Puppeteer clique comme un humain... jusqu'à ce que Google le détecte.
L'idée est simple : vous lancez un Chrome headless via Puppeteer (ou Playwright, son concurrent de Microsoft), vous naviguez sur Google Maps, vous scrollez les résultats, et vous parsez le DOM pour extraire les données. C'est du puppeteer scraping google maps pur et dur.
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://www.google.com/maps/search/restaurants+paris');
await page.waitForSelector('[role="feed"]');
// Scroll pour charger plus de résultats
for (let i = 0; i < 5; i++) {
await page.evaluate(() => {
document.querySelector('[role="feed"]').scrollBy(0, 1000);
});
await page.waitForTimeout(2000);
}
const results = await page.evaluate(() => {
return [...document.querySelectorAll('.Nv2PK')].map(el => ({
name: el.querySelector('.qBF1Pd')?.textContent,
rating: el.querySelector('.MW4etd')?.textContent,
}));
});
console.log(results);
await browser.close();
})();
Ça marche. Enfin, ça marche un temps. Les problèmes arrivent vite :
Les class names changent. Ce .qBF1Pd dans le code ? Il sera probablement différent dans trois mois. Google modifie régulièrement la structure HTML de Maps. Sur GitHub, les devs qui maintiennent des scrapers open source le confirment : "playwright-stealth is near-essential for Maps scraping" — et même avec, c'est une course permanente.
Les CAPTCHAs tombent. Trop de requêtes depuis la même IP, un pattern trop régulier, pas de cookies de session : Google vous repère et vous sert un CAPTCHA. Puis un blocage. Et si vous utilisez l'IP de votre bureau, c'est toute votre équipe qui perd Google Maps.
Les proxies sont obligatoires. Rotation d'IP, délais aléatoires entre les requêtes, user-agent rotation... Le scraping Puppeteer pro ressemble plus à de l'infrastructure qu'à du code. C'est un vrai métier.
Mais pour les devs qui aiment avoir le contrôle total et qui acceptent la maintenance, Puppeteer reste la méthode la plus flexible pour scraper les avis Google Maps en JavaScript, scraper les numéros de téléphone, et même extraire les emails depuis les sites web associés.
Méthode 3 — Node.js + Crawlee / Cheerio
Un scraper de 200 lignes JS. 15 000 étoiles GitHub. C'est l'histoire de gosom/google-maps-scraper, un des projets open source les plus populaires pour l'extraction Google Maps. (Bon, celui-ci est en Go, mais l'écosystème Node.js a ses propres armes.)
Crawlee (ex-Apify SDK) est un framework Node.js pour le node.js Google Maps data extraction. Il gère les files d'attente de requêtes, les retries, et peut piloter Puppeteer ou Playwright en backend. Cheerio, lui, parse du HTML statique — utile si vous récupérez les pages des sites web associés aux fiches Maps pour en extraire emails et réseaux sociaux.
import { PlaywrightCrawler } from 'crawlee';
const crawler = new PlaywrightCrawler({
async requestHandler({ page, request }) {
await page.waitForSelector('h1');
const title = await page.$eval('h1', el => el.textContent);
const phone = await page.$eval(
'button[data-item-id^="phone"]', el => el.textContent
).catch(() => null);
console.log({ url: request.url, title, phone });
},
});
await crawler.run(['https://www.google.com/maps/place/...']);
L'avantage de Crawlee : vous pouvez orchestrer des centaines de pages en parallèle, gérer les sessions, et intégrer des proxies. C'est de l'artillerie lourde pour le scraping à échelle. Côté omkarcloud/google-maps-scraper, un autre repo GitHub populaire, l'approche est similaire avec 50+ data points extraits par fiche.
Le revers de la médaille ? La complexité. Vous devez gérer la rotation de proxies, l'anti-détection, les mises à jour du DOM Google, et la maintenance du code. Pour un side project, c'est formateur. Pour un usage pro quotidien ? On en reparle dans deux sections.
Comparatif : API vs Scraping vs No-Code
Video: Apify vs Scrap.io — Quel outil choisir pour scraper Google Maps ?
Trois méthodes, une seule tient la route en pro. Mais regardons les chiffres avant de conclure :
| Critère | API Google Maps | Scraping JS (Puppeteer) | No-Code (Scrap.io) |
|---|---|---|---|
| Coût / 10 000 fiches | ~170 $ (API seule) | Proxies + serveur (~50-100 $/mois) | 35 $/mois (plan Basic) |
| Emails inclus | Non | Si vous codez l'enrichissement | Oui (classifiés par type) |
| Réseaux sociaux | Non | Si vous codez l'enrichissement | Oui (FB, IG, LinkedIn, TikTok, X, YT) |
| Maintenance | Faible (API stable) | Élevée (DOM changes) | Aucune |
| Risque de blocage | Aucun (officiel) | Élevé sans proxies | Aucun (géré côté serveur) |
| Compétences requises | Dev JS | Dev avancé + infra | Aucune |
| Stockage autorisé | Non (cache temporaire) | Oui | Oui — export CSV/Excel libre |
Le constat est assez clair. L'API est trop chère et trop limitée pour l'extraction à volume. Le scraping JS maison est puissant mais chronophage à maintenir. Et entre nous, le temps que vous passez à debugger des sélecteurs CSS cassés, c'est du temps que vous ne passez pas à prospecter.
50 000+ professionnels utilisent déjà Scrap.io pour extraire des données Google Maps — sans écrire une ligne de code, sans gérer de proxies, sans se soucier des mises à jour du DOM. La plateforme traite 10 000 requêtes par minute et couvre 195 pays.
Les limites du scraping JavaScript
5 obstacles que personne ne mentionne dans les tutos YouTube. (Croyez-moi, on a tous essayé de les ignorer.)
1. Le rate limiting de Google. Trop de requêtes trop vite = CAPTCHA, puis blocage IP. Et les limites API Google Maps JavaScript sont documentées : 3 000 req/min max pour le Geocoding, des plafonds similaires pour la Places API. Bref, le "gratuit et illimité" n'existe pas.
2. Le rendu dynamique. Google Maps est une SPA (Single Page Application). Le contenu est chargé dynamiquement via JavaScript. Un simple fetch() ne suffit pas — il faut un navigateur headless. Et ça consomme de la RAM. Beaucoup de RAM.
3. Les changements de structure HTML. Essayez de maintenir un scraper sur Google Maps pendant 6 mois. Je vous attends. Les sélecteurs CSS changent, les attributs data-* disparaissent, les classes sont obfusquées. C'est une course sans fin.
4. L'enrichissement est à votre charge. Google Maps vous donne le nom, l'adresse, le téléphone. Mais les emails ? Les réseaux sociaux ? Il faut aller sur le site web de chaque entreprise, le parser, gérer les redirections, les erreurs 403, les sites en React qui ne rendent rien côté serveur. C'est un projet à part entière.
5. La limite des 120 résultats. Par requête de recherche, Google Maps affiche 120 résultats max. Pour en obtenir plus, il faut découper vos recherches géographiquement — ce qui multiplie la complexité. On explique comment contourner ça dans notre guide sur comment dépasser la limite des 120 résultats.
Oh, et aussi — si votre scraper plante un samedi soir, c'est vous qui le debuggez. Pas Google.
Est-ce légal de scraper Google Maps en France ?
Légal depuis hiQ Labs v. LinkedIn. Mais pas sans limites.
L'arrêt de la Cour suprême américaine (2022) a confirmé que scraper des données publiques ne viole pas le CFAA. En France, le Google Maps scraping légal repose sur un cadre similaire : les données publiques d'entreprise (nom, adresse pro, téléphone pro) ne sont pas considérées comme données personnelles au sens strict du RGPD. La CNIL a clarifié sa position en juin 2025 : l'intérêt légitime est une base acceptable pour la collecte de données B2B publiques.
Concrètement : vous pouvez scraper Google Maps sans code ou avec code, tant que vous collectez des données B2B publiques, que vous informez les contacts au premier message, et que vous offrez un droit d'opposition. Le RGPD ne dit pas "interdit de scraper" — il dit "faites-le proprement".
Par contre, aspirer en masse des données personnelles sans finalité claire, ou revendre des bases sans consentement ? Là, les sanctions grimpent jusqu'à 20 millions d'euros. Soyons clairs là-dessus.
Pour les détails juridiques complets, notre article dédié aux risques et bonnes pratiques du scraping Google Maps couvre tout.
Alternative no-code avec Scrap.io
En 2 clics ce qu'un scraper JS met 3h à extraire. C'est pas du marketing — c'est littéralement ce que fait Scrap.io.
Vous tapez une catégorie (restaurants, plombiers, agences immo — plus de 4 000 catégories disponibles). Vous choisissez une zone (ville, département, région, ou pays entier sur les 195 couverts). Vous filtrez AVANT export : uniquement les fiches avec email, avec site web, avec un minimum d'avis, avec un numéro mobile. Et vous exportez en CSV ou Excel.
Pas de sélecteur CSS. Pas de Puppeteer. Pas de proxy à configurer. Pas de class names qui changent tous les trimestres.
Ce que Scrap.io vous donne et que votre scraper JS ne donne pas (sauf si vous codez l'enrichissement vous-même) : les emails classifiés (principal, individuel, contact, sales, marketing, finance, admin), les réseaux sociaux (Facebook, Instagram, LinkedIn, TikTok, YouTube, X), les technologies du site web, les pixels publicitaires, et même le type de téléphone (fixe/mobile/spécial).
Exemple concret : vous cherchez des restaurants à Paris avec un email et au moins 10 avis. Résultat en 45 secondes, filtrage avant extraction = zéro gaspillage de crédits. Cas réel documenté : 11 734 entreprises extraites en 45 minutes. Essayez de faire ça avec Puppeteer. (Non, sérieusement, essayez. Et revenez me dire combien d'heures ça vous a pris.)
Côté outils alternatifs, Apify (4,8/5 sur 1 400+ avis) propose des "actors" pour Google Maps — plus technique, mais solide. Octoparse est un scraper visuel no-code généraliste, bien positionné sur les SERP FR. Et sur GitHub, Outscraper propose des tutos Node.js pour le scraping technique.
Mais aucun de ces outils ne combine extraction + enrichissement + filtrage pré-export + couverture pays entier comme Scrap.io. En tant qu'alternative à l'API Google Maps pour le scraping, c'est la solution la plus complète du marché. C'est pas pour rien que 50 000+ pros l'utilisent.
Testez gratuitement 7 jours — 100 leads offerts. Rendez-vous sur scrap.io/fr et voyez la différence par vous-même. Que vous soyez dev, marketeur ou fondateur, les données sont prêtes en quelques clics.
FAQ
Est-il légal de scraper Google Maps en France ?
Oui, dans le cadre B2B. L'arrêt hiQ Labs v. LinkedIn (2022) a posé le principe que les données publiques sont scrapables. En France, la CNIL accepte l'intérêt légitime comme base légale pour la collecte de données business publiques. Respectez le RGPD : minimisation des données, information au premier contact, droit d'opposition. Notre guide sur les bonnes pratiques du scraping Google Maps détaille le cadre complet.
Comment scraper Google Maps en JavaScript sans être bloqué ?
Difficile, mais faisable. Les ingrédients : rotation de proxies résidentiels (pas datacenter — trop faciles à détecter), délais aléatoires entre requêtes (3-10 secondes, pas un intervalle fixe), rotation de user-agents, et playwright-stealth ou puppeteer-extra-plugin-stealth pour masquer les signatures bot. En pratique, ça demande une infra dédiée et une maintenance constante. Ou alors, vous utilisez un outil comme Scrap.io qui gère tout ça côté serveur.
Quelle est la meilleure méthode pour extraire des données Google Maps en 2026 ?
Ça dépend de votre profil. Dev qui veut apprendre et qui a du temps ? Puppeteer + Crawlee. Pro qui veut des résultats maintenant sans coder ? Scrap.io. Besoin ponctuel de 50 adresses ? L'API officielle suffit. Pour du scraping à grande échelle, les outils spécialisés sont imbattables en rapport qualité/temps.
Combien coûte l'API Google Maps ?
0,017 $ par appel en Place Details, soit environ 170 $ pour 10 000 fiches. Il y a un crédit mensuel de 200 $ offert. Au-delà, ça grimpe vite. Et l'API ne donne ni emails, ni réseaux sociaux, ni données d'enrichissement. Pour un comparatif complet, voir notre article tout savoir sur l'API Google Maps.
JavaScript ou Python pour scraper Google Maps ?
JS est natif pour le web — Google Maps est en JS, les APIs retournent du JSON. Puppeteer et Playwright sont maintenus activement. Python a Selenium et BeautifulSoup, et un écosystème data science plus riche (Pandas, etc.). En pratique : JS pour le scraping côté navigateur, Python pour le traitement de données post-extraction. Les deux fonctionnent. Pour un guide Python complet, voir notre article sur scraper Google Maps avec Python et Selenium. Et si vous cherchez des extensions Chrome pour simplifier, on a aussi un guide dédié.
Passez à l'action : essayez Scrap.io gratuitement. 225 millions de fiches. 195 pays. 4 000+ catégories. Filtrage avant extraction. Emails classifiés. Réseaux sociaux inclus. Tout ça en quelques clics, pas en quelques sprints de dev. Essai gratuit, 100 leads offerts — vous n'avez rien à perdre (à part vos scripts Puppeteer).
Prêt à générer des prospects depuis Google Maps?
Essayez Scrap.io gratuitement pendant 7 jours.