Search Analytics: query

Requiere autorización

Consulta tus datos de tráfico de búsqueda con los filtros y parámetros que definas. El método devuelve cero o más filas agrupadas por las claves de fila (dimensiones) que definas. Debes definir un período de uno o más días.

Cuando la fecha es una de las dimensiones, los días sin datos se omiten de la lista de resultados. Para saber qué días tienen datos, ejecuta una consulta sin filtros agrupados por fecha para el período de interés.

Los resultados se ordenan de forma descendente según el recuento de clics. Si dos filas tienen el mismo recuento de clics, se ordenan de forma arbitraria.

Consulta el ejemplo de Python para llamar a este método.

La API está limitada por las limitaciones internas de Search Console y no garantiza que se devuelvan todas las filas de datos, sino solo las principales.

Consulta los límites de la cantidad de datos disponibles.

Ejemplo de POST en JSON:
POST https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.example.com%2F/searchAnalytics/query?key={MY_API_KEY}
{
  "startDate": "2015-04-01",
  "endDate": "2015-05-01",
  "dimensions": ["country","device"]
}
Pruébalo ahora.

Solicitud

Solicitud HTTP

POST https://www.googleapis.com/webmasters/v3/sites/siteUrl/searchAnalytics/query

Parámetros

Nombre del parámetro Valor Descripción
Parámetros de ruta de acceso
siteUrl string Es la URL de la propiedad, como se define en Search Console. Ejemplos: http://www.example.com/ (para una propiedad de prefijo de URL) o sc-domain:example.com (para una propiedad de dominio)

Autorización

Esta solicitud requiere autorización con al menos uno de los siguientes alcances (obtén más información acerca de la autenticación y autorización).

Alcance
https://www.googleapis.com/auth/webmasters.readonly
https://www.googleapis.com/auth/webmasters

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporciona datos con la siguiente estructura:

{
  "startDate": string,
  "endDate": string,
  "dimensions": [
    string
  ],
  "type": string,
  "dimensionFilterGroups": [
    {
      "groupType": string,
      "filters": [
        {
          "dimension": string,
          "operator": string,
          "expression": string
        }
      ]
    }
  ],
  "aggregationType": string,
  "rowLimit": integer,
  "startRow": integer
}
Nombre de la propiedad Valor Descripción Notas
startDate string [Obligatorio] Fecha de inicio del período solicitado, en formato AAAA-MM-DD, en hora del Pacífico (UTC-7:00/8:00). Debe ser menor o igual que la fecha de finalización. Este valor se incluye en el rango.
endDate string [Obligatorio] Fecha de finalización del período solicitado, en formato AAAA-MM-DD y hora del Pacífico (UTC -7:00/8:00). Debe ser mayor o igual que la fecha de inicio. Este valor se incluye en el rango.
dimensions[] list [Opcional] Cero o más dimensiones para agrupar los resultados. Los resultados se agrupan en el orden en que proporcionas estas dimensiones. Puedes usar cualquier nombre de dimensión en dimensionFilterGroups[].filters[].dimension, así como "date" y "hour". Los valores de la dimensión de agrupación se combinan para crear una clave única para cada fila de resultados. Si no se especifican dimensiones, todos los valores se combinarán en una sola fila. No hay límite para la cantidad de dimensiones por las que puedes agrupar los datos, pero no puedes agruparlos por la misma dimensión dos veces. Ejemplo: [país, dispositivo]
searchType string Obsoleto. Usa type en su lugar
type string [Opcional] Filtra los resultados según el siguiente tipo:
  • "discover": Resultados de Descubre
  • "googleNews": Resultados de news.google.com y la app de Google Noticias en iOS y Android. No incluye los resultados de la pestaña "Noticias" de la Búsqueda de Google.
  • "news": Son los resultados de la búsqueda de la pestaña "Noticias" en la Búsqueda de Google.
  • "image": Son los resultados de la búsqueda de la pestaña "Imágenes" en la Búsqueda de Google.
  • "video": Resultados de la búsqueda de videos
  • "web": [Predeterminado] Filtra los resultados en la pestaña combinada ("Todo") de la Búsqueda de Google. No incluye los resultados de Descubre ni de Google Noticias.
dimensionFilterGroups[] list [Opcional] Cero o más grupos de filtros para aplicar a los valores de agrupación de dimensiones. Todos los grupos de filtros deben coincidir para que se muestre una fila en la respuesta. Dentro de un mismo grupo de filtros, puedes especificar si todos los filtros deben coincidir o si al menos uno debe coincidir.
dimensionFilterGroups[].groupType string Indica si todos los filtros de este grupo deben devolver verdadero ("y") o si uno o más deben devolver verdadero (aún no se admite).

Los valores aceptables son los siguientes:
  • "and": Todos los filtros del grupo deben devolver el valor verdadero para que el grupo de filtros t sea verdadero.
dimensionFilterGroups[].filters[] list [Opcional] Cero o más filtros para probar en la fila. Cada filtro consta de un nombre de dimensión, un operador y un valor. La longitud máxima es de 4,096 caracteres. Ejemplos:
country equals FRA
query contains mobile use
device notContains tablet
dimensionFilterGroups[].filters[].dimension string Es la dimensión a la que se aplica este filtro. Puedes filtrar por cualquier dimensión que se indique aquí, incluso si no agrupas por esa dimensión.

Los valores aceptables son los siguientes:
  • "country": Filtra según el país especificado, tal como se indica en el código de país de 3 letras (ISO 3166-1 alfa-3).
  • "device": Filtra los resultados según el tipo de dispositivo especificado. Valores admitidos:
    • DESKTOP
    • MÓVIL
    • TABLET
  • "page": Filtra según la cadena de URI especificada.
  • "query": Filtra según la cadena de búsqueda especificada.
  • "searchAppearance": Filtra según una función específica de los resultados de la búsqueda. Para ver una lista de los valores disponibles, ejecuta una consulta agrupada por "searchAppearance". La lista completa de valores y descripciones también está disponible en la documentación de ayuda.
dimensionFilterGroups[].filters[].operator string [Opcional] Indica cómo debe coincidir (o no coincidir) el valor especificado con el valor de la dimensión de la fila.

Los valores aceptables son los siguientes:
  • "contains": El valor de la fila debe contener tu expresión o ser igual a ella (sin distinción entre mayúsculas y minúsculas).
  • "equals": [Predeterminado] Tu expresión debe ser exactamente igual al valor de la fila (distingue mayúsculas de minúsculas para las dimensiones de página y de búsqueda).
  • "notContains": El valor de la fila no debe contener tu expresión como subcadena ni como coincidencia completa (sin distinción entre mayúsculas y minúsculas).
  • "notEquals": Tu expresión no debe ser exactamente igual al valor de la fila (distingue mayúsculas de minúsculas para las dimensiones de página y de búsqueda).
  • "includingRegex": Una expresión regular con sintaxis RE2 con la que se debe establecer una coincidencia.
  • "excludingRegex": Una expresión regular de sintaxis RE2 con la que no se debe establecer ninguna coincidencia.
dimensionFilterGroups[].filters[].expression string Es el valor con el que se debe coincidir o excluir el filtro, según el operador.
aggregationType string

[Opcional] Es la forma en que se agregan los datos. Si se agregan por propiedad, se agregan todos los datos de la misma propiedad. Si se agregan por página, todos los datos se agregan por URI canónico. Si filtras o agrupas por página, elige la opción automática. De lo contrario, puedes agregar los datos por propiedad o por página, según cómo desees que se calculen. Consulta la documentación de ayuda para obtener información sobre cómo se calculan los datos de forma diferente por sitio y por página.

Nota: Si agrupas o filtras por página, no puedes agregar por propiedad.

Si especificas cualquier valor que no sea automático, el tipo de agregación en el resultado coincidirá con el tipo solicitado o, si solicitas un tipo no válido, recibirás un error. La API nunca cambiará tu tipo de agregación si el tipo solicitado no es válido.

Los valores aceptables son los siguientes:
  • "auto": [Predeterminado] Permite que el servicio decida el tipo de agregación adecuado.
  • "byNewsShowcasePanel": Agrega valores por panel de News Showcase. Se debe usar en combinación con el filtro NEWS_SHOWCASE searchAppearance y type=discover o type=googleNews. Si agrupas por página, filtras por página o filtras a otro searchAppearance, no puedes agregar por byNewsShowcasePanel.
  • "byPage": Agrega valores por URI.
  • "byProperty": Agrega valores por propiedad. No es compatible con type=discover ni type=googleNews
rowLimit integer [Opcional; el rango válido es de 1 a 25,000; el valor predeterminado es 1,000] Es la cantidad máxima de filas que se mostrarán. Para desplazarte por los resultados, usa el desplazamiento startRow.
startRow integer [Opcional; el valor predeterminado es 0] Índice basado en cero de la primera fila de la respuesta. Debe ser un número no negativo. Si startRow supera la cantidad de resultados de la búsqueda, la respuesta será exitosa con cero filas.
dataState string [Opcional] Si es "all" (sin distinción entre mayúsculas y minúsculas), los datos incluirán datos nuevos. Si se establece en "final" (sin distinción entre mayúsculas y minúsculas) o si se omite este parámetro, los datos devueltos solo incluirán datos finalizados. Si es "hourly_all" (sin distinguir mayúsculas de minúsculas), los datos incluirán el desglose por hora. Esto indicará que los datos por hora incluyen datos parciales y se deben usar cuando se agrupan por la dimensión de la API de HOUR.

Respuesta

Los resultados se agrupan según las dimensiones especificadas en la solicitud. Todos los valores con el mismo conjunto de valores de dimensión se agruparán en una sola fila. Por ejemplo, si agrupas los datos por la dimensión país, todos los resultados de "usa" se agruparán, todos los resultados de "mdv" se agruparán y así sucesivamente. Si agrupaste los datos por país y dispositivo, se agruparán todos los resultados de "EE.UU., tablet", todos los resultados de "EE.UU., dispositivo móvil", y así sucesivamente. Consulta la documentación del informe de Estadísticas de búsqueda para conocer los detalles sobre cómo se calculan los clics, las impresiones, etcétera, y qué significan.

Los resultados se ordenan por recuento de clics, en orden descendente, a menos que los agrupes por fecha, en cuyo caso se ordenan por fecha, en orden ascendente (primero los más antiguos y, luego, los más recientes). Si hay un empate entre dos filas, el orden de clasificación es arbitrario.

Consulta la propiedad rowLimit en la solicitud para conocer la cantidad máxima de valores que se pueden devolver.

{
  "rows": [
    {
      "keys": [
        string
      ],
      "clicks": double,
      "impressions": double,
      "ctr": double,
      "position": double
    }
  ],
  "responseAggregationType": string
}
Nombre de la propiedad Valor Descripción Notas
rows[] list Es una lista de filas agrupadas por los valores clave en el orden indicado en la consulta.
rows[].keys[] list Es una lista de los valores de dimensión de esa fila, agrupados según las dimensiones de la solicitud y en el orden especificado en la solicitud.
rows[].clicks double Es el recuento de clics de la fila.
rows[].impressions double Es el recuento de impresiones de la fila.
rows[].ctr double Es la tasa de clics (CTR) de la fila. Los valores varían de 0 a 1.0, inclusive.
rows[].position double Es la posición promedio en los resultados de la búsqueda.
responseAggregationType string Cómo se agregaron los resultados Consulta la documentación de ayuda para obtener información sobre cómo se calculan los datos de manera diferente por sitio y por página.

Los valores aceptables son los siguientes:
  • "auto"
  • "byPage": Los resultados se agregaron por página.
  • "byProperty": Los resultados se agregaron por propiedad.
metadata object

Es un objeto que se puede devolver con los resultados de la búsqueda y que proporciona contexto sobre el estado de los datos.

Cuando solicitas datos recientes (con all o hourly_all para dataState), es posible que algunas de las filas que se muestran representen datos incompletos, lo que significa que los datos aún se están recopilando y procesando. Este objeto de metadatos te ayuda a identificar exactamente cuándo comienza y termina.

Todas las fechas y horas proporcionadas en este objeto se encuentran en la zona horaria America/Los_Angeles.

El campo específico que se devuelve dentro de este objeto depende de cómo agrupaste tus datos en la solicitud:

  • first_incomplete_date (string): Es la primera fecha para la que aún se recopilan y procesan los datos, presentada en formato YYYY-MM-DD (formato de fecha local extendido ISO-8601).

    Este campo solo se completa cuando el dataState de la solicitud es all, los datos se agrupan por date y el período solicitado contiene puntos de datos incompletos.

    Todos los valores posteriores al first_incomplete_date pueden seguir cambiando de forma notable.

  • first_incomplete_hour (string): Es la primera hora para la que aún se recopilan y procesan los datos, presentada en formato YYYY-MM-DDThh:mm:ss[+|-]hh:mm (formato de fecha y hora con desplazamiento extendido ISO-8601).

    Este campo solo se completa cuando el dataState de la solicitud es hourly_all, y los datos se agrupan por hour y el período solicitado contiene puntos de datos incompletos.

    Todos los valores posteriores al first_incomplete_hour pueden seguir cambiando de forma notable.

Pruébalo

Usa el Explorador de APIs que se encuentra a continuación para llamar a este método en datos en vivo y ver la respuesta.