How to use Google Search Console API with R

Share this post

This post is part of the Guide on Google Search Console API

Automation is a big hub in SEO and R is one of the greatest tools to help you do just that. But first, you need to be able to understand how to collect data from APIs.

In this guide, I will show you how to connect to the Google Search Console API and extract keywords from the API with the “searchConsoleR” package created by Mark Edmondson.

This guide is part of the complete tutorial on the Google Search Console API.

How to Get Google Search Console API Keys

You will need an API key to be able to connect to the Google Search Console API.

The API key is like your username and password to access the API.

Follow this guide to help you get your Google Search Console API key.

Once you have created your Google developer account and have downloaded your API key, you will be ready to connect to the Search Console API using R.

How to use the Search Console API in RStudio (Step-by-step)

Now that we have set-up our credentials for the Search Console API, I will show you how to use the searchConsoleR package to extract keywords data from Google Search Console.

1. The basics: downloading R and RStudio

For the next step, you will need to download R and RStudio.

If you don’t know what it is or how to use it, I strongly recommend that uou readHands-On Programming With R, especially the part that shows how to install R and RStudio.

R programming isn’t too hard to learn and RStudio makes it easy to work with this language.

2. Get ready: Install packages and load libraries

Now that you understand the basics of R and RStudio, I will show you how to Install packages and load libraries.

What are packages and why use them?

Packages in R are collections of functions and compiled code. Most of the best R functions are not in R when you download it. They can be installed on top of R so you can gain access to their libraries.

Install packages

In this project, we will use the googleAuthR  and the searchConsoleR packages. The first will allow you to authenticate and the second will give you access to the API from R. To use those packages, you must first install them on your computer.  Then you will load them in your current R session.

Copy this bit of code in your R session and run the code.

#install packages
install.packages("googleAuthR")
install.packages("searchConsoleR")
#Load Libraries
library(googleAuthR)
library(searchConsoleR)

3. Authenticate to the searchConsoleR

Now you will need to authenticate to the search console.  Copy this bit of code and add it next to what you already had, then run the code.

#Setting your data
website <- "https://www.example.com" # Enter your website here
nbrow <- 10000 #Number of rows you will collect from Search Console
#Authenticate in the Google Search Console API
options("googleAuthR.scopes.selected" =
c("https://www.googleapis.com/auth/webmasters",
"https://www.googleapis.com/auth/webmasters.readonly"))
#Add your client.id and client.secret here
options("googleAuthR.client_id" = "xxxxxxxx-.apps.googleusercontent.com")
options("googleAuthR.client_secret" = "xxxxxxxx_xxxxxxxxxxxxxx")
googleAuthR::gar_auth()
#Stop and authenticate in your browser

If everything goes right, you should have a pop-up in your browser looking like this:

googleauthr search console api

Great! Now that you are set up, let’s dive-in the best part!

SEO Hack you can do using the Search Console API with R

In this part, I will show you how to export queries per page, get your Job Posting best ranked queries and to extract all your indexed pages from the Search Console API using R Studio SEO Hacks.

Export best queries per page from Google Search Console

To export best queries per page, you will need to copy and paste this bit of code in RStudio.

queries_page <- search_analytics(siteURL="https://www.example.com",
startDate = Sys.Date() - 93, #Start of analysis period (90 days before the end date)
endDate = Sys.Date() - 3 , #data given in search console is from 3 days ago, so we collect data from -3 days
dimensions = c('query', 'page'), #There are 6 dimensions you can dowload: date, searchAppearance, query, page, device, country
#searchType = c('image'), #Optional, default is "web"
rowLimit = nbrow,
#dimensionFilterExp = c("device==DESKTOP","country==GBR"), #optional
walk_data = "byBatch") 

Other APIs You Might Be Interested In

Looking for the next steps to improve your skills using APIs?