Grab Google Rankings from VALUE SERP API using R'
PreviousGrab keywords search volume from DataForSeo API using R'NextClassify SEO Keywords using GPT-3 & R'
Last updated
# Loading the right libraries
library(httr)
library(jsonlite)
# Parameters list
params = list(
`api_key` = 'XXXXXX',
`q` = "covid",
`gl` = "fr",
`hl` = "fr",
`num` = 20,
`google_domain` = 'google.fr'
)
# q : the search query
# gl : 2 letter country code
# hl : language code
# num : number of result asked
# ask for the data
res <- httr::GET(url = 'https://api.valueserp.com/search', query = params)
# translate to string
res_text <- httr::content(res, "text")
# translate to a more readable format
res_json <- jsonlite::fromJSON(res_text, flatten = TRUE)View(res_json)serpValueRank <- function(myKwd, glang, hlang, nbr, tld){
library(httr)
library(jsonlite)
all_full_txt <- data.frame(matrix(ncol = 2, nrow = 0))
colnames(all_full_txt) <- c("kwd", "POS1")
for (i in 1:length(myKwd)) {
params = list(
`api_key` = 'XXXXXX',
`q` = myKwd[i],
`gl` = glang,
`hl` = hlang,
`num` = nbr,
`google_domain` = paste0('google', tld)
)
message(i, " ", myKwd[i])
all_full_txt[i, "kwd"] <- myKwd[i]
res <- httr::GET(url = 'https://api.valueserp.com/search', query = params)
res_text <- httr::content(res, "text")
res_json <- jsonlite::fromJSON(res_text, flatten = TRUE)
for (rslt in 1:length(res_json[["organic_results"]][["link"]])) {
all_full_txt[i, paste0("POS", rslt)] <-
res_json[["organic_results"]][["link"]][[rslt]]
}
}
return(all_full_txt)
}ranking <- serpValueRank("covid", "fr", "fr", 20, ".fr")
View(ranking)
kwds <- c("covid", "covid test", "covid booster")
kwdsRankings <- serpValueRank(kwds, "fr", "fr", 20, ".fr")
View(kwdsRankings)