quintly is an online social media analytics tool to help you track, benchmark and optimize your social media performance. You need to have a quintly business account in order to access the API but you can get a demo account via their webpage. For authentication they use Basic Auth via HTTPS. For the username you have to send your quintly client id and for the password your API secret (included in the demo account but you will need to ask the support).
The API let you access metrics from your own or a public social media account from Facebook, Instagram and other platforms. There are two ways of fetching data. Either by asking for predefined metrics, or by specifying a completely customized query by using QQL (Quintly Query Language). For this blog post we will use a predefined metric to get started.
# get packages library(httr) require(rjson) # set parameters (change to your ID and PW) clientid <- "YourClientId" apisecret <- "YourAPISecret" # do authentication req <- GET("https://api.quintly.com/v0.9/list-profiles", authenticate(clientid, apisecret, type = "basic")) stop_for_status(req) content(req) # get the data (change profile ID, this can be found in your quintly account) req <- GET("https://api.quintly.com/v0.9/qql?metric=fanCount&startTime=2016-09-04&endTime=2016-09-04&interval=daily&profileIds=12345", authenticate(clientid, apisecret, type = "basic")) # convert the data from json to a data frame json <- content(req) data <- as.data.frame(json$data) # some small processing steps colnames(data) <- c("account","timestamp","fancount") data$account[data$account == "12345"] <- "YourAccountName"
I used the httr package to retrieve data from the quintly API and the rjson package to handle the incoming data which will be in json format. As you can see from the get command we were asking for the metric fanCount. You can find the whole list of predefined metrics on their API documentation website. All other parameters (startTime, endTime, interval, profileIds) are mandatory for every request. After getting the data via the API we can transform it from json to a data frame for further work.
You can find the code above along with other projects on my Github.