Google Maps contiene datos valiosos -- local results, addresses, ratings, review counts, y mas. Hacer scraping de estos datos directamente implica lidiar con deteccion anti-bot, CAPTCHAs, rotacion de IP y selectores que se rompen constantemente. La API de Scavio maneja todo eso y devuelve JSON limpio y estructurado desde una sola solicitud POST.
Este tutorial te muestra como hacer scraping de Google Maps usando Python y la API de Scavio. Al final, tendras un script funcional de Python que obtiene datos de Google Maps en tiempo real y parsea los resultados.
Requisitos previos
- Python instalado en tu maquina
- Una clave API de Scavio (free tier incluye 50 creditos al registrarte -- sin tarjeta de credito)
Paso 1: Instalar dependencias
Instala requests para hacer solicitudes HTTP:
pip install requestsPaso 2: Haz tu primera busqueda en Google Maps
Envia una solicitud POST al endpoint de la API de Scavio para Google Maps con tu consulta. La API devuelve JSON estructurado con local results, addresses, ratings, y mas.
import requests
API_KEY = "your_scavio_api_key"
response = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={
"x-api-key": API_KEY,
"Content-Type": "application/json",
},
json={"query": query, "tbs": "lcl"},
)
data = response.json()
for result in data.get("organic_results", [])[:5]:
print(f"{result['position']}. {result['title']}")
print(f" {result['link']}\n")Paso 3: Respuesta de ejemplo
La API devuelve JSON estructurado. Aqui hay una respuesta de ejemplo para una busqueda en Google Maps:
{
"search_metadata": { "status": "success" },
"local_results": [
{
"position": 1,
"title": "Blue Bottle Coffee",
"address": "450 W 15th St, New York, NY 10011",
"rating": 4.4,
"reviews": 892,
"phone": "(212) 555-0123",
"hours": "Open until 7 PM",
"type": "Coffee shop"
}
]
}Cada campo esta estructurado y tipado -- sin parseo de HTML, sin selectores CSS, sin extraccion con regex. Tu codigo de Python puede acceder a cualquier campo directamente.
Paso 4: Ejemplo completo funcional
Aqui hay un script completo y ejecutable de Python que busca en Google Maps e imprime los resultados:
"""
Scrape Google Maps search results using Scavio API.
Returns structured JSON with local results, addresses, ratings, and more.
"""
import requests
import json
API_KEY = "your_scavio_api_key"
def search_google_maps(query: str) -> dict:
response = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={
"x-api-key": API_KEY,
"Content-Type": "application/json",
},
json={"query": query, "tbs": "lcl"},
)
response.raise_for_status()
return response.json()
if __name__ == "__main__":
results = search_google_maps("coffee shops near me")
print(json.dumps(results, indent=2))Por que usar Scavio en vez de hacer scraping de Google Maps directamente?
- Sin gestion de proxies. El scraping directo requiere rotar proxies para evitar bloqueos de IP. Scavio maneja todo esto del lado del servidor.
- Sin resolucion de CAPTCHAs. Google Maps bloquea agresivamente las solicitudes automatizadas. Scavio devuelve datos limpios cada vez.
- Salida JSON estructurada. Sin parseo de HTML ni mantenimiento de selectores CSS. Obtiene datos tipados y consistentes en cada solicitud.
- Multiplataforma en una API. Busca en Google, Amazon, YouTube y Walmart con la misma clave API y el mismo patron de autenticacion.
- Plan gratuito incluido. 50 creditos al registrarte sin tarjeta de credito. Cada busqueda cuesta 1 credito.