Access to the Guardian open API https://open-platform.theguardian.com/, containing all articles published in the Guardian from 1999 to the present. An API key is required, sign up here.
guardianapi
is available on CRAN:
install.packages("guardianapi")
You can install the development version guardianapi
from
github with:
# install.packages("devtools")
devtools::install_github("evanodell/guardianapi")
Save your API key as the environmental variable
GU_API_KEY
, or use the gu_api_key()
function
to set a key for a single session.
guardianapi
contains functions to query and retrieve
articles, tags, editions and sections. For example, return all tags
containing the string “apple”, which includes both the technology
company and Fiona Apple, amongst others.
library(guardianapi)
tags1 <- gu_tags(query = "apple")
#> Retrieving page 1
tibble::glimpse(tags1)
#> Rows: 12
#> Columns: 13
#> $ id <chr> "technology/apple", "technology/apple-tv", "games/ap…
#> $ type <chr> "keyword", "keyword", "keyword", "keyword", "contrib…
#> $ section_id <chr> "technology", "technology", "games", "technology", N…
#> $ section_name <chr> "Technology", "Technology", "Games", "Technology", N…
#> $ web_title <chr> "Apple", "Apple TV", "Apple Arcade", "Apple Music", …
#> $ web_url <chr> "https://www.theguardian.com/technology/apple", "htt…
#> $ api_url <chr> "https://content.guardianapis.com/technology/apple",…
#> $ references <list> [<data.frame[1 x 2]>, <data.frame[0 x 0]>, <data.fr…
#> $ bio <chr> NA, NA, NA, NA, "<p>Emily Apple is the co-founder of…
#> $ byline_image_url <chr> NA, NA, NA, NA, "https://static.guim.co.uk/sys-image…
#> $ first_name <chr> NA, NA, NA, NA, "apple", NA, NA, NA, NA, NA, NA, "ch…
#> $ last_name <chr> NA, NA, NA, NA, "emily", NA, NA, NA, NA, NA, NA, "(a…
#> $ description <chr> NA, NA, NA, NA, NA, NA, "Guardian journalist Paul Ow…
Return all articles with the string “relationships” and the tag “lifeandstyle/sex” from December 2018:
relations_sex <- gu_content(query = "relationships", from_date = "2018-12-01",
to_date = "2018-12-31", tag = "lifeandstyle/sex")
#> Retrieving page 1
tibble::glimpse(relations_sex)
#> Rows: 5
#> Columns: 42
#> $ id <chr> "lifeandstyle/2018/dec/10/im-in-a-re…
#> $ type <chr> "article", "article", "article", "ar…
#> $ section_id <chr> "lifeandstyle", "lifeandstyle", "lif…
#> $ section_name <chr> "Life and style", "Life and style", …
#> $ web_publication_date <dttm> 2018-12-10 08:00:39, 2018-12-21 10:…
#> $ web_title <chr> "I’m in a relationship with another …
#> $ web_url <chr> "https://www.theguardian.com/lifeand…
#> $ api_url <chr> "https://content.guardianapis.com/li…
#> $ tags <list> [<data.frame[10 x 13]>, <data.frame…
#> $ is_hosted <lgl> FALSE, FALSE, FALSE, FALSE, FALSE
#> $ pillar_id <chr> "pillar/lifestyle", "pillar/lifestyl…
#> $ pillar_name <chr> "Lifestyle", "Lifestyle", "Lifestyle…
#> $ headline <chr> "I’m in a relationship with another …
#> $ standfirst <chr> "We kiss and cuddle, but he won’t go…
#> $ trail_text <chr> "We kiss and cuddle, but he won’t go…
#> $ byline <chr> "Pamela Stephenson Connolly", "Anony…
#> $ main <chr> "<figure class=\"element element-ima…
#> $ body <chr> "<p><strong>Until last year, I ident…
#> $ newspaper_page_number <chr> "7", "66", "83", NA, "44"
#> $ wordcount <chr> "378", "293", "2113", "741", "1501"
#> $ comment_close_date <dttm> 2018-12-13 08:00:39, 2018-12-23 20:…
#> $ commentable <chr> "true", "true", "true", "false", "fa…
#> $ first_publication_date <dttm> 2018-12-10 08:00:39, 2018-12-21 10:…
#> $ is_inappropriate_for_sponsorship <chr> "false", "false", "false", "false", …
#> $ is_premoderated <chr> "true", "true", "true", "false", "fa…
#> $ last_modified <chr> "2018-12-10T08:00:39Z", "2020-04-16T…
#> $ newspaper_edition_date <date> 2018-12-10, 2018-12-22, 2018-12-08,…
#> $ production_office <chr> "UK", "UK", "UK", "UK", "UK"
#> $ publication <chr> "The Guardian", "The Guardian", "The…
#> $ short_url <chr> "https://gu.com/p/a5fad", "https://g…
#> $ should_hide_adverts <chr> "false", "false", "false", "false", …
#> $ show_in_related_content <chr> "true", "true", "true", "true", "tru…
#> $ thumbnail <chr> "https://media.guim.co.uk/35fd3d1885…
#> $ legally_sensitive <chr> "false", "false", "false", "false", …
#> $ sensitive <chr> "true", NA, NA, NA, "true"
#> $ lang <chr> "en", "en", "en", "en", "en"
#> $ is_live <chr> "true", "true", "true", "true", "tru…
#> $ body_text <chr> "Until last year, I identified as a …
#> $ char_count <chr> "2192", "1729", "12190", "4404", "86…
#> $ should_hide_reader_revenue <chr> "false", "false", "false", "false", …
#> $ show_affiliate_links <chr> "false", "false", "false", "false", …
#> $ byline_html <chr> "<a href=\"profile/pamelastephensonc…
See the full package documentation at docs.evanodell.com/guardianapi.
Please note that the ‘guardianapi’ project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
This package is not affiliated with or supported by The Guardian.