Andrew Bowen Data 607 HW 6

Using data from the NY Times public api to read JSON data into an R dataframe.

library(httr)
library(dplyr)
library(glue)
library(jsonlite)
library(ggplot2)
library(tidyr)

First we’ll need to defin our API endpoint (URL). I chose the NT Times Books API, which provides data on NY Times bestseller lists. I am setting my API key value in the environment variable NY_TIMES_API_KEY. Please check my blackboard submission for my key value, or feel free to use your own key as it’s a public-facing API.

api_key = Sys.getenv("NY_TIMES_API_KEY")
url <- glue('https://api.nytimes.com/svc/books/v3/lists/current/hardcover-fiction.json?api-key={api_key}')

# Call the API and get an HTTP response
response <- GET(url, format="json")

response
## Response [https://api.nytimes.com/svc/books/v3/lists/current/hardcover-fiction.json?api-key=wzAGVekxF6AAfVaT0QPgT4x5GvkBH5qe]
##   Date: 2022-10-24 18:03
##   Status: 200
##   Content-Type: application/json; charset=UTF-8
##   Size: 34.6 kB

Now we need to extract the content from that API response. We can use thecontent attribute from the httr::response object. We can then use the jsonlite::fromJSON method to parse the response into a dataframe.

# Getting content of HTTP response
details <- content(response, as="text")

df <- jsonlite::fromJSON(details)

# extracting our books dataframe from the results field
df <- df$results$books

head(df)
##   rank rank_last_week weeks_on_list asterisk dagger primary_isbn10
## 1    1              0             1        0      0     1538719827
## 2    2              1             6        0      0     1668002175
## 3    3              0             1        0      0     1501101781
## 4    4              4             4        0      0     059344955X
## 5    5              3             2        0      0     1984818384
## 6    6              5             2        0      0     0593492544
##   primary_isbn13     publisher
## 1  9781538719824 Grand Central
## 2  9781668002179      Scribner
## 3  9781501101786      Scribner
## 4  9780593449554  Random House
## 5  9781984818386    Ballantine
## 6  9780593492543 Penguin Press
##                                                                                                                                      description
## 1                                   The seventh book in the Memory Man series. Decker works with a new partner to investigate a double homicide.
## 2                                            A high school kid inherits a shed that is a portal to another world where good and evil are at war.
## 3 The eighth book in the John Corey series. When a former lover offers him a job, Corey comes out of forced retirement to track a serial killer.
## 4                      Musicians from different backgrounds are attracted to each other and a mother flees with her son from an abusive husband.
## 5                                                        After returning to her hometown, Olivia McAfee’s son gets accused of killing his crush.
## 6                  Twelve-year-old Bird Gardner goes on a quest to find his mother, a Chinese American poet whose work he was taught to disavow.
##   price              title                                  author
## 1  0.00       LONG SHADOWS                          David Baldacci
## 2  0.00         FAIRY TALE                            Stephen King
## 3  0.00           THE MAZE                          Nelson DeMille
## 4  0.00          DREAMLAND                         Nicholas Sparks
## 5  0.00          MAD HONEY Jodi Picoult and Jennifer Finney Boylan
## 6  0.00 OUR MISSING HEARTS                              Celeste Ng
##                                  contributor contributor_note
## 1                          by David Baldacci                 
## 2                            by Stephen King                 
## 3                          by Nelson DeMille                 
## 4                         by Nicholas Sparks                 
## 5 by Jodi Picoult and Jennifer Finney Boylan                 
## 6                              by Celeste Ng                 
##                                                             book_image
## 1 https://storage.googleapis.com/du-prd/books/images/9781538719824.jpg
## 2 https://storage.googleapis.com/du-prd/books/images/9781668002179.jpg
## 3 https://storage.googleapis.com/du-prd/books/images/9781501101786.jpg
## 4 https://storage.googleapis.com/du-prd/books/images/9780593449554.jpg
## 5 https://storage.googleapis.com/du-prd/books/images/9781984818386.jpg
## 6 https://storage.googleapis.com/du-prd/books/images/9780593492543.jpg
##   book_image_width book_image_height
## 1              331               500
## 2              329               500
## 3              331               500
## 4              331               500
## 5              328               500
## 6              331               500
##                                     amazon_product_url age_group
## 1 https://www.amazon.com/dp/1538719827?tag=NYTBSREV-20          
## 2 https://www.amazon.com/dp/1668002175?tag=NYTBSREV-20          
## 3 https://www.amazon.com/dp/1501101781?tag=NYTBSREV-20          
## 4 https://www.amazon.com/dp/059344955X?tag=NYTBSREV-20          
## 5 https://www.amazon.com/dp/1984818384?tag=NYTBSREV-20          
## 6 https://www.amazon.com/dp/0593492544?tag=NYTBSREV-20          
##   book_review_link first_chapter_link sunday_review_link article_chapter_link
## 1                                                                            
## 2                                                                            
## 3                                                                            
## 4                                                                            
## 5                                                                            
## 6                                                                            
##                                                                                                        isbns
## 1 1538719827, 1538739763, 1538719819, 1538719797, 9781538719824, 9781538739761, 9781538719817, 9781538719794
## 2                            1668002175, 1668002183, 1797145282, 9781668002179, 9781668002186, 9781797145280
## 3                                                       1501101781, 1501101803, 9781501101786, 9781501101809
## 4 059344955X, 0593449568, 0593633237, 0593633229, 9780593449554, 9780593449561, 9780593633236, 9780593633229
## 5                                                       1984818384, 1984818392, 9781984818386, 9781984818393
## 6                                                                                  0593492544, 9780593492543
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       buy_links
## 1                                                                                                        Amazon, Apple Books, Barnes and Noble, Books-A-Million, Bookshop, IndieBound, https://www.amazon.com/dp/1538719827?tag=NYTBSREV-20, https://goto.applebooks.apple/9781538719824?at=10lIEQ, https://www.anrdoezrs.net/click-7990613-11819508?url=https%3A%2F%2Fwww.barnesandnoble.com%2Fw%2F%3Fean%3D9781538719824, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fp%252FLONG%252BSHADOWS%252FDavid%252BBaldacci%252F9781538719824&url2=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fsearch%253Fquery%253DLONG%252BSHADOWS%252BDavid%252BBaldacci, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fbookshop.org%2Fa%2F3546%2F9781538719824&url2=https%3A%2F%2Fbookshop.org%2Fbooks%3Faffiliate%3D3546%26keywords%3DLONG%2BSHADOWS, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.indiebound.org%2Fbook%2F9781538719824%3Faff%3DNYT&url2=https%3A%2F%2Fwww.indiebound.org%2Fsearch%2Fbook%3Fkeys%3DLONG%2BSHADOWS%2BDavid%2BBaldacci%26aff%3DNYT
## 2                                                                                                                      Amazon, Apple Books, Barnes and Noble, Books-A-Million, Bookshop, IndieBound, https://www.amazon.com/dp/1668002175?tag=NYTBSREV-20, https://goto.applebooks.apple/9781668002179?at=10lIEQ, https://www.anrdoezrs.net/click-7990613-11819508?url=https%3A%2F%2Fwww.barnesandnoble.com%2Fw%2F%3Fean%3D9781668002179, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fp%252FFAIRY%252BTALE%252FStephen%252BKing%252F9781668002179&url2=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fsearch%253Fquery%253DFAIRY%252BTALE%252BStephen%252BKing, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fbookshop.org%2Fa%2F3546%2F9781668002179&url2=https%3A%2F%2Fbookshop.org%2Fbooks%3Faffiliate%3D3546%26keywords%3DFAIRY%2BTALE, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.indiebound.org%2Fbook%2F9781668002179%3Faff%3DNYT&url2=https%3A%2F%2Fwww.indiebound.org%2Fsearch%2Fbook%3Fkeys%3DFAIRY%2BTALE%2BStephen%2BKing%26aff%3DNYT
## 3                                                                                                                        Amazon, Apple Books, Barnes and Noble, Books-A-Million, Bookshop, IndieBound, https://www.amazon.com/dp/1501101781?tag=NYTBSREV-20, https://goto.applebooks.apple/9781501101786?at=10lIEQ, https://www.anrdoezrs.net/click-7990613-11819508?url=https%3A%2F%2Fwww.barnesandnoble.com%2Fw%2F%3Fean%3D9781501101786, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fp%252FTHE%252BMAZE%252FNelson%252BDeMille%252F9781501101786&url2=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fsearch%253Fquery%253DTHE%252BMAZE%252BNelson%252BDeMille, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fbookshop.org%2Fa%2F3546%2F9781501101786&url2=https%3A%2F%2Fbookshop.org%2Fbooks%3Faffiliate%3D3546%26keywords%3DTHE%2BMAZE, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.indiebound.org%2Fbook%2F9781501101786%3Faff%3DNYT&url2=https%3A%2F%2Fwww.indiebound.org%2Fsearch%2Fbook%3Fkeys%3DTHE%2BMAZE%2BNelson%2BDeMille%26aff%3DNYT
## 4                                                                                                                             Amazon, Apple Books, Barnes and Noble, Books-A-Million, Bookshop, IndieBound, https://www.amazon.com/dp/059344955X?tag=NYTBSREV-20, https://goto.applebooks.apple/9780593449554?at=10lIEQ, https://www.anrdoezrs.net/click-7990613-11819508?url=https%3A%2F%2Fwww.barnesandnoble.com%2Fw%2F%3Fean%3D9780593449554, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fp%252FDREAMLAND%252FNicholas%252BSparks%252F9780593449554&url2=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fsearch%253Fquery%253DDREAMLAND%252BNicholas%252BSparks, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fbookshop.org%2Fa%2F3546%2F9780593449554&url2=https%3A%2F%2Fbookshop.org%2Fbooks%3Faffiliate%3D3546%26keywords%3DDREAMLAND, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.indiebound.org%2Fbook%2F9780593449554%3Faff%3DNYT&url2=https%3A%2F%2Fwww.indiebound.org%2Fsearch%2Fbook%3Fkeys%3DDREAMLAND%2BNicholas%2BSparks%26aff%3DNYT
## 5 Amazon, Apple Books, Barnes and Noble, Books-A-Million, Bookshop, IndieBound, https://www.amazon.com/dp/1984818384?tag=NYTBSREV-20, https://goto.applebooks.apple/9781984818386?at=10lIEQ, https://www.anrdoezrs.net/click-7990613-11819508?url=https%3A%2F%2Fwww.barnesandnoble.com%2Fw%2F%3Fean%3D9781984818386, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fp%252FMAD%252BHONEY%252FJodi%252BPicoult%252Band%252BJennifer%252BFinney%252BBoylan%252F9781984818386&url2=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fsearch%253Fquery%253DMAD%252BHONEY%252BJodi%252BPicoult%252Band%252BJennifer%252BFinney%252BBoylan, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fbookshop.org%2Fa%2F3546%2F9781984818386&url2=https%3A%2F%2Fbookshop.org%2Fbooks%3Faffiliate%3D3546%26keywords%3DMAD%2BHONEY, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.indiebound.org%2Fbook%2F9781984818386%3Faff%3DNYT&url2=https%3A%2F%2Fwww.indiebound.org%2Fsearch%2Fbook%3Fkeys%3DMAD%2BHONEY%2BJodi%2BPicoult%2Band%2BJennifer%2BFinney%2BBoylan%26aff%3DNYT
## 6                                                                                Amazon, Apple Books, Barnes and Noble, Books-A-Million, Bookshop, IndieBound, https://www.amazon.com/dp/0593492544?tag=NYTBSREV-20, https://goto.applebooks.apple/9780593492543?at=10lIEQ, https://www.anrdoezrs.net/click-7990613-11819508?url=https%3A%2F%2Fwww.barnesandnoble.com%2Fw%2F%3Fean%3D9780593492543, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fp%252FOUR%252BMISSING%252BHEARTS%252FCeleste%252BNg%252F9780593492543&url2=https%3A%2F%2Fwww.anrdoezrs.net%2Fclick-7990613-35140%3Furl%3Dhttps%253A%252F%252Fwww.booksamillion.com%252Fsearch%253Fquery%253DOUR%252BMISSING%252BHEARTS%252BCeleste%252BNg, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fbookshop.org%2Fa%2F3546%2F9780593492543&url2=https%3A%2F%2Fbookshop.org%2Fbooks%3Faffiliate%3D3546%26keywords%3DOUR%2BMISSING%2BHEARTS, https://du-gae-books-dot-nyt-du-prd.appspot.com/redirect?url1=https%3A%2F%2Fwww.indiebound.org%2Fbook%2F9780593492543%3Faff%3DNYT&url2=https%3A%2F%2Fwww.indiebound.org%2Fsearch%2Fbook%3Fkeys%3DOUR%2BMISSING%2BHEARTS%2BCeleste%2BNg%26aff%3DNYT
##                                          book_uri
## 1 nyt://book/b14c0c7a-c260-5808-b5db-b72e7a45772f
## 2 nyt://book/1c203c2d-147d-5639-8e0c-009ba6f15698
## 3 nyt://book/fb1cb6b6-eda1-5dbb-a053-c39f751edd55
## 4 nyt://book/61e3a1f0-08db-5240-9ee0-72308b3b9b9d
## 5 nyt://book/8af7bc3e-8c1e-5bb1-820c-06169fac15b1
## 6 nyt://book/2f2fce78-87d5-5355-9891-8abe4d77f407

Let’s do some quick visualization of our dataset

ggplot(df, aes(x = weeks_on_list)) + geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.