API de Google Search Console: cuotas, límites y cuánto cuesta
La API de Search Console es gratis y devuelve 25.000 filas por petición en vez de las 1.000 que exporta la interfaz. Las cuotas oficiales, qué añade sobre la web y qué sigue sin darte.
Por Richard Castro · 16 de agosto de 2026 · 9 min de lectura
La API de Google Search Console es gratis: no tiene plan de pago, solo cuotas. Para Search Analytics el límite es de 1.200 consultas por minuto y por sitio y 1.200 por minuto y por usuario, y una sola petición devuelve hasta 25.000 filas frente a las 1.000 que exporta la interfaz web.
Una cuota es un freno, no una factura. Cuando la superas recibes un 429, nunca un cargo.
Esa cifra de filas es la razón por la que casi todo el mundo acaba buscando la API, y es la diferencia entre analizar tus datos y analizar una muestra de ellos.
¿Cuánto cuesta la API de Google Search Console?
Nada. Google no cobra por ella y no hay cuenta de facturación que asociar. La página oficial de límites solo enumera cuotas.
Sí necesitas un proyecto en Google Cloud para crear las credenciales, y ese proyecto puede contener APIs de pago, pero la de Search Console no es una de ellas. Activarla no suma nada a tu factura.
Qué pasa cuando te pasas
Recibes un 429 y la petición falla. No se cobra nada, no se encola nada, y la ventana se reinicia sola.
La consecuencia práctica es que tu código tiene que contar con ello. Un reintento con backoff exponencial convierte un fallo duro en una pausa, y eso es la diferencia entre una exportación que termina y otra que muere a mitad de un sitio grande.
Las cuotas oficiales, tal cual las publica Google
Google separa los límites por recurso, y no son intercambiables. Mira la fila que corresponde a lo que estás llamando.
Search Analytics
| Ámbito | Límite |
|---|---|
| Por sitio | 1.200 QPM |
| Por usuario | 1.200 QPM |
| Por proyecto | 30.000.000 QPD y 40.000 QPM |
Para casi cualquier uso real son generosas. La exportación completa de una propiedad grande son unos cientos de llamadas, lejísimos de 1.200 en un minuto.
Inspección de URLs
| Ámbito | Límite |
|---|---|
| Por sitio | 2.000 QPD y 600 QPM |
| Por proyecto | 10.000.000 QPD y 15.000 QPM |
El de 2.000 al día por sitio es el que duele. Si el plan era inspeccionar cada URL de un sitio grande a diario, no cabe, y ningún paralelismo lo arregla.
Todo lo demás
Sitemaps y recursos de sitio van a 20 QPS y 200 QPM por usuario, con 100.000.000 QPD por proyecto. Son llamadas que haces de vez en cuando, así que el techo rara vez importa.
Las cuotas de carga, el límite que nadie prevé
Además del número de llamadas, Search Analytics arrastra dos cuotas de carga: una a corto plazo medida en bloques de 10 minutos y otra a largo plazo medida en bloques de 1 día.
La carga mide lo pesadas que son tus consultas, no cuántas envías. Unas pocas peticiones muy grandes, con varias dimensiones y un rango de fechas amplio, pueden alcanzarla con tu QPM lejos del techo.
Si te frenan y tu recuento de llamadas parece inocente, casi siempre es esto. Acortar el rango de fechas por petición lo arregla más veces que ir más despacio.
El límite que de verdad importa: 1.000 filas frente a 25.000
Exporta un informe de Rendimiento desde la interfaz y te llevas 1.000 filas. Para un sitio que pase de sus primeros meses eso no es una muestra de tus datos, es la punta, y la cola larga que estás cortando es justo donde viven las oportunidades sin reclamar.
El parámetro rowLimit acepta de 1 a 25.000 y usa 1.000 por defecto si lo omites. Ese valor por defecto engaña a mucha gente: llaman a la API, reciben mil filas y concluyen que la API tiene el mismo tope que la interfaz.
Cómo paginar el conjunto entero
Combina rowLimit con startRow, el índice de la primera fila empezando en cero:
{
"startDate": "2026-05-01",
"endDate": "2026-08-01",
"dimensions": ["query", "page"],
"rowLimit": 25000,
"startRow": 0
}
Pide 25.000. Si te devuelven 25.000, hay más, así que sube startRow otras 25.000 y repite hasta que una respuesta venga corta. Una respuesta con menos filas de las que pediste es el final del conjunto.
Un aviso antes de montar el bucle: cuantas más dimensiones agrupes, más filas existen. Cruzar consulta y página en un sitio mediano puede multiplicar el número de filas hasta seis cifras.
Lo que te da la API, y lo que no
El límite de filas se lleva la atención, pero la razón para construir sobre la API suele ser una de estas cuatro.
Varias dimensiones a la vez
Puedes agrupar por country, device, page, query, date, hour y searchAppearance.
Cruzar query y page en una sola llamada es lo que cambia tu forma de trabajar. Te dice qué página está posicionando de verdad para qué término, el cruce que la interfaz te obliga a hacer a mano, filtro a filtro. Es también como detectas dos páginas tuyas compitiendo por el mismo término, que es el punto de partida de cualquier auditoría de canibalización de keywords.
Filtros de verdad, con regex incluida
Los filtros de dimensión admiten contains, equals, notContains, notEquals, includingRegex y excludingRegex, con la regex en sintaxis RE2.
Así sacas todas las consultas que contienen una palabra interrogativa, o todas las URLs bajo /blog/ menos las de etiquetas, en una petición en vez de en doce exportaciones.
Control sobre la frescura
dataState acepta final (por defecto, solo datos consolidados), all (incluye datos frescos, todavía en movimiento) y hourly_all (desglose por horas con datos parciales).
Si estás mirando el efecto de un cambio que subiste esta mañana, quieres all. Si estás informando a alguien, quieres final, porque los datos frescos se revisan solos y te dejan en evidencia una semana después.
El desglose por horas se combina con la dimensión hour y sirve sobre todo para una cosa concreta: comprobar si un despliegue rompió algo. Una página que deja de recibir impresiones a partir de determinada hora te dice cuándo, y con el cuándo casi siempre deduces el qué.
Tipos de búsqueda más allá de la web
type acepta web (por defecto), discover, googleNews, news, image y video. Discover en particular es fácil olvidar que existe, y para un medio puede ser una parte enorme del tráfico que nunca aparece en un informe solo de web.
Lo que sigue sin darte
Las consultas anonimizadas. Google oculta las consultas raras por privacidad en la API igual que en la interfaz. Tus totales de clics e impresiones no van a cuadrar sumando las filas de consulta, y no hay paginación que lo arregle, porque esas filas no están ahí para pedirlas.
Más de 16 meses. Es la ventana de retención. Un histórico más largo tiene que ser uno que guardes tú, empezando hoy.
Por qué una URL no se indexa, a escala. Eso lo responde Inspección de URLs de una en una, a 2.000 por día y por sitio.
Nada sobre la competencia. La API solo devuelve datos de propiedades a las que tienes acceso. Cualquier herramienta que prometa datos de búsqueda de un competidor los está estimando desde un índice de terceros, no leyéndolos de Search Console.
Cómo empezar
- Crea un proyecto en Google Cloud Console y activa la API de Search Console.
- Crea las credenciales. OAuth 2.0 para actuar como usuario, o una cuenta de servicio que después añades como usuario de la propiedad dentro de Search Console.
- Haz
POSTahttps://www.googleapis.com/webmasters/v3/sites/{siteUrl}/searchAnalytics/querycon tu cuerpo JSON.
La referencia de consultas de Search Analytics tiene la lista completa de parámetros.
Errores frecuentes al configurar
Olvidar codificar {siteUrl} para URL. Una propiedad de dominio se escribe sc-domain:ejemplo.com y los dos puntos hay que codificarlos. La mayoría de los 404 del primer intento son esto.
Crear una cuenta de servicio y no añadirla a la propiedad. Las credenciales son válidas y aun así la API no devuelve nada, porque esa cuenta no tiene acceso en Search Console. Añádela allí como usuario, igual que a una persona.
Elegir el tipo de propiedad equivocado. Una propiedad de dominio y una de prefijo de URL son propiedades distintas con datos distintos. Si consultas la que no es, los números no cuadrarán con la interfaz.
Pedir un rango de fechas enorme de golpe. Tienta pedir los 16 meses en una sola llamada. Es la forma más rápida de tropezar con una cuota de carga, y encarece los reintentos cuando una falla. Trocear por meses se escribe más lento y corre mucho mejor.
Qué hacer ahora
Si solo necesitas sacar tus datos de vez en cuando, seguramente no te hace falta la API. Un conector sin código lo cubre, y las rutas hacia Sheets, Looker Studio y Power BI se montan antes.
Si estás construyendo algo que corre en automático, empieza por una sola llamada a searchAnalytics/query, deja la paginación funcionando antes que nada y mete el backoff ante 429 desde la primera versión, no después de la primera exportación fallida.
Y si prefieres saltarte la fontanería, AnalySEO se conecta por esta misma API y pagina por ti, así que el análisis corre sobre todas tus consultas y no sobre las primeras 1.000 filas. Lee los datos y te dice qué páginas editar y qué keywords en distancia de golpe están lo bastante cerca. Puedes conectar una propiedad gratis sin tarjeta.
Preguntas frecuentes
¿La API de Google Search Console es gratis?
Sí. No tiene plan de pago ni cuenta de facturación que asociar. Google publica cuotas en vez de precios, así que superar una devuelve un error 429 hasta que se reinicia la ventana, nunca un cargo.
¿Cuáles son las cuotas de la API de Search Console?
Search Analytics permite 1.200 consultas por minuto y por sitio, y 1.200 por minuto y por usuario, más 30.000.000 al día y 40.000 por minuto por proyecto. Inspección de URLs está limitada a 2.000 al día y 600 por minuto por sitio. El resto de recursos va a 20 QPS y 200 QPM por usuario.
¿Cuántas filas devuelve la API de Search Console?
Hasta 25.000 por petición, frente a las 1.000 que exporta la interfaz web. El parámetro rowLimit acepta de 1 a 25.000 y usa 1.000 por defecto, así que hay que fijarlo a mano. Combínalo con startRow para recorrer el conjunto completo.
¿Dónde está la documentación oficial de la API de Search Console?
La referencia de cuotas está en developers.google.com/webmaster-tools/limits y la de consultas de Search Analytics, con todos los parámetros, en developers.google.com/webmaster-tools/v1/searchanalytics/query.
¿La API devuelve las consultas que Search Console oculta?
No. Google oculta las consultas raras por privacidad en la API igual que en la interfaz, y por eso tus totales de clics e impresiones no cuadran sumando las filas de consulta.