Access 'The Guardian' Newspaper Open Data API

Access to 'The Guardian' newspaper's open API < https://open-platform.theguardian.com/>, containing all articles published in 'The Guardian' from 1999 to the present, including article text, metadata, tags and contributor information. An API key and registration is required.


License:MIT CRANstatus GitHubtag AppVeyor buildstatus Travis buildstatus Coveragestatus DOI

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.

Installation

You can install the development version guardianapi from github with:

# install.packages("devtools")
devtools::install_github("evanodell/guardianapi")

Usage

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)
#> Observations: 10
#> Variables: 13
#> $ id               <chr> "technology/apple", "technology/apple-tv", "t...
#> $ type             <chr> "keyword", "keyword", "keyword", "contributor...
#> $ section_id       <chr> "technology", "technology", "technology", NA,...
#> $ section_name     <chr> "Technology", "Technology", "Technology", NA,...
#> $ web_title        <chr> "Apple", "Apple TV", "Apple WWDC", "Emily App...
#> $ web_url          <chr> "https://www.theguardian.com/technology/apple...
#> $ api_url          <chr> "https://content.guardianapis.com/technology/...
#> $ references       <list> [<data.frame[1 x 2]>, <data.frame[0 x 0]>, <...
#> $ bio              <chr> NA, NA, NA, "<p>Emily Apple is the co-founder...
#> $ byline_image_url <chr> NA, NA, NA, "https://static.guim.co.uk/sys-im...
#> $ first_name       <chr> NA, NA, NA, "apple", NA, NA, NA, NA, NA, "chi...
#> $ last_name        <chr> NA, NA, NA, "emily", NA, NA, NA, NA, NA, "(ap...
#> $ description      <chr> NA, NA, NA, NA, NA, NA, "Guardian journalist ...

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)
#> Observations: 5
#> Variables: 40
#> $ id                               <chr> "lifeandstyle/2018/dec/10/im-...
#> $ type                             <chr> "article", "article", "articl...
#> $ section_id                       <chr> "lifeandstyle", "lifeandstyle...
#> $ section_name                     <chr> "Life and style", "Life and s...
#> $ web_publication_date             <dttm> 2018-12-10 08:00:39, 2018-12...
#> $ web_title                        <chr> "I’m in a relationship with a...
#> $ web_url                          <chr> "https://www.theguardian.com/...
#> $ api_url                          <chr> "https://content.guardianapis...
#> $ tags                             <list> [<data.frame[10 x 13]>, <dat...
#> $ is_hosted                        <lgl> FALSE, FALSE, FALSE, FALSE, F...
#> $ pillar_id                        <chr> "pillar/lifestyle", "pillar/l...
#> $ pillar_name                      <chr> "Lifestyle", "Lifestyle", "Op...
#> $ headline                         <chr> "I’m in a relationship with a...
#> $ standfirst                       <chr> "We kiss and cuddle, but he w...
#> $ trail_text                       <chr> "We kiss and cuddle, but he w...
#> $ byline                           <chr> "Pamela Stephenson Connolly",...
#> $ main                             <chr> "<figure class=\"element elem...
#> $ body                             <chr> "<p><strong>Until last year, ...
#> $ newspaper_page_number            <chr> "7", "66", NA, "83", "44"
#> $ wordcount                        <chr> "387", "307", "759", "2189", ...
#> $ comment_close_date               <dttm> 2018-12-13 08:00:39, 2018-12...
#> $ commentable                      <chr> "true", "true", "false", "tru...
#> $ first_publication_date           <dttm> 2018-12-10 08:00:39, 2018-12...
#> $ is_inappropriate_for_sponsorship <chr> "false", "false", "false", "f...
#> $ is_premoderated                  <chr> "true", "true", "false", "tru...
#> $ last_modified                    <chr> "2018-12-10T08:00:39Z", "2018...
#> $ newspaper_edition_date           <date> 2018-12-10, 2018-12-22, NA, ...
#> $ production_office                <chr> "UK", "UK", "UK", "UK", "UK"
#> $ publication                      <chr> "The Guardian", "The Guardian...
#> $ short_url                        <chr> "https://gu.com/p/a5fad", "ht...
#> $ should_hide_adverts              <chr> "false", "false", "false", "f...
#> $ show_in_related_content          <chr> "true", "true", "true", "true...
#> $ thumbnail                        <chr> "https://media.guim.co.uk/35f...
#> $ legally_sensitive                <chr> "false", "false", "false", "f...
#> $ sensitive                        <chr> "true", NA, NA, NA, "true"
#> $ lang                             <chr> "en", "en", "en", "en", "en"
#> $ body_text                        <chr> "Until last year, I identifie...
#> $ char_count                       <chr> "2192", "1729", "4404", "1219...
#> $ should_hide_reader_revenue       <chr> "false", "false", "false", "f...
#> $ show_affiliate_links             <chr> "false", "false", "false", "f...

See the full package documentation at docs.evanodell.com/guardianapi.

Meta

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.

News

guardianapi 0.1.0

  • Initial release of guardianapi package.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("guardianapi")

0.1.1 by Evan Odell, 4 months ago


https://docs.evanodell.com/guardianapi


Report a bug at https://github.com/evanodell/guardianapi/issues


Browse source code at https://github.com/cran/guardianapi


Authors: Evan Odell [aut, cre]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports dplyr, httr, jsonlite, tibble, rlang

Suggests testthat, knitr, rmarkdown, lubridate, ggplot2, covr, scales, readr


See at CRAN