ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un verificador de SEO local con datos de la API de Google Maps
Tutorial

Cómo crear un verificador de SEO local con datos de la API de Google Maps

Cree un verificador de SEO local en Python que analice los listados de Google Maps y los resultados de los paquetes locales utilizando la API de Scavio. Califique a las empresas según los factores de SEO locales.

Obtener clave API gratisDocumentacion API

El SEO local determina si una empresa aparece en Google Maps y en el paquete local para consultas con orientación geográfica. Un verificador de SEO local analiza cómo aparece una empresa en los resultados locales: su calificación, recuento de reseñas, si tiene un sitio web y cómo se clasifica en relación con la competencia. Este tutorial crea un verificador de SEO local utilizando la API de Scavio que consulta los resultados locales para las palabras clave objetivo, evalúa la calidad de la lista de empresas y produce un informe de puntuación de SEO local.

Requisitos previos

  • Python 3.8 o superior
  • solicita biblioteca instalada
  • Una clave API de Scavio
  • Un nombre comercial y una ubicación para verificar

Guia paso a paso

Paso 1: Obtener resultados locales para palabras clave objetivo

Busque palabras clave con intención local para las que su empresa debería clasificarse. El campo local_results contiene listados de Google Maps.

Python
def get_local_results(keyword: str, location: str) -> list[dict]:
    r = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"query": f"{keyword} in {location}", "country_code": "us"}
    )
    r.raise_for_status()
    return r.json().get("local_results", [])

Paso 2: Encuentre el negocio objetivo en los resultados

Escanee los resultados locales en busca del nombre comercial de destino. Devuelva su posición y los detalles del listado si los encuentra.

Python
def find_business(results: list[dict], business_name: str) -> dict | None:
    for i, r in enumerate(results):
        if business_name.lower() in r.get("title", "").lower():
            return {"position": i + 1, **r}
    return None

Paso 3: Califique la calidad del listado

Calcule una puntuación de SEO local en función de la calificación, el recuento de reseñas, la presencia del sitio web y la disponibilidad de números de teléfono.

Python
def score_listing(listing: dict) -> dict:
    score = 0
    factors = {}
    rating = float(listing.get("rating", 0) or 0)
    if rating >= 4.5:
        score += 30
        factors["rating"] = f"{rating}/5 (excellent)"
    elif rating >= 4.0:
        score += 20
        factors["rating"] = f"{rating}/5 (good)"
    else:
        factors["rating"] = f"{rating}/5 (needs improvement)"
    reviews = int(listing.get("reviews", 0) or 0)
    if reviews >= 100:
        score += 25
    elif reviews >= 20:
        score += 15
    factors["reviews"] = str(reviews)
    if listing.get("website"):
        score += 20
        factors["website"] = "present"
    else:
        factors["website"] = "missing"
    if listing.get("phone"):
        score += 15
        factors["phone"] = "present"
    else:
        factors["phone"] = "missing"
    return {"score": score, "max_score": 90, "factors": factors}

Paso 4: Generar el informe SEO local

Ejecute el verificador en varias palabras clave y genere un informe SEO local completo.

Python
def local_seo_check(business: str, location: str, keywords: list[str]) -> None:
    print(f"Local SEO Report: {business} in {location}\n" + "=" * 50)
    for kw in keywords:
        results = get_local_results(kw, location)
        match = find_business(results, business)
        if match:
            scores = score_listing(match)
            print(f"\n{kw}: Position #{match['position']}, Score: {scores['score']}/{scores['max_score']}")
        else:
            print(f"\n{kw}: Not found in local results")

Ejemplo en Python

Python
import os
import requests

API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
ENDPOINT = "https://api.scavio.dev/api/v1/search"

def get_local(kw: str, loc: str) -> list[dict]:
    r = requests.post(ENDPOINT, headers={"x-api-key": API_KEY},
                      json={"query": f"{kw} in {loc}", "country_code": "us"})
    r.raise_for_status()
    return r.json().get("local_results", [])

def score(listing: dict) -> int:
    s = 0
    if float(listing.get("rating") or 0) >= 4.0: s += 25
    if int(listing.get("reviews") or 0) >= 50: s += 25
    if listing.get("website"): s += 25
    if listing.get("phone"): s += 15
    return s

if __name__ == "__main__":
    business = "Joe's Coffee"
    keywords = ["coffee shop", "best coffee", "cafe near me"]
    for kw in keywords:
        results = get_local(kw, "Austin, TX")
        match = next((r for r in results if business.lower() in r.get("title", "").lower()), None)
        if match:
            print(f"{kw}: #{results.index(match)+1}, score={score(match)}/90")
        else:
            print(f"{kw}: not found")

Ejemplo en JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || "your_scavio_api_key";
const ENDPOINT = "https://api.scavio.dev/api/v1/search";

async function getLocal(kw, loc) {
  const res = await fetch(ENDPOINT, {
    method: "POST",
    headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ query: `${kw} in ${loc}`, country_code: "us" })
  });
  const data = await res.json();
  return data.local_results || [];
}

async function main() {
  const business = "Joe's Coffee";
  const keywords = ["coffee shop", "best coffee"];
  for (const kw of keywords) {
    const results = await getLocal(kw, "Austin, TX");
    const idx = results.findIndex(r => r.title?.toLowerCase().includes(business.toLowerCase()));
    if (idx >= 0) {
      console.log(`${kw}: #${idx + 1}, rating: ${results[idx].rating}`);
    } else {
      console.log(`${kw}: not found`);
    }
  }
}
main().catch(console.error);

Salida esperada

JSON
Local SEO Report: Joe's Coffee in Austin, TX
==================================================

coffee shop: Position #3, Score: 75/90
  rating: 4.7/5 (excellent)
  reviews: 234
  website: present
  phone: present

best coffee: Position #5, Score: 65/90

cafe near me: Not found in local results

Tutoriales relacionados

  • Cómo extraer datos comerciales de Google Maps sin ser bloqueado
  • Cómo crear una herramienta de auditoría SEO con SERP y análisis de la competencia

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Python 3.8 o superior. solicita biblioteca instalada. Una clave API de Scavio. Un nombre comercial y una ubicación para verificar. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores API de datos comerciales de Google Maps (mayo de 2026)

Read more
Best Of

La mejor API de Google Maps para la extracción de clientes potenciales en 2026

Read more
Use Case

Generación de leads locales de Google Maps

Read more
Use Case

Investigación SEO local con datos de Google Maps

Read more
Glossary

Costo de la API de Google Maps Places

Read more
Comparison

Google Places API vs SERP Local Pack API

Read more

Empieza a construir

Cree un verificador de SEO local en Python que analice los listados de Google Maps y los resultados de los paquetes locales utilizando la API de Scavio. Califique a las empresas según los factores de SEO locales.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad