Scrapez les résultats de recherche Google Maps dans un vrai navigateur et obtenez chaque lieu de la page : nom, note, avis, catégorie, adresse, horaires et coordonnées GPS. Une page qui ne se charge pas ne coûte rien.
1 000 requêtes gratuites · Facturé en cas de succès · 195+ pays · Prêt pour Claude
Prêt pour vos propres recherches ? Obtenez une clé API ou réservez une démo.
Parlez-nous un peu de votre équipe et recevez :
Chaque recherche Google Maps s'arrête à environ 60 lieux, dans l'application comme dans l'API. Découpez plutôt la ville en tuiles : chaque tuile est une page de plus au même prix, et la liste continue de grandir.
Coût de 25 recherches par tuile, une page chacune
Gologin Web Unlockerenviron $0.02
Google Places APIenviron $0.80
L'API officielle renvoie les champs que Google choisit pour elle. La page Maps en contient davantage, et Web Unlocker renvoie la page entière.
| Ce que vous récupérez | Google Places API | |
|---|---|---|
| 1 000 lieux avec téléphone et site web | Environ $1.10 | Environ $1.75 |
| Notes réparties par étoiles, de 5 à 1 | Oui | Non, la moyenne seulement |
| Thèmes d'avis avec leur nombre | Oui | Non |
| Lien de réservation en ligne | Oui | Non, seulement un indicateur oui ou non |
| Conservation des résultats | Aucune limite de notre part | Identifiants de lieux seulement |
Vous scrapez plus que Google Maps ? Web Unlocker renvoie n'importe quelle page de la même façon, au même prix.
Google Maps classe les lieux selon l'origine de la recherche. Choisissez un pays, une région ou une ville, et Web Unlocker charge la carte depuis là.
Prêt à chercher depuis la ville de vos clients ? Obtenez votre clé API et des requêtes gratuites.
Une requête par recherche : envoyez l'adresse Maps, recevez la page rendue, lisez les lieux. La démo ci-dessus utilise le même analyseur.
Remplissez le formulaire ci-dessus. La clé arrive par e-mail sous un jour ouvré.
google.com/maps/search/ suivi de votre requête, et du pays, de la région ou de la ville d'où chercher.
Chaque lieu est une carte de la page, avec le nom, la note, les avis, l'adresse et les horaires bien visibles.
GOLOGIN_SCRAPING_API_KEY=your_key node maps-search.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeconst search = 'dentists in Miami';
const params = new URLSearchParams({
url: `https://www.google.com/maps/search/${encodeURIComponent(search)}?hl=en&ucbcb=1`,
render_js: 'true',
wait: '9000',
geo: 'us',
format: 'json',
});
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const { data } = await response.json();
const text = (value) => value?.replaceAll('&', '&').replaceAll(''', "'").replaceAll('"', '"');
const places = data.html
.split('role="article"')
.slice(1)
.map((card) => ({
name: text(card.match(/class="hfpxzc" aria-label="([^"]+)"/)?.[1]),
rating: card.match(/>([1-5]\.\d)</)?.[1],
reviews: card.match(/>\(([\d,]+)\)</)?.[1],
lat: card.match(/!3d(-?[\d.]+)/)?.[1],
lng: card.match(/!4d(-?[\d.]+)/)?.[1],
}));
console.table(places);pip install requestsGOLOGIN_SCRAPING_API_KEY=your_key python maps_search.pyhttps://parsing.webunlocker.gologin.com/v1/scrapeimport html as entities
import os
import re
from urllib.parse import quote
import requests
search = "dentists in Miami"
response = requests.get(
"https://parsing.webunlocker.gologin.com/v1/scrape",
params={
"url": f"https://www.google.com/maps/search/{quote(search)}?hl=en&ucbcb=1",
"render_js": "true",
"wait": "9000",
"geo": "us",
"format": "json",
},
headers={"apikey": os.environ["GOLOGIN_SCRAPING_API_KEY"]},
timeout=90,
)
html = response.json()["data"]["html"]
def find(pattern, card):
match = re.search(pattern, card)
return entities.unescape(match.group(1)) if match else None
for card in html.split('role="article"')[1:]:
print(
find(r'class="hfpxzc" aria-label="([^"]+)"', card),
find(r">([1-5]\.\d)<", card),
find(r">\(([\d,]+)\)<", card),
find(r"!3d(-?[\d.]+)", card),
find(r"!4d(-?[\d.]+)", card),
)GOLOGIN_SCRAPING_API_KEY=your_key node maps-tiles.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeconst query = 'dentists';
const center = { lat: 25.775, lng: -80.23 };
const step = 0.03;
const found = new Map();
async function tile(lat, lng) {
const params = new URLSearchParams({
url: `https://www.google.com/maps/search/${query}/@${lat},${lng},15z?hl=en&ucbcb=1`,
render_js: 'true',
wait: '9000',
geo: 'us',
format: 'json',
});
for (let attempt = 0; attempt < 3; attempt += 1) {
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
if (response.ok) return (await response.json()).data.html;
await new Promise((resolve) => setTimeout(resolve, 10000));
}
return '';
}
for (let row = -2; row <= 2; row += 1) {
for (let col = -2; col <= 2; col += 1) {
const html = await tile((center.lat + row * step).toFixed(4), (center.lng + col * step).toFixed(4));
for (const card of html.split('role="article"').slice(1)) {
const name = card.match(/class="hfpxzc" aria-label="([^"]+)"/)?.[1];
if (name) found.set(name, { name, lat: card.match(/!3d(-?[\d.]+)/)?.[1], lng: card.match(/!4d(-?[\d.]+)/)?.[1] });
}
console.log(`tile ${row},${col}: ${found.size} places so far`);
}
}
console.table([...found.values()]);Besoin de cliquer, de faire défiler ou d'ouvrir d'abord l'onglet des avis ? Cloud Browser donne à votre code le navigateur entier.
Une page de recherche liste jusqu'à 7 lieux, et chaque page de lieu ajoute le téléphone et le site web. À un prix par page, 1 000 lieux avec contacts reviennent à environ $1.10.
Une page difficile coûte
autant qu'une page facile.
Une page qui ne se charge pas ne coûte rien. Vous payez une page rendue, rien d'autre.
Ce que coûtent 1 000 lieux avec téléphone et site web
Prix publiés par les concurrents
Web Unlocker avec le forfait Growth, $0.98 pour 1 000 pages.
Un compte, un réseau de proxys, un écosystème. Choisissez le produit dont la tâche a besoin.
Vous scrapez aussi d'autres boutiques ? Voir les scrapers Amazon, eBay et Walmart.
Envoyez l'adresse de recherche Google Maps à Web Unlocker. Il ouvre la page dans un vrai navigateur depuis le pays de votre choix et renvoie le HTML rendu. Chaque lieu est dans sa propre carte, donc un court analyseur lit le nom, la note, les avis, la catégorie, l'adresse, les horaires et les coordonnées GPS. Le code ci-dessus fait exactement cela.
Envoyez l'adresse de recherche Maps à Web Unlocker avec la bibliothèque requests et lisez les lieux dans le HTML. L'onglet Python ci-dessus est un script complet de 37 lignes, testé sur l'API en production.
Les résultats de recherche et les pages de lieux sont publics et se chargent sans connexion. Web Unlocker les charge comme le fait le navigateur d'un visiteur et renvoie la page. Ce que vous collectez et l'usage que vous en faites relèvent de vous : vérifiez-le au regard des règles applicables à votre projet.
Environ 7 à 11 par page, et aucune recherche ne dépasse environ 60 : Google arrête chaque liste là, dans l'application comme dans l'API. Pour une ville entière, parcourez la carte tuile par tuile. 25 tuiles sur Miami ont renvoyé 146 dentistes différents pour environ 2 cents. L'onglet Ville entière du code ci-dessus fait exactement cela.
Oui. Ouvrez une page de lieu depuis les résultats de recherche : elle contient le téléphone, le site web, le plus code et un lien de réservation quand le lieu en a un. C'est une requête de plus au même prix.
Google Maps affiche le site web d'un lieu, pas son e-mail. L'e-mail se trouve sur ce site, et Web Unlocker l'ouvre de la même façon : une page de plus au même prix.
Scrapez la page du lieu : elle contient le résumé des avis, le nombre de notes pour chaque niveau d'étoiles, les thèmes que les gens mentionnent avec leur nombre, et les meilleurs avis avec l'auteur, les étoiles, la date et le texte complet.
Web Unlocker renvoie la page, pas un tableau, donc rien n'est coupé avant que vous le voyiez. La transformer en CSV demande quelques lignes de code, ou une seule consigne : donnez la page à Claude avec la compétence de scraping Gologin et demandez un CSV.
Oui. Indiquez un pays, une région ou une ville, et la page se charge depuis là. Les résultats suivent l'origine de la recherche : la même requête à Miami et à Tokyo renvoie des lieux différents.
De 5 à 30 secondes lors de nos tests : la carte se charge dans un vrai navigateur avant le retour de la page.
HTML rendu, Markdown, texte brut et JSON avec les métadonnées de la page.
Moins de $1 pour 1 000 pages, et le même prix pour chaque page, donc 1 000 lieux avec téléphone et site web reviennent à environ $1.10. Une page qui ne se charge pas ne coûte rien. Les forfaits démarrent à $49 par mois pour 50 000 requêtes.
Oui, pour commencer : Web Unlocker inclut 1 000 requêtes gratuites, de quoi couvrir environ 1 000 pages de recherche ou 7 000 lieux. Ensuite, c'est moins de $1 pour 1 000 pages.
Non. Web Unlocker choisit l'IP pour vous, dans plus de 195 pays.
Cela dépend de votre besoin. Apify et Outscraper vendent des tableaux prêts à l'emploi, un par lieu. Web Unlocker renvoie la page Maps complète depuis n'importe quelle ville à un prix par page, donc vous gardez chaque champ et l'analysez à votre façon.
Parlez-nous un peu de votre équipe et recevez :