A few years back I reused some of Vincent Terrasi code on R to look for URL comparison on Similar web.
What my first version of the code looked like
And it looked like this:
# All rights reserved to Vincent Terrasi (@voltek62) and his script api-similarweb.R -> https://gist.github.com/voltek62/784cf6cb29c76c182ae12b0481645fc2
library(httr)
library(jsonlite)
# Doc : https://www.similarweb.com/corp/developer/
# Create your key here : https://pro.similarweb.com/#/account/api-management
# Free for 3 Months of Web Traffic Data
# Build your url
key <- "YOURKEY"
your_site1 <- "yourwebsite1.com"
url1 <- paste0("https://api.similarweb.com/v1/website/",your_site1,"/total-traffic-and-engagement/visits?api_key=",key,"&start_date=2018-03&end_date=2018-05&main_domain_only=false&granularity=monthly")
your_site2 <- "yourwebsite2.com"
url2 <- paste0("https://api.similarweb.com/v1/website/",your_site2,"/total-traffic-and-engagement/visits?api_key=",key,"&start_date=2018-03&end_date=2018-05&main_domain_only=false&granularity=monthly")
your_site3 <- "yourwebsite3.com"
url3 <- paste0("https://api.similarweb.com/v1/website/",your_site3,"/total-traffic-and-engagement/visits?api_key=",key,"&start_date=2018-03&end_date=2018-05&main_domain_only=false&granularity=monthly")
your_site4 <- "yourwebsite4.com"
url4 <- paste0("https://api.similarweb.com/v1/website/",your_site4,"/total-traffic-and-engagement/visits?api_key=",key,"&start_date=2018-03&end_date=2018-05&main_domain_only=false&granularity=monthly")
your_site5 <- "yourwebsite5.com"
url5 <- paste0("https://api.similarweb.com/v1/website/",your_site5,"/total-traffic-and-engagement/visits?api_key=",key,"&start_date=2018-03&end_date=2018-05&main_domain_only=false&granularity=monthly")
# Get your result for each website
result1 <- GET(url1)
result2 <- GET(url2)
result3 <- GET(url3)
result4 <- GET(url4)
result5 <- GET(url5)
textcontent1 <- content(result1,as = "text", encoding = "UTF-8")
textcontent2 <- content(result2,as = "text", encoding = "UTF-8")
textcontent3 <- content(result3,as = "text", encoding = "UTF-8")
textcontent4 <- content(result4,as = "text", encoding = "UTF-8")
textcontent5 <- content(result5,as = "text", encoding = "UTF-8")
jsoncontent1 <- fromJSON(textcontent1)
jsoncontent2 <- fromJSON(textcontent2)
jsoncontent3 <- fromJSON(textcontent3)
jsoncontent4 <- fromJSON(textcontent4)
jsoncontent5 <- fromJSON(textcontent5)
# Print your results
print(jsoncontent1$visits)
print(jsoncontent2$visits)
print(jsoncontent3$visits)
print(jsoncontent4$visits)
print(jsoncontent5$visits)
The reforrmated version is better
Now, I reformated it a bit with a loop and it looks way better (isn't it?)
library(httr)
library(jsonlite)
# Set your API key
key <- "YOURKEY"
# Create a vector of your sites
sites <- c("yourwebsite1.com", "yourwebsite2.com", "yourwebsite3.com", "yourwebsite4.com", "yourwebsite5.com")
# Base URL for the API
base_url <- "https://api.similarweb.com/v1/website/"
# Parameters of your request
params <- "/total-traffic-and-engagement/visits?api_key="
start_date <- "2018-03"
end_date <- "2018-05"
main_domain_only <- "false"
granularity <- "monthly"
# Loop through each site, get and print the JSON results for visits
for (site in sites) {
# Construct the API call URL
url <- paste0(base_url, site, params, key, "&start_date=", start_date, "&end_date=", end_date, "&main_domain_only=", main_domain_only, "&granularity=", granularity)
# Perform the GET request and process the result
result <- GET(url)
text_content <- content(result, as = "text", encoding = "UTF-8")
json_content <- fromJSON(text_content)
# Print site for clarity
cat("Visits for site", site, ":\n")
print(json_content$visits)
cat("\n") # Just to add a line break for better readability
}