El problema
Los datos comerciales locales (nombres, direcciones, calificaciones, horarios, números de teléfono) están bloqueados detrás de Google Maps. El scraping de Google Maps viola los ToS y desencadena una detección agresiva de bots. La API de Google Places cuesta entre 17 y 40 dólares por cada 1.000 solicitudes, según el punto final. Los equipos que crean directorios locales, herramientas de SEO o análisis competitivos necesitan una alternativa asequible y confiable.
La solucion de Scavio
Utilice el punto final de búsqueda de Google Maps de Scavio para obtener datos comerciales locales estructurados de los resultados de búsqueda de Google Maps a $0,005/crédito. Devuelve el nombre de la empresa, la dirección, la calificación, el recuento de reseñas, la categoría y el número de teléfono en formato JSON. Para la creación de directorios, análisis competitivo y monitoreo de SEO local, esto cubre los campos de datos que realmente necesita entre 3 y 8 veces menos que la API de Places.
Antes
Scraping de Google Maps con Puppeteer: descansos semanales de la detección de bots. Coloca la API a $32/1K para búsqueda de lugares + $17/1K para detalles = $49/1K búsquedas completas. Presupuesto para 5.000 empresas/mes: $245/mes.
Después
Búsqueda de Scavio en Google Maps a $0,005/crédito. Los mismos datos comerciales visibles en los resultados de búsqueda. Presupuesto para 5.000 búsquedas/mes: $25/mes. Sin raspado, sin detección de bots, sin cuotas de API de Places.
Para quien es
Agencias de SEO locales, creadores de directorios y analistas competitivos que necesitan datos comerciales locales sin pagar tarifas API de Google Places ni mantener una infraestructura de scraping.
Beneficios clave
- Datos de empresas locales a 0,005 USD/crédito frente a 17-40 USD/1.000 para la API de Places
- Sin infraestructura de raspado ni riesgo de detección de bots
- JSON estructurado con nombre comercial, dirección, calificación, categoría
- Cubre los campos de datos necesarios para el 80% de los casos de uso de datos locales
- El mismo punto final que todas las demás búsquedas de Scavio: una integración
Ejemplo en Python
import requests, os, json
API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY, "Content-Type": "application/json"}
def search_local_businesses(query: str, location: str) -> list[dict]:
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers=H,
json={
"query": f"{query} in {location}",
"platform": "google_maps",
"country_code": "us",
},
timeout=10,
)
resp.raise_for_status()
data = resp.json()
return [
{
"name": biz.get("title"),
"address": biz.get("address"),
"rating": biz.get("rating"),
"reviews": biz.get("reviews"),
"category": biz.get("type"),
"phone": biz.get("phone"),
}
for biz in data.get("local_results", [])
]
# Find coffee shops in Austin -- $0.005 per query
shops = search_local_businesses("coffee shops", "Austin, TX")
for shop in shops:
print(f"{shop['name']} - {shop['rating']} stars ({shop['reviews']} reviews)")
print(f" {shop['address']}")Ejemplo en JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const H = {"x-api-key": API_KEY, "Content-Type": "application/json"};
async function searchLocalBusinesses(query, location) {
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: H,
body: JSON.stringify({
query: `${query} in ${location}`,
platform: "google_maps",
country_code: "us",
}),
});
if (!res.ok) throw new Error(`Scavio ${res.status}`);
const data = await res.json();
return (data.local_results || []).map(biz => ({
name: biz.title,
address: biz.address,
rating: biz.rating,
reviews: biz.reviews,
category: biz.type,
phone: biz.phone,
}));
}
const shops = await searchLocalBusinesses("coffee shops", "Austin, TX");
shops.forEach(s => {
console.log(`${s.name} - ${s.rating} stars (${s.reviews} reviews)`);
console.log(` ${s.address}`);
});Plataformas utilizadas
Google Maps
Búsqueda de negocios locales con calificaciones e información de contacto