Cómo usar la API de SEMRush

Jose Vicente

Escrito por Jose Vicente

Seguimos revisando las APIs de herramientas SEO, tras ver cómo se usa la API de Sistrix, es el turno de probar el uso de la API de SEMRush desde Google Spreadsheet. Como ya comentamos en el anterior artículo, la idea es hacer uso de estas herramientas SEO desde Google Spreadsheet, de modo que podamos acceder a ambas herramientas desde una interfaz que usamos habitualmente. Por lo tanto no será necesario ser programador o tener unos conocimientos técnicos avanzados para aprovechar la API de SEMRush, aunque si tenemos nociones de programación podremos incorporarlos al backend de nuestra Web.

Como ya comentamos las bondades de automatizar este tipo de cuadros de mando, pasamos a ver cómo incorporamos los datos de SEMRush a nuestro panel de control de ejemplo.

Acceso a la API de SEMRush

Para acceder a la API de SEMRush necestiamos obtener nuestra API key desde la página http://es.semrush.com/es/api-use/. Se trata de un código alfanumérico de 32 caracteres que deberemos incluir en todas las peticiones a la API. Para conocer el consumo de unidades de la herramienta, log y otros datos solo debemos acceder a nuestro perfil. Desde la API de SEMRush podremos acceder a datos relacionados con dominios, keywords o lo que llaman analytics API; pero también a los datos relacionados con nuestros proyectos y cuenta de SEMRush.

La API de SEMRush nos devuelve datos en formato CSV a diferencia de la de Sistrix que puede hacerlo en formato XML o JSON.

En el caso de SEMRush la API nos devuelve una respuesta en html con columnas separadas por punto y coma, como si de un CSV se tratara, de modo que para acceder a estos datos haremos una petición HTTP como por ejemplo http://api.semrush.com/?type=domain_rank&key=API_KEY&export_columns=Dn,Rk,Or,Ot,Oc,Ad,At,Ac&domain=seobook.com&database=us

En este caso hemos hecho una consulta de datos relacionados con un dominio a la API de SEMRush con los siguientes parámetros:

  • type: el tipo de consulta que queremos hacer, sobre el dominio, keywords, backlinks, etc.
  • key: nuestra API key.
  • export_columns: las columnas que queremos obtener en la consulta a la API.
  • domain: nombre del dominio del que queremos obtener la información.
  • database: la base de datos del país del que queremos obtener los datos.

Que devolverá la siguiente respuesta:

Domain;Rank;Organic Keywords;Organic Traffic;Organic Cost;Adwords Keywords;Adwords Traffic;Adwords Cost seobook.com;24041;5249;37332;143496;0;0;0

Como se puede ver en la respuesta, siempre empieza por una fila con el nombre de las columnas y bajo ésta al menos una fila con los datos solicitados a la API de SEMRush. Si importamos a Google Spreadsheet la respuesta usando la función IMPORTDATA, en la hoja de cálculo tendremos cada línea en una celda. No obtenemos cada dato en una celda porque Google Spreadsheet maneja los CSV con comas como delimitadores y la respuesta es recibida con puntos y comas.

Respuesta de la API en Google Spreadsheet

Para solucionar esto solo tenemos que aplicar la función SPLIT, esta función separa en columnas un texto por el delimitador que indiquemos. Por ejemplo, para transformar A1 en columnas por el delimitador punto y coma usaremos la función SPLIT(A1,«;») con lo que obtendríamos el siguiente resultado en Google Spreadsheet.

Respuesta API de SEMRush en Google Spreadsheet parseada

De este modo ya tenemos cada dato en una celda de nuestra hoja de cálculo y podremos referenciarlas desde nuestro cuadro de mando. Podríamos obtener cada dato en una celda, pero al hacerlo en conjunto podremos ahorrar peticiones y por lo tanto en unidades usadas de nuestra API, ya que SEMRush consume unidades del crédito de nuestra cuenta en función del número de filas descargadas, no de las columnas.

Completando nuestro cuadro de mando

Como ya comentamos en el anterior artículo sobre la API de Sistrix, montar un cuadro de mandos cobra mayor sentido cuando podemos obtener datos de diversas herramientas. De este modo nos ahorraremos el tener que acceder a cada una de las herramientas para comparar los datos de varios dominios. Por lo tanto añadimos los datos referentes al posicionamiento orgánico y de AdWords de la forma que acabamos de ver.

Datos API Semrush en Drive

Incorporamos la API key de SEMRush a la pestaña de configuración y en otra pestaña obtenemos los datos de la API de SEMRush de cada dominio para referenciarlos y darle formato desde el cuadro de mando.

Cuadro de mando en Drive con datos de Sistrix y Semrush

Si hacemos uso de los formatos condicionales de las hojas de cálculo de Drive, no necesitaremos tener gráficas para poder analizar los datos de un solo vistazo. Si revisamos los datos de la captura anterior de los 5 dominios elegidos al azar podemos sacar las siguientes conclusiones:

  • Pese a tener un menor número de páginas indexadas, bikestocks.es parece ser el dominio con mejor visibilidad en SEO, podría ser el mejor optimizado de los 5. En el lado opuesto está retto.com, que con un mayor número de páginas tiene peores indicadores de visibilidad.
  • El dominio bikester.es podría ser el que mayor inversión está haciendo en AdWords.
  • El dominio retto.com es el que mejores indicadores tiene en redes sociales, es posible que esté manteniendo más sus perfiles que el resto de competidores.

A este ejemplo que podéis descargar desde este enlace, podéis añadir otros indicadores que nos ofrecen Sistrix, SEMRush o cualquier otra herramienta que disponga de API. Recordad que para que funcione el cuadro de mando debemos configurar las claves de la API de Sistrix y SEMRush en la pestaña de Configuración. Este tipo de cuadro es útil a la hora de monitorizar nuestro sitio frente a la competencia o para tener unos indicadores para comparar los datos de un dominio que nos ha pedido presupuesto frente a sus competidores.

 

  •  | 
  • Modificado el
Jose Vicente
Jose Vicente
Responsable del departamento de SEO y consultor en Human Level. Graduado en Ingeniería Informática. Experto en SEO y analítica web con certificación en Google Analytics. Profesor del Máster de SEO-SEM Profesional de Kschool.

¿Y tú qué opinas? Deja un comentario

Por si acaso, tu email no se mostrará ;)

Entradas relacionadas

es