
225 676 406 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 tournait en janvier plante en mars. Bienvenue dans la réalité du scraping.
Bon. 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'.
Pourquoi scraper Google Maps en 2026 ?
Le mot-clé "scraper google maps" génère environ 170 recherches par mois rien qu'en France, et son cousin "google maps scraper" grimpe à 260 (DataForSEO, août 2026). Ajoutez les variantes longue traîne du genre comment scraper google maps avec javascript ou extraire emails google maps javascript, et vous comprenez que le sujet ne faiblit pas.
Pourquoi autant de monde cherche à extraire des données de Google Maps ? Trois raisons, surtout.
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 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. Le google scraping n'est d'ailleurs plus réservé aux barbus du terminal : il est devenu un levier business standard. Reste à savoir comment. Et c'est là que ça se complique.
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. Vous obtenez une clé 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 le nom, l'adresse, le téléphone, les horaires, la note, les 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 environ 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". Ce sont d'ailleurs les limites API Google Maps JavaScript qui poussent la plupart des devs vers la méthode 2.
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. C'est du puppeteer scraping google maps pur et dur. Playwright Google Maps suit exactement la même logique, avec une API un poil plus moderne.
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. Les devs qui maintiennent des scrapers open source sur GitHub 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.
Sympa.
Les proxies sont obligatoires. Rotation d'IP, délais aléatoires, 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 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 Google Maps, et même extraire les emails depuis les sites web associés. Le tutoriel Playwright de Scrapfly (avril 2026) montre bien la mécanique : rendu JS, attente de sélecteurs, parsing via labels d'accessibilité. Instructif, mais loin d'être plug-and-play.
Méthode 3 : Node.js + Crawlee / Cheerio
Un scraper de 200 lignes JS. Des milliers d'é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 taillé pour le node.js Google Maps data extraction. Il gère les files d'attente, les retries, et peut piloter Puppeteer ou Playwright en backend. Cheerio, lui, parse du HTML statique. Pratique si vous récupérez les pages des sites web associés aux fiches Maps pour en extraire emails et réseaux sociaux. Crawlee Google Maps, c'est l'artillerie lourde du scraping à échelle.
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 : orchestrer des centaines de pages en parallèle, gérer les sessions, intégrer des proxies. Côté omkarcloud/google-maps-scraper, un autre repo GitHub très suivi, l'approche est similaire avec 50+ data points par fiche. Tapez scraper google maps github sur Google et vous croulerez sous les repos. Le problème ? La moitié n'ont plus été touchés depuis 18 mois. Si vous voulez creuser l'écosystème, notre guide sur les projets open-source GitHub passe les meilleurs repos au crible.
Le revers de la médaille ? La complexité. Rotation de proxies, anti-détection, mises à jour du DOM Google, 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 google maps scraper maison en JS 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. Pour un panorama plus large, on a aussi comparé les 10 meilleurs scrapers Google Maps.
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. Les plafonds sont documentés : 3 000 req/min max pour le Geocoding, des limites 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 se charge 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 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 ?
Scraper des données publiques est légal en France dans un cadre B2B, confirmé par la jurisprudence hiQ Labs v. LinkedIn et la position de la CNIL de juin 2025. Mais la légalité tient à l'usage, pas à la collecte elle-même.
L'arrêt de la Cour suprême américaine (2022) a posé que scraper des données publiques ne viole pas le CFAA. En France, le Google Maps scraping légal repose sur un cadre proche : les données publiques d'entreprise (nom, adresse pro, téléphone pro) ne sont pas des 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.
Video: Scrap.io, comment démarrer ?
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).

Le filtrage avant extraction, c'est le vrai game-changer. Un exemple concret et frais : Scrap.io recense 17 076 restaurants à Paris, dont 5 313 avec une adresse email (août 2026). Soit 31 % d'exploitables. Si vous extrayez tout en Puppeteer, vous payez (en temps de calcul et en RAM) pour les 11 763 autres. Avec le filtre "email présent", vous ne touchez que les 5 313 qui comptent. Zéro gaspillage.
Cas réel documenté : 11 734 entreprises extraites en 45 minutes, emails et réseaux sociaux inclus, grâce aux 10 000 requêtes/minute de capacité. Essayez de faire ça avec Puppeteer. (Non, sérieusement, essayez. Et revenez me dire combien d'heures ça vous a pris.)
Besoin de cibler une zone qui ne colle à aucune division administrative ? Un quartier, une zone commerciale, un secteur précis ? Le GeoSearch dessine un rayon (jusqu'à 500 km) ou un polygone directement sur la carte.


Video: Obtenir toutes les entreprises d'une ville en 2 clics
Côté outils alternatifs, Apify (4,7/5 sur 1 700+ 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 Outscraper propose une API pay-as-you-go 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é. Et pour ceux qui veulent piloter tout ça depuis une IA, il y a même un connecteur MCP qui branche la base sur Claude, ChatGPT ou Gemini. Bienvenue en 2026.
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é 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. Trois cas de figure :
- 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.
Existe-t-il un outil gratuit pour scraper Google Maps ?
Gratuit à 100 % et fiable à grande échelle ? Non, ça n'existe pas. Les repos GitHub sont "gratuits" jusqu'à ce que vous ajoutiez les proxies (50-300 $/mois) et vos heures de maintenance. Les extensions Chrome plafonnent vite. Pour tester sans payer, le plus simple reste l'essai gratuit de Scrap.io : 7 jours, 100 leads offerts. De quoi jauger un scraper google maps gratuit sur votre vrai marché avant de vous engager.
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é.