Google Search Console 14 min de lectura

API de Google Search Console: Guia Completa para Automatizar tus Informes SEO

La interfaz web de Search Console tiene limitaciones. La API te permite acceder a mas datos, crear informes automatizados y construir dashboards personalizados. Aprende a configurarla y usarla efectivamente.

La API de Google Search Console abre un mundo de posibilidades para profesionales del SEO y desarrolladores. Mientras que la interfaz web esta limitada a 1,000 filas de datos y requiere trabajo manual, la API permite extraer hasta 50,000 filas por consulta, automatizar informes diarios, y crear integraciones personalizadas con otras herramientas.

Que es la API de Search Console

La Search Console API es una interfaz programatica que te permite acceder a los datos de tu propiedad de Search Console mediante codigo. Con ella puedes:

  • Extraer datos de rendimiento (clics, impresiones, CTR, posicion)
  • Obtener informacion sobre sitemaps
  • Inspeccionar URLs programaticamente
  • Listar propiedades verificadas
  • Integrar con otras herramientas y dashboards
50,000 filas de datos por consulta vs 1,000 en la interfaz web

Ventajas sobre la interfaz web

Caracteristica Interfaz Web API
Filas por consulta 1,000 50,000
Automatizacion No Si
Historico 16 meses 16 meses
Integraciones Limitadas Ilimitadas
Exportacion Manual Programatica

Configuracion inicial

Para usar la API necesitas configurar un proyecto en Google Cloud Console:

Paso 1: Crear proyecto en Google Cloud

  1. Ve a Google Cloud Console
  2. Crea un nuevo proyecto o selecciona uno existente
  3. Anota el ID del proyecto

Paso 2: Habilitar la API

  1. En el menu, ve a "APIs y servicios" > "Biblioteca"
  2. Busca "Google Search Console API"
  3. Haz clic en "Habilitar"

Paso 3: Crear credenciales

  1. Ve a "APIs y servicios" > "Credenciales"
  2. Haz clic en "Crear credenciales"
  3. Selecciona "ID de cliente de OAuth" para aplicaciones interactivas
  4. O "Cuenta de servicio" para automatizacion sin interaccion
Para scripts automatizados que corren sin interaccion del usuario, usa una cuenta de servicio. Para aplicaciones donde usuarios se autentican, usa OAuth 2.0.

Autenticacion OAuth 2.0

La API usa OAuth 2.0 para autenticacion. Aqui un ejemplo basico en Python:

from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build

SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']

def get_service():
    flow = InstalledAppFlow.from_client_secrets_file(
        'client_secrets.json', SCOPES)
    credentials = flow.run_local_server(port=0)

    service = build('searchconsole', 'v1', credentials=credentials)
    return service

Usando cuenta de servicio

from google.oauth2 import service_account
from googleapiclient.discovery import build

SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']

credentials = service_account.Credentials.from_service_account_file(
    'service_account.json', scopes=SCOPES)

service = build('searchconsole', 'v1', credentials=credentials)

"La cuenta de servicio debe ser agregada como usuario en Search Console para acceder a los datos de la propiedad."

Requisito importante

Endpoints principales

1. searchAnalytics.query

El endpoint mas usado. Obtiene datos de rendimiento:

request = {
    'startDate': '2026-01-01',
    'endDate': '2026-03-27',
    'dimensions': ['query', 'page'],
    'rowLimit': 25000
}

response = service.searchanalytics().query(
    siteUrl='https://ejemplo.com', body=request).execute()

Dimensiones disponibles

  • query: Consultas de busqueda
  • page: URLs de tu sitio
  • country: Pais del usuario
  • device: DESKTOP, MOBILE, TABLET
  • date: Fecha
  • searchAppearance: Tipo de resultado

2. sitemaps.list

Lista todos los sitemaps enviados:

sitemaps = service.sitemaps().list(
    siteUrl='https://ejemplo.com').execute()

3. urlInspection.index.inspect

Inspecciona el estado de indexacion de una URL:

request = {
    'inspectionUrl': 'https://ejemplo.com/pagina',
    'siteUrl': 'https://ejemplo.com'
}

response = service.urlInspection().index().inspect(
    body=request).execute()

Automatizacion sin codigo

Si no quieres programar, RSS AutoIndex automatiza el monitoreo de indexacion por ti, usando APIs de forma transparente.

Probar gratis

Ejemplos practicos

Ejemplo 1: Exportar todas las queries

def get_all_queries(service, site_url, start_date, end_date):
    all_rows = []
    start_row = 0

    while True:
        request = {
            'startDate': start_date,
            'endDate': end_date,
            'dimensions': ['query'],
            'rowLimit': 25000,
            'startRow': start_row
        }

        response = service.searchanalytics().query(
            siteUrl=site_url, body=request).execute()

        rows = response.get('rows', [])
        if not rows:
            break

        all_rows.extend(rows)
        start_row += len(rows)

        if len(rows) < 25000:
            break

    return all_rows

Ejemplo 2: Informe diario automatizado

import datetime
import pandas as pd

def daily_report(service, site_url):
    yesterday = (datetime.date.today() -
                 datetime.timedelta(days=3)).isoformat()

    request = {
        'startDate': yesterday,
        'endDate': yesterday,
        'dimensions': ['page'],
        'rowLimit': 5000
    }

    response = service.searchanalytics().query(
        siteUrl=site_url, body=request).execute()

    df = pd.DataFrame(response.get('rows', []))
    df.to_csv(f'report_{yesterday}.csv', index=False)

    return df

Ejemplo 3: Monitoreo de posiciones

def track_keywords(service, site_url, keywords):
    results = {}

    for keyword in keywords:
        request = {
            'startDate': '2026-03-20',
            'endDate': '2026-03-27',
            'dimensions': ['date'],
            'dimensionFilterGroups': [{
                'filters': [{
                    'dimension': 'query',
                    'expression': keyword
                }]
            }]
        }

        response = service.searchanalytics().query(
            siteUrl=site_url, body=request).execute()

        results[keyword] = response.get('rows', [])

    return results

Integraciones comunes

Google Sheets + Apps Script

Crea dashboards automaticos que se actualizan diariamente usando Google Apps Script para llamar a la API.

Data Studio / Looker Studio

Conecta directamente Search Console (nativo) o usa la API para datos mas detallados via BigQuery.

Python + Jupyter Notebooks

Analisis avanzado con pandas, matplotlib, y otras librerias de data science.

Herramientas de BI

Exporta datos a Tableau, Power BI, o cualquier herramienta que acepte CSV o conexion a bases de datos.

Los datos de Search Console tienen un retraso de 2-3 dias. No esperes datos en tiempo real.

Limites y cuotas

Cuotas de la API

Limite Valor
Solicitudes por dia 25,000
Solicitudes por minuto 600
Filas por solicitud 25,000
Historico disponible 16 meses

Mejores practicas para evitar limites

  • Implementa exponential backoff para reintentos
  • Cachea respuestas cuando sea posible
  • Agrupa solicitudes en lugar de hacer muchas pequenas
  • Usa paginacion eficiente

Conclusion

La API de Google Search Console es una herramienta poderosa para cualquier profesional SEO serio. En 2026, dominarla te permite:

  • Acceder a significativamente mas datos que la interfaz web
  • Automatizar informes y ahorrar horas de trabajo manual
  • Crear dashboards personalizados para clientes
  • Integrar datos SEO con otras fuentes de informacion
  • Monitorizar cambios de posicion y rendimiento a escala

Si bien requiere conocimientos tecnicos para configurar, el retorno de inversion en tiempo ahorrado es enorme para equipos que manejan multiples sitios o necesitan informes frecuentes.

Automatizacion lista para usar

Si prefieres no programar, RSS AutoIndex ofrece automatizacion de indexacion lista para usar, sin necesidad de codigo.

Crear cuenta gratis