<CRANTaskView>
  <name>WebTechnologies</name>
  <topic>Web Technologies and Services</topic>
  <maintainer email="thosjleeper@gmail.com">Thomas Leeper, Scott Chamberlain, Patrick Mair, Karthik Ram, Christopher Gandrud</maintainer>
  <version>2016-08-18</version>
  <info>
    <p>This Task View contains information about to use R and the world wide web together. The base version of R does not ship with many tools for interacting with the web. Thankfully, there are an increasingly large number of tools for interacting with the web. This task view focuses on packages for obtaining web-based data and information, frameworks for building web-based R applications, and online services that can be accessed from R. A list of available packages and functions is presented below, grouped by the type of activity. The <a href="https://github.com/ropensci/opendata">Open Data Task View</a> provides further discussion of online data sources that can be accessed from R.</p>
    <p>If you have any comments or suggestions for additions or improvements for this Task View, go to GitHub and <a href="https://github.com/ropensci/webservices/issues">submit an issue</a>, or make some changes and <a href="https://github.com/ropensci/webservices/pulls">submit a pull request</a>. If you can't contribute on GitHub, <script type="text/javascript">
    <!--
    h='&#x67;&#x6d;&#x61;&#x69;&#108;&#46;&#x63;&#x6f;&#x6d;';a='&#64;';n='&#116;&#104;&#x6f;&#x73;&#106;&#108;&#x65;&#x65;&#112;&#x65;&#114;';e=n+a+h;
    document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'" clas'+'s="em' + 'ail">'+'&#x73;&#x65;&#110;&#100;&#32;&#84;&#104;&#x6f;&#x6d;&#x61;&#x73;&#32;&#x61;&#110;&#32;&#x65;&#x6d;&#x61;&#x69;&#108;'+'<\/'+'a'+'>');
    // -->
    </script><noscript>&#x73;&#x65;&#110;&#100;&#32;&#84;&#104;&#x6f;&#x6d;&#x61;&#x73;&#32;&#x61;&#110;&#32;&#x65;&#x6d;&#x61;&#x69;&#108;&#32;&#40;&#116;&#104;&#x6f;&#x73;&#106;&#108;&#x65;&#x65;&#112;&#x65;&#114;&#32;&#x61;&#116;&#32;&#x67;&#x6d;&#x61;&#x69;&#108;&#32;&#100;&#x6f;&#116;&#32;&#x63;&#x6f;&#x6d;&#x29;</noscript>. If you have an issue with one of the packages discussed below, please contact the maintainer of that package. If you know of a web service, API, data source, or other online resource that is not yet supported by an R package, consider adding it to <a href="https://github.com/ropensci/webservices/wiki/ToDo">the package development to do list on GitHub</a>.</p>
    <h2 id="tools-for-working-with-the-web-from-r">Tools for Working with the Web from R</h2>
    <p><strong>Core Tools For HTTP Requests</strong></p>
    <p>There are two packages that should cover most use cases of interacting with the web from R. <pkg>httr</pkg> provides a user-friendly interface for executing HTTP methods (GET, POST, PUT, HEAD, DELETE, etc.) and provides support for modern web authentication protocols (OAuth 1.0, OAuth 2.0). HTTP status codes are helpful for debugging HTTP calls. httr makes this easier using, for example, <code>stop_for_status()</code>, which gets the http status code from a response object, and stops the function if the call was not successful. (See also <code>warn_for_status()</code>.) Note that you can pass in additional libcurl options to the <code>config</code> parameter in http calls. <pkg>RCurl</pkg> is a lower-level package that provides a closer interface between R and the <a href="https://curl.haxx.se/libcurl/">libcurl C library</a>, but is less user-friendly. It may be useful for operations on web-based XML or to perform FTP operations. For more specific situations, the following resources may be useful:</p>
    <ul>
    <li><pkg>curl</pkg> is another libcurl client that provides the <code>curl()</code> function as an SSL-compatible replacement for base R's <code>url()</code> and support for http 2.0, ssl (https, ftps), gzip, deflate and more. For websites serving insecure HTTP (i.e. using the &quot;http&quot; not &quot;https&quot; prefix), most R functions can extract data directly, including <code>read.table</code> and <code>read.csv</code>; this also applies to functions in add-on packages such as <code>jsonlite::fromJSON</code> and <code>XML::parseXML</code>. <pkg>httpRequest</pkg> is another low-level package for HTTP requests that implements the GET, POST and multipart POST verbs.</li>
    <li><pkg>curlconverter</pkg> is a useful package for converting curl command-line code, for example from a browser developer's console, into R code.</li>
    <li><pkg>request</pkg> (<a href="https://github.com/sckott/request">GitHub</a>) provides a high-level package that is useful for developing other API client packages. <pkg>httping</pkg> (<a href="https://github.com/sckott/httping">GitHub</a>) provides simplified tools to ping and time HTTP requests, around httr calls. <pkg>httpcache</pkg> (<a href="https://github.com/nealrichardson/httpcache">GitHub</a>) provides a mechanism for caching HTTP requests.</li>
    <li>For dynamically generated webpages (i.e., those requiring user interaction to display results), <pkg>RSelenium</pkg> (<a href="https://github.com/ropensci/RSelenium/">GitHub</a>) can be used to automate those interactions and extract page contents. It provides a set of bindings for the Selenium 2.0 webdriver using the <a href="https://github.com/seleniumhq/selenium-google-code-issue-archive">JsonWireProtocol</a>. It can also aid in automated application testing, load testing, and web scraping. <a href="https://github.com/cpsievert/rdom">rdom</a> (not on CRAN) uses <a href="http://phantomjs.org/">phantomjs</a> to access a webpage's Document Object Model (DOM).</li>
    <li>Another, higher-level alternative package useful for webscraping is <pkg>rvest</pkg> (<a href="https://github.com/hadley/rvest">GitHub</a>), which is designed to work with <pkg>magrittr</pkg> to make it easy to express common web scraping tasks.</li>
    <li>Many base R tools can be used to download web content, provided that the website does not use SSL (i.e., the URL does not have the &quot;https&quot; prefix). <code>download.file()</code> is a general purpose function that can be used to download a remote file. For SSL, the <code>download()</code> function in <pkg>downloader</pkg> wraps <code>download.file()</code>, and takes all the same arguments.</li>
    <li>Tabular data sets (e.g., txt, csv, etc.) can be input using <code>read.table()</code>, <code>read.csv()</code>, and friends, again assuming that the files are not hosted via SSL. An alternative is to use <code>httr::GET</code> (or <code>RCurl::getURL</code>) to first read the file into R as a character vector before parsing with <code>read.table(text=...)</code>, or you can download the file to a local directory. <pkg>rio</pkg> (<a href="https://github.com/leeper/rio">GitHub</a>) provides an <code>import()</code> function that can read a number of common data formats directly from an https:// URL. The <pkg>repmis</pkg> function <code>source_data()</code> can load and cache plain-text data from a URL (either http or https). That package also includes <code>source_Dropbox()</code> for downloading/caching plain-text data from non-public Dropbox folders and <code>source_XlsxData()</code> for downloading/caching Excel xlsx sheets.</li>
    <li><em>Authentication</em>: Using web resources can require authentication, either via API keys, OAuth, username:password combination, or via other means. Additionally, sometimes web resources that require authentication be in the header of an http call, which requires a little bit of extra work. API keys and username:password combos can be combined within a url for a call to a web resource (api key: http://api.foo.org/?key=yourkey; user/pass: http://username:password@api.foo.org), or can be specified via commands in <pkg>RCurl</pkg> or <pkg>httr</pkg>. OAuth is the most complicated authentication process, and can be most easily done using <pkg>httr</pkg>. See the 6 demos within <pkg>httr</pkg>, three for OAuth 1.0 (linkedin, twitter, vimeo) and three for OAuth 2.0 (facebook, GitHub, google). <pkg>ROAuth</pkg> is a package that provides a separate R interface to OAuth. OAuth is easier to to do in <pkg>httr</pkg>, so start there. <a href="https://github.com/MarkEdmondson1234/googleAuthR">googleAuthR</a> provides an OAuth 2.0 setup specifically for Google web services.</li>
    </ul>
    <p><strong>Parsing Structured Web Data</strong></p>
    <p>The vast majority of web-based data is structured as plain text, HTML, XML, or JSON (javascript object notation). Web service APIs increasingly rely on JSON, but XML is still prevalent in many applications. There are several packages for specifically working with these format. These functions can be used to interact directly with insecure webpages or can be used to parse locally stored or in-memory web files.</p>
    <ul>
    <li><em>XML/HTML</em>: There are two packages for working with XML: <pkg>XML</pkg> and <pkg>xml2</pkg> (<a href="https://github.com/hadley/xml2">GitHub</a>). Both support general XML (and HTML) parsing, including XPath queries. The package <pkg>xml2</pkg> is less fully featured, but more user friendly with respect to memory management, classes (e.g., XML node vs. node set vs. document), and namespaces. Of the two, only the <pkg>XML</pkg> supports <em>de novo</em> creation of XML nodes and documents. The <pkg>XML2R</pkg> (<a href="https://github.com/cpsievert/XML2R">GitHub</a>) package is a collection of convenient functions for coercing XML into data frames. An alternative to <pkg>XML</pkg> is <a href="https://sjp.co.nz/projects/selectr/">selectr</a>, which parses CSS3 Selectors and translates them to XPath 1.0 expressions. <pkg>XML</pkg> package is often used for parsing xml and html, but selectr translates CSS selectors to XPath, so can use the CSS selectors instead of XPath. The <a href="http://selectorgadget.com/">selectorgadget browser extension</a> can be used to identify page elements. <ohat>RHTMLForms</ohat> reads HTML documents and obtains a description of each of the forms it contains, along with the different elements and hidden fields. <pkg>scrapeR</pkg> provides additional tools for scraping data from HTML and XML documents. <pkg>htmltab</pkg> extracts structured information from HTML tables, similar to <code>XML::readHTMLTable</code> of the <pkg>XML</pkg> package, but automatically expands row and column spans in the header and body cells, and users are given more control over the identification of header and body rows which will end up in the R table.</li>
    <li><em>JSON</em>: There are several packages for reading and writing JSON: <pkg>rjson</pkg>, <pkg>RJSONIO</pkg>, and <pkg>jsonlite</pkg>. <pkg>jsonlite</pkg> includes a different parser from <pkg>RJSONIO</pkg> called <a href="https://lloyd.github.io/yajl/">yajl</a>. We recommend using <pkg>jsonlite</pkg>. Check out the paper describing jsonlite by Jeroen Ooms <a href="http://arxiv.org/abs/1403.2805" class="uri">http://arxiv.org/abs/1403.2805</a>. <pkg>tidyjson</pkg> (<a href="https://github.com/sailthru/tidyjson">GitHub</a>) converts JSON into a data.frame. <pkg>jqr</pkg> provides bindings for the fast JSON library, <a href="http://stedolan.github.io/jq/">jq</a>. <pkg>jsonvalidate</pkg> (<a href="https://github.com/ropenscilabs/jsonvalidate">GitHub</a>) validates JSON against a schema using the &quot;is-my-json-valid&quot; Node.js library.</li>
    <li><em>RSS/Atom</em>: <a href="https://github.com/DataWookie/feedeR">feedeR</a> (not on CRAN) can be used to parse RSS or Atom feeds.</li>
    <li><a href="https://github.com/hrbrmstr/swagger">swagger</a> (not on CRAN) can be used to automatically generate functions for working with an web service API that provides documentation in <a href="http://swagger.io/">Swagger.io</a> format.</li>
    </ul>
    <p><strong>Tools for Working with URLs</strong></p>
    <ul>
    <li>The <code>httr::parse_url()</code> function can be used to extract portions of a URL. The <code>RCurl::URLencode()</code> and <code>utils::URLencode()</code> functions can be used to encode character strings for use in URLs. <code>utils::URLdecode()</code> decodes back to the original strings. <pkg>urltools</pkg> (<a href="https://github.com/Ironholds/urltools">GitHub</a>) can also handle URL encoding, decoding, parsing, and parameter extraction.</li>
    <li>The <a href="https://github.com/jayjacobs/tldextract">tldextract</a> package extract top level domains and subdomains from a host name. It's a port of <a href="https://github.com/john-kurkowski/tldextract">a Python library of the same name</a>.</li>
    <li><a href="https://github.com/hrbrmstr/iptools">iptools</a> can facilitate working with IPv4 addresses, including for use in geolocation.</li>
    <li><pkg>urlshorteneR</pkg> (<a href="https://github.com/dmpe/urlshorteneR">GitHub</a>) offers URL expansion and analysis for Bit.ly, Goo.gl, and is.gd. <pkg>longurl</pkg> uses the <a href="http://longurl.org/">longurl.org</a> API to provide similar functionality.</li>
    <li><a href="https://github.com/hrbrmstr/gdns">gdns</a> (not on CRAN) provides access to Google's secure HTTP-based DNS resolution service.</li>
    </ul>
    <p><strong>Tools for Working with Scraped Webpage Contents</strong></p>
    <ul>
    <li>Several packages can be used for parsing HTML documents. <pkg>boilerpipeR</pkg> provides generic extraction of main text content from HTML files; removal of ads, sidebars and headers using the boilerpipe Java library. <ohat>RTidyHTML</ohat> interfaces to the libtidy library for correcting HTML documents that are not well-formed. This library corrects common errors in HTML documents. <pkg>W3CMarkupValidator</pkg> provides an R Interface to W3C Markup Validation Services for validating HTML documents.</li>
    <li>For XML documents, the <ohat>XMLSchema</ohat> package provides facilities in R for reading XML schema documents and processing them to create definitions for R classes and functions for converting XML nodes to instances of those classes. It provides the framework for meta-computing with XML schema in R. <a href="https://github.com/hrbrmstr/xslt">xslt</a> is a package providing an interface to the <a href="http://vslavik.github.io/xmlwrapp/">xmlwrapp</a> an XML processing library that provides an XSLT engine for transforming XML data using a transform stylesheet. (It can be seen as a modern replacement for <ohat>Sxslt</ohat>, which is an interface to Dan Veillard's libxslt translator, and the <ohat>SXalan</ohat> package.) This may be useful for webscraping, as well as transforming XML markup into another human- or machine-readable format (e.g., HTML, JSON, plain text, etc.). <ohat>SSOAP</ohat> provides a client-side SOAP (Simple Object Access Protocol) mechanism. It aims to provide a high-level interface to invoke SOAP methods provided by a SOAP server. <ohat>XMLRPC</ohat> provides an implementation of XML-RPC, a relatively simple remote procedure call mechanism that uses HTTP and XML. This can be used for communicating between processes on a single machine or for accessing Web services from within R.</li>
    <li><ohat>Rcompression</ohat> (not on CRAN): Interface to zlib and bzip2 libraries for performing in-memory compression and decompression in R. This is useful when receiving or sending contents to remote servers, e.g. Web services, HTTP requests via RCurl.</li>
    <li><pkg>tm.plugin.webmining</pkg>: Extensible text retrieval framework for news feeds in XML (RSS, ATOM) and JSON formats. Currently, the following feeds are implemented: Google Blog Search, Google Finance, Google News, NYTimes Article Search, Reuters News Feed, Yahoo Finance and Yahoo Inplay.</li>
    <li><pkg>webshot</pkg> uses <a href="http://phantomjs.org/">PhantomJS</a> to provide screenshots of web pages without a browser. It can be useful for testing websites (such as Shiny applications).</li>
    </ul>
    <p><strong>Other Useful Packages and Functions</strong></p>
    <ul>
    <li><em>Javascript</em>: <pkg>V8</pkg> (<a href="https://github.com/jeroenooms/v8">GitHub</a>) is an R interface to Google's open source, high performance JavaScript engine. It can wrap Javascript libraries as well as NPM packages. The <ohat>SpiderMonkey</ohat> package provides another means of evaluating JavaScript code, creating JavaScript objects and calling JavaScript functions and methods from within R. This can work by embedding the JavaScript engine within an R session or by embedding R in an browser such as Firefox and being able to call R from JavaScript and call back to JavaScript from R.</li>
    <li><em>Email:</em>: <pkg>mailR</pkg> is an interface to Apache Commons Email to send emails from within R. <pkg>sendmailR</pkg> provides a simple SMTP client. <pkg>gmailr</pkg> provides access the Google's gmail.com RESTful API.</li>
    <li><em>Miscellaneous</em>: <pkg>webutils</pkg> (<a href="https://github.com/jeroenooms/webutils">GitHub</a>) contains various functions for developing web applications, including parsers for <code>application/x-www-form-urlencoded</code> as well as <code>multipart/form-data</code>. <pkg>mime</pkg> (<a href="https://github.com/yihui/mime">GitHub</a>) guesses the MIME type for a file from its extension. <pkg>rsdmx</pkg> (<a href="https://github.com/opensdmx/rsdmx/wiki">GitHub</a>) provides tools to read data and metadata documents exchanged through the Statistical Data and Metadata Exchange (SDMX) framework. The package currently focuses on the SDMX XML standard format (SDMX-ML). <a href="https://github.com/ropenscilabs/robotstxt">robotstxt</a> (not on CRAN) provides R6 classes for parsing and checking robots.txt files. <pkg>uaparserjs</pkg> (<a href="http://github.com/hrbrmstr/uaparserjs">GitHub</a>) uses the javascript <a href="https://github.com/ua-parser">&quot;ua-parser&quot; library</a> to parse User-Agent HTTP headers.</li>
    </ul>
    <h2 id="web-and-server-frameworks">Web and Server Frameworks</h2>
    <ul>
    <li><a href="https://deployr.revolutionanalytics.com/">DeployR Open</a> is a server-based framework for integrating R into other applications via Web Services.</li>
    <li>The <pkg>shiny</pkg> package makes it easy to build interactive web applications with R.</li>
    <li>Other web frameworks include: <pkg>fiery</pkg> (<a href="https://github.com/thomasp85/fiery">GitHub</a>) that is meant to be more flexible but less easy to use than shiny; <a href="https://github.com/nteetor/prairie">prairie</a> (not on CRAN) which is a lightweight web framework that uses magrittr-style syntax and is modeled after <a href="http://expressjs.com/">expressjs</a>; <a href="https://github.com/att/rcloud">rcloud</a> (not on CRAN) which provides an iPython notebook-style web-based R interface; and <pkg>Rook</pkg>, which contains the specification and convenience software for building and running Rook applications.</li>
    <li>The <pkg>opencpu</pkg> framework for embedded statistical computation and reproducible research exposes a web API interfacing R, LaTeX and Pandoc. This API is used for example to integrate statistical functionality into systems, share and execute scripts or reports on centralized servers, and build R based apps.</li>
    <li>Several general purpose server/client frameworks for R exist. <pkg>Rserve</pkg> and <pkg>RSclient</pkg> provide server and client functionality for TCP/IP or local socket interfaces. <pkg>httpuv</pkg> provides a low-level socket and protocol support for handling HTTP and WebSocket requests directly within R. Another related package, perhaps which <pkg>httpuv</pkg> replaces, is <a href="https://cran.rstudio.com/src/contrib/Archive/websockets/">websockets</a>. <pkg>servr</pkg> provides a simple HTTP server to serve files under a given directory based on httpuv.</li>
    <li>Several packages offer functionality for turning R code into a web API. <pkg>jug</pkg> is a simple API-builder web framework, built around <pkg>httpuv</pkg>. <pkg>FastRWeb</pkg> provides some basic infrastructure for this. <pkg>plumber</pkg> allows you to create a REST API by decorating existing R source code.</li>
    <li>The <ohat>WADL</ohat> package provides tools to process Web Application Description Language (WADL) documents and to programmatically generate R functions to interface to the REST methods described in those WADL documents. (not on CRAN)</li>
    <li>The <ohat>RDCOMServer</ohat> provides a mechanism to export R objects as (D)COM objects in Windows. It can be used along with the <ohat>RDCOMClient</ohat> package which provides user-level access from R to other COM servers. (not on CRAN)</li>
    <li><a href="http://rapporter.net/welcome/en">rapporter.net</a> provides an online environment (SaaS) to host and run <pkg>rapport</pkg> statistical report templates in the cloud.</li>
    <li><a href="https://github.com/vnijs/radiant">radiant</a> (<a href="https://cran.r-project.org/src/contrib/Archive/radiant/">Archived on CRAN</a>) is Shiny-based GUI for R that runs in a browser from a server or local machine.</li>
    <li><a href="https://github.com/seankross/neocities">neocities</a> wraps the API for the <a href="https://neocities.org/">Neocities</a> web hosting service. (not on CRAN)</li>
    <li>The <a href="https://tiki.org/tiki-index.php">Tiki</a> Wiki CMS/Groupware framework has an R plugin (<a href="https://doc.tiki.org/PluginR">PluginR</a>) to run R code from wiki pages, and use data from their own collected web databases (trackers). A demo: <a href="https://r.tiki.org/tiki-index.php">http://r.tiki.org/</a>. More info in a <a href="http://ueb.vhir.org/2011+UseR">useR!2013 presentation</a>.</li>
    <li>The <a href="https://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a> has an extension (<a href="https://www.mediawiki.org/wiki/Extension:R">Extension:R</a>) to run R code from wiki pages, and use uploaded data. Links to demo pages (in German) can be found at the <a href="http://mars.wiwi.hu-berlin.de/mediawiki/mmstat_de/index.php/Kategorie:R">category page for R scripts</a> at MM-Stat. A mailing list is available: <a href="https://stat.ethz.ch/mailman/listinfo/r-sig-mediawiki">R-sig-mediawiki</a>.</li>
    <li><pkg>whisker</pkg>: Implementation of logicless templating based on <a href="http://mustache.github.io/">Mustache</a> in R. Mustache syntax is described in <a href="http://mustache.github.io/mustache.5.html" class="uri">http://mustache.github.io/mustache.5.html</a></li>
    <li><ohat>CGIwithR</ohat> (not on CRAN) allows one to use R scripts as CGI programs for generating dynamic Web content. HTML forms and other mechanisms to submit dynamic requests can be used to provide input to R scripts via the Web to create content that is determined within that R script.</li>
    </ul>
    <h2 id="web-services">Web Services</h2>
    <p><strong>Cloud Computing and Storage</strong></p>
    <ul>
    <li>Amazon Web Services is a popular, proprietary cloud service offering a suite of computing, storage, and infrastructure tools. <pkg>aws.signature</pkg> provides functionality for generating AWS API request signatures.
    <ul>
    <li><em>Simple Storage Service (S3)</em> is a commercial server that allows one to store content and retrieve it from any machine connected to the Internet. <ohat>RAmazonS3</ohat> and <a href="https://github.com/robertzk/s3mpi">s3mpi</a> (not on CRAN) provides basic infrastructure for communicating with S3. <a href="https://cran.rstudio.com/src/contrib/Archive/AWS.tools/">AWS.tools</a> (<a href="https://github.com/armstrtw/AWS.tools">GitHub</a>) interacts with S3 and EC2 using the AWS command line interface (an external system dependency). The CRAN version is archived. <a href="https://github.com/lalas/awsConnect">awsConnect</a> (not on CRAN) is another package using the AWS Command Line Interface to control EC2 and S3, which is only available for Linux and Mac OS.</li>
    <li><em>Elastic Cloud Compute (EC2)</em> is a cloud computing service. AWS.tools and <a href="https://github.com/lalas/awsConnect">awsConnect</a> (not on CRAN) both use the AWS command line interface to control EC2. <gcode>segue</gcode> (not on CRAN) is another package for managing EC2 instances and S3 storage, which includes a parallel version of <code>lapply()</code> for the Elastic Map Reduce (EMR) engine called <code>emrlapply()</code>. It uses Hadoop Streaming on Amazon's EMR in order to get simple parallel computation.</li>
    <li><em>DBREST</em>: <ohat>RAmazonDBREST</ohat> provides an interface to Amazon's Simple DB API.</li>
    <li><a href="https://cloudyr.github.io/">The cloudyr project</a>, which is currently under active development on GitHub, aims to provide a unified interface to the full Amazon Web Services suite without the need for external system dependencies.</li>
    </ul></li>
    <li><em>Cloud Storage</em>: <pkg>googleCloudStorageR</pkg> interfaces with Google Cloud Storage. <pkg>boxr</pkg> (<a href="https://github.com/brendan-R/boxr">GitHub</a>) is a lightweight, high-level interface for the <a href="https://docs.box.com/docs/">box.com API</a>. <a href="https://github.com/karthik/rdrop2">rDrop2</a> (<a href="https://github.com/karthik/rdrop2">GitHub</a>; not on CRAN) is a Dropbox interface that provides access to a full suite of file operations, including dir/copy/move/delete operations, account information (including quotas) and the ability to upload and download files from any Dropbox account. <pkg>backblazer</pkg> (<a href="https://github.com/phillc73/backblazer">GitHub</a>) provides access to the Backblaze B2 storage API.</li>
    <li><em>Docker</em>: <a href="https://github.com/sckott/analogsea">analogsea</a> is a general purpose client for the Digital Ocean v2 API. In addition, the package includes functions to install various R tools including base R, RStudio server, and more. There's an improving interface to interact with docker on your remote droplets via this package.</li>
    <li><a href="https://github.com/Crunch-io/rcrunch">rcrunch</a> (not on CRAN) provides an interface to <a href="http://crunch.io/">crunch.io</a> storage and analytics.</li>
    <li><a href="https://github.com/vpnagraj/rrefine">rrefine</a> (not on CRAN) provides a client for the <a href="http://openrefine.org/">OpenRefine</a> (formerly Google Refine) data cleaning service.</li>
    </ul>
    <p><strong>Document and Code Sharing</strong></p>
    <ul>
    <li><em>Code Sharing</em>: <pkg>gistr</pkg> (<a href="https://github.com/ropensci/gistr">GitHub</a>) works with GitHub gists (<a href="https://gist.github.com/">gist.github.com</a>) from R, allowing you to create new gists, update gists with new files, rename files, delete files, get and delete gists, star and un-star gists, fork gists, open a gist in your default browser, get embed code for a gist, list gist commits, and get rate limit information when authenticated. <pkg>git2r</pkg> provides bindings to the git version control system and <a href="https://github.com/cscheid/rgithub">rgithub</a> (not on CRAN) provides access to the GitHub.com API, both of which can facilitate code or data sharing via GitHub. <pkg>gitlabr</pkg> is a <a href="https://about.gitlab.com/">GitLab</a>-specific client.</li>
    <li><em>Data archiving</em>: <pkg>dvn</pkg> (<a href="https://github.com/ropensci/dvn">GitHub</a>) provides access to The Dataverse Network API. <pkg>rfigshare</pkg> (<a href="https://github.com/ropensci/rfigshare">GitHub</a>) connects with <a href="https://figshare.com/">Figshare.com</a>. <a href="https://cran.rstudio.com/src/contrib/Archive/dataone/">dataone</a> provides read/write access to data and metadata from the <a href="https://www.dataone.org/">DataONE network</a> of Member Node data repositories. <pkg>dataone</pkg> (<a href="https://github.com/DataONEorg/rdataone">GitHub</a>) provides a client for <a href="https://www.dataone.org">DataONE</a> repositories.</li>
    <li><em>Google Drive/Google Documents</em>: <a href="https://github.com/noamross/driver">driver</a> (not on CRAN) is a thin client for the Google Drive API. The <ohat>RGoogleDocs</ohat> package is an example of using the RCurl and XML packages to quickly develop an interface to the Google Documents API. <ohat>RGoogleStorage</ohat> provides programmatic access to the Google Storage API. This allows R users to access and store data on Google's storage. We can upload and download content, create, list and delete folders/buckets, and set access control permissions on objects and buckets.</li>
    <li><em>Google Sheets</em>: <pkg>googlesheets</pkg> (<a href="https://github.com/jennybc/googlesheets">GitHub</a>) can access private or public Google Sheets by title, key, or URL. Extract data or edit data. Create, delete, rename, copy, upload, or download spreadsheets and worksheets. <pkg>gsheet</pkg> (<a href="https://github.com/maxconway/gsheet">GitHub</a>) can download Google Sheets using just the sharing link. Spreadsheets can be downloaded as a data frame, or as plain text to parse manually.</li>
    <li><pkg>imguR</pkg> (<a href="https://github.com/cloudyr/imguR">GitHub</a>) is a package to share plots using the image hosting service <a href="http://imgur.com">Imgur.com</a>. knitr also has a function <code>imgur_upload()</code> to load images from literate programming documents.</li>
    <li><a href="https://github.com/cloudyr/rscribd">rscribd</a> (not on CRAN): API client for publishing documents to <a href="https://www.scribd.com/">Scribd</a>.</li>
    </ul>
    <p><strong>Data Analysis and Processing Services</strong></p>
    <ul>
    <li><em>Crowdsourcing</em>: Amazon Mechanical Turk is a paid crowdsourcing platform that can be used to semi-automate tasks that are not easily automated. <pkg>MTurkR</pkg> (<a href="https://github.com/cloudyr/MTurkR">GitHub</a>)) provides access to the Amazon Mechanical Turk Requester API. <a href="https://github.com/cloudyr/microworkers">microworkers</a> (not on CRAN) can distribute tasks and retrieve results for the Microworkers.com platform.</li>
    <li><em>Geolocation/Geocoding</em>: Several packages connect to geolocation/geocoding services. <pkg>rgeolocate</pkg> (<a href="https://github.com/ironholds/rgeolocate">GitHub</a>) offers several online and offline tools. <a href="https://github.com/trestletech/rydn">rydn</a> (not on CRAN) is an interface to the Yahoo Developers network geolocation APIs, <pkg>geocodeHERE</pkg> (<a href="https://github.com/corynissen/geocodeHERE">GitHub</a>): Wrapper for Nokia's <a href="https://maps.here.com/">HERE</a> geocoding API, and <a href="https://github.com/hrbrmstr/ipapi">ipapi</a> (<a href="https://github.com/hrbrmstr/ipapi">GitHub</a>) can be used to geolocate IPv4/6 addresses and/or domain names using the <a href="http://ip-api.com/">ip-api.com</a> API. <pkg>threewords</pkg> connects to the <a href="http://what3words.com/">What3Words API</a>, which represents every 3-meter by 3-meter square on earth as a three-word phrase. <pkg>opencage</pkg> (<a href="https://github.com/ropenscilabs/opencage">GitHub</a>) provides access to to the <a href="https://geocoder.opencagedata.com/">OpenCage</a> geocoding service. <pkg>geoparser</pkg> (<a href="https://github.com/ropenscilabs/geoparser">GitHub</a>) interfaces with the <a href="https://geoparser.io/">Geoparser.io</a> web service to identify place names from plain text. <a href="https://github.com/hrbrmstr/nominatim">nominatim</a> (not on CRAN) connects to the <a href="https://github.com/hrbrmstr/nominatim">OpenStreetMap Nominatim API</a> for reverse geocoding. <pkg>rgeospatialquality</pkg> (<a href="https://github.com/ropenscilabs/rgeospatialquality">GitHub</a>) provides bindings for the geospatial quality API. <a href="https://github.com/erzk/PostcodesioR">PostcodesioR</a> (not on CRAN) provides post code lookup and geocoding for the United Kingdom.</li>
    <li><em>Image Processing</em>: <a href="https://github.com/cloudyr/RoogleVision">RoogleVision</a> (not on CRAN) links to the Google Cloud Vision image recognition service.</li>
    <li><em>Machine Learning as a Service</em>: Several packages provide access to cloud-based machine learning services. <pkg>AzureML</pkg> links with the Microsoft Azure machine learning service. <pkg>bigml</pkg> (<a href="https://github.com/bigmlcom/bigml-r">GitHub</a>) connects to BigML. <pkg>ddeploy</pkg> wraps the <a href="http://www.dukeanalytics.com/products/dukedeployR.php">Duke Analytics model deployment API</a>. <a href="https://github.com/redmode/indicoio">indicoio</a> (<a href="https://cran.r-project.org/src/contrib/Archive/indicoio/">Archived on CRAN</a>) connects to APIs at <a href="https://indico.io/" class="uri">https://indico.io/</a>, with wrappers for Positive/Negative Sentiment Analysis, Political Sentiment Analysis, Image Feature Extraction, Facial Emotion Recognition, Facial Feature Extraction, and Language Detection. <pkg>clarifai</pkg> (<a href="https://github.com/soodoku/clarifai">GitHub</a>) is a <a href="http://clarifai.com/">Clarifai.com</a> client that enables automated image description. <pkg>rLTP</pkg> (<a href="https://github.com/hetong007/rLTP">GitHub</a>) accesses the <a href="http://www.ltp-cloud.com/">ltp-cloud service</a>. <a href="https://code.google.com/archive/p/google-prediction-api-r-client">googlepredictionapi</a> (not on CRAN): is an R client for the <a href="https://cloud.google.com/prediction/docs/">Google Prediction API</a>, a suite of cloud machine learning tools. Finally, <pkg>RDataCanvas</pkg> (<a href="https://github.com/DataCanvasIO/RDataCanvas">GitHub</a>) can write a module for <a href="http://datacanvas.io/">datacanvas.io</a>, a big data analytics platform. <pkg>yhatr</pkg> lets you deploy, maintain, and invoke models via the <a href="https://www.yhat.com/">Yhat</a> REST API. <pkg>datarobot</pkg> works with Data Robot's predictive modeling platform. <pkg>mscsweblm4r</pkg> (<a href="https://github.com/philferriere/mscsweblm4r">GitHub</a>) interfaces with the Microsoft Cognitive Services Web Language Model API and <pkg>mscstexta4r</pkg> (<a href="https://github.com/philferriere/mscstexta4r">GitHub</a>) uses the Microsoft Cognitive Services Text Analytics REST API. <pkg>rosetteApi</pkg> links to the <a href="https://developer.rosette.com/">Rosette</a> text analysis API.</li>
    <li><em>Machine Translation</em>: <pkg>translate</pkg> provides bindings for the Google Translate API v2 and <pkg>translateR</pkg> provides bindings for both Google and Microsoft translation APIs. <a href="https://github.com/chainsawriot/mstranslator">mstranslator</a> (<a href="https://github.com/chainsawriot/mstranslator">GitHub</a>) provides an R wrapper for the <a href="https://msdn.microsoft.com/en-us/library/hh454949.aspx">Microsoft Translator API</a>. <pkg>RYandexTranslate</pkg> (<a href="https://github.com/mukul13/RYandexTranslate">GitHub</a>) connects to <a href="https://translate.yandex.com/">Yandex Translate</a>. <pkg>transcribeR</pkg> provides automated audio transcription via the HP IDOL service.</li>
    <li><em>Document Processing</em>: <pkg>abbyyR</pkg> <a href="https://github.com/soodoku/abbyyR">GitHub</a> and <pkg>captr</pkg> (<a href="https://github.com/soodoku/captr">GitHub</a>) connect to optical character recognition (OCR) APIs. <pkg>pdftables</pkg> (<a href="https://github.com/expersso/pdftables">GitHub</a>) uses <a href="https://pdftables.com/">the PDFTables.com webservice</a> to extract tables from PDFs.</li>
    <li><em>Mapping</em>: <pkg>osmar</pkg> provides infrastructure to access OpenStreetMap data from different sources to work with the data in common R manner and to convert data into available infrastructure provided by existing R packages (e.g., into sp and igraph objects). <pkg>osrm</pkg> (<a href="https://github.com/rCarto/osrm">GitHub</a>) provides shortest paths and travel times from OpenStreetMap. <pkg>osmplotr</pkg> (<a href="https://github.com/ropenscilabs/osmplotr">GitHub</a>) extracts customizable map images from OpenStreetMap. <pkg>RgoogleMaps</pkg> serves two purposes: it provides a comfortable R interface to query the Google server for static maps, and use the map as a background image to overlay plots within R. <ohat>R2GoogleMaps</ohat> provides a mechanism to generate JavaScript code from R that displays data using Google Maps. <pkg>placement</pkg> (<a href="https://github.com/derekyves/placement">GitHub</a>) provides drive time and geolocation services from Google Maps. <ohat>RKMLDevice</ohat> allows to create R graphics in Keyhole Markup Language (KML) format in a manner that allows them to be displayed on Google Earth (or Google Maps), and <ohat>RKML</ohat> provides users with high-level facilities to generate KML. <pkg>plotKML</pkg> can visualization spatial and spatio-temporal objects in Google Earth. <pkg>plotGoogleMaps</pkg> pls SP or SPT (STDIF,STFDF) data as an HTML map mashup over Google Maps. <pkg>ggmap</pkg> allows for the easy visualization of spatial data and models on top of Google Maps, OpenStreetMaps, Stamen Maps, or CloudMade Maps using ggplot2. <pkg>leafletR</pkg>: Allows you to display your spatial data on interactive web-maps using the open-source JavaScript library Leaflet. <a href="https://github.com/becarioprecario/cartodb-r/tree/master/CartoDB">CartoDB</a> (not on CRAN) provides an API interface to <a href="http://docs.cartodb.com/">Cartodb.com</a>. <pkg>openadds</pkg> (<a href="https://github.com/sckott/openadds">GitHub</a>) is an <a href="http://openaddresses.io/">Openaddresses</a> client.</li>
    <li><em>Online Surveys</em>: <a href="https://github.com/jbryer/qualtrics">qualtrics</a> (not on CRAN) provides functions to interact with <a href="https://www.qualtrics.com/">Qualtrics</a>. <pkg>WufooR</pkg> (<a href="https://github.com/dmpe/wufoor">GitHub</a>) can retrieve data from <a href="http://www.wufoo.com/">Wufoo.com</a> forms. <pkg>redcapAPI</pkg> (<a href="https://github.com/nutterb/redcapAPI">GitHub</a>) can provide access to data stored in a REDCap (Research Electronic Data CAPture) database, which is a web application for building and managing online surveys and databases developed at Vanderbilt University. <a href="https://github.com/rubenarslan/formr">formr</a> facilitates use of the <a href="https://formr.org/">formr</a> survey framework, which is built on openCPU. <pkg>Rexperigen</pkg> is a client for the <a href="http://becker.phonologist.org/experigen/">Experigen experimental platform</a>.</li>
    <li><em>Visualization</em>: Plot.ly is a company that allows you to create visualizations in the web using R (and Python). They have an R package in development <a href="https://github.com/ropensci/plotly">here</a> (not on CRAN), as well as access to their services via <a href="https://plot.ly/API/">a REST API</a>. <pkg>googleVis</pkg> provides an interface between R and the Google chart tools. The <ohat>RUbigraph</ohat> package provides an R interface to a Ubigraph server for drawing interactive, dynamic graphs. You can add and remove vertices/nodes and edges in a graph and change their attributes/characteristics such as shape, color, size. Interactive, Javascript-enabled graphics are an increasingly useful output format for data analysis. <pkg>ggvis</pkg> makes it easy to describe interactive web graphics in R. It fuses the ideas of ggplot2 and <pkg>shiny</pkg>, rendering graphics on the web with Vega. <pkg>d3Network</pkg> provides tools for creating D3 JavaScript network, tree, dendrogram, and Sankey graphs from R. <a href="https://github.com/ramnathv/rCharts">rCharts</a> (not on CRAN) and <a href="https://github.com/nachocab/clickme">clickme</a> (not on CRAN) allow for interactive Javascript charts from R. <a href="https://github.com/tdhock/animint">animint</a> (not on CRAN) allows an interactive animation to be defined using a list of ggplots with clickSelects and showSelected aesthetics, then exported to CSV/JSON/D3/JavaScript for viewing in a web browser. <a href="https://github.com/metagraf/rVega">rVega</a> (not on CRAN) is an R wrapper for Vega.</li>
    <li><em>Other</em>:
    <ul>
    <li><pkg>genderizeR</pkg> (<a href="https://github.com/kalimu/genderizeR">GitHub</a>) uses the <a href="https://genderize.io/">genderize.io</a> API to predict gender from first names extracted from a text vector.</li>
    <li><pkg>rrefine</pkg> can import to and export from the <a href="http://openrefine.org/">OpenRefine</a> data cleaning service.</li>
    </ul></li>
    </ul>
    <p><strong>Social Media Clients</strong></p>
    <ul>
    <li><pkg>plusser</pkg> has been designed to to facilitate the retrieval of Google+ profiles, pages and posts. It also provides search facilities. Currently a Google+ API key is required for accessing Google+ data.</li>
    <li><pkg>Rfacebook</pkg> provides an interface to the Facebook API.</li>
    <li>The <ohat>Rflickr</ohat> package provides an interface to the Flickr photo management and sharing application Web service. (not on CRAN)</li>
    <li><pkg>instaR</pkg> (<a href="https://github.com/pablobarbera/instaR">GitHub</a>) is a client for the <a href="https://www.instagram.com/developer/">Instagram API</a>.</li>
    <li><a href="https://github.com/mpiccirilli/Rlinkedin">Rlinkedin</a> (not on CRAN) is a client for the LinkedIn API. Auth is via OAuth.</li>
    <li><pkg>SocialMediaMineR</pkg> is an analytic tool that returns information about the popularity of a URL on social media sites.</li>
    <li><pkg>tumblR</pkg> (<a href="https://github.com/klapaukh/tumblR">GitHub</a>) is a client for the Tumblr API (<a href="https://www.tumblr.com/docs/en/api/v2" class="uri">https://www.tumblr.com/docs/en/api/v2</a>). Tumblr is a microblogging platform and social networking website <a href="https://www.tumblr.com/" class="uri">https://www.tumblr.com/</a>.</li>
    <li><em>Twitter</em>: <pkg>twitteR</pkg> provides an interface to the Twitter web API. <a href="https://github.com/joyofdata/RTwitterAPI">RTwitterAPI</a> (not on CRAN) and <a href="https://github.com/mkearney/rtweet">rtweet</a> (not on CRAN) are other Twitter clients. <a href="https://github.com/gvegayon/twitterreport">twitterreport</a> (not on CRAN) focuses on report generation based on Twitter data. <pkg>streamR</pkg> provides a series of functions that allow users to access Twitter's filter, sample, and user streams, and to parse the output into data frames. OAuth authentication is supported. <pkg>tweet2r</pkg> is an alternative iplementation geared toward SQLite and postGIS databases. <pkg>graphTweets</pkg> produces a network graph from a data.frame of tweets. <a href="https://github.com/pablobarbera/twitter_ideology/tree/master/pkg/tweetscores">tweetscores</a> (not on CRAN) implements a political ideology scaling measure for specified Twitter users.</li>
    </ul>
    <p><strong>Web Analytics Services</strong></p>
    <ul>
    <li><em>Google Trends</em>: <a href="https://github.com/dvanclev/GTrendsR">GTrendsR</a> (not on CRAN) offers functions to perform and display Google Trends queries. Another GitHub package (<a href="https://github.com/emhart/rGtrends">rGtrends</a>) is now deprecated, but supported a previous version of Google Trends and may still be useful for developers. <ohat>RGoogleTrends</ohat> provides another alternative.</li>
    <li><em>Google Analytics</em>: <pkg>googleAnalyticsR</pkg> (<a href="http://code.markedmondson.me/googleAnalyticsR/">GitHub</a>), <pkg>RGoogleAnalytics</pkg> (<a href="https://github.com/Tatvic/RGoogleAnalytics/issues">GitHub</a>), <a href="https://github.com/jdeboer/ganalytics">ganalytics</a> (<a href="https://github.com/jdeboer/ganalytics">GitHub</a>; not on CRAN), <pkg>GAR</pkg> (<a href="https://github.com/andrewgeisler/GAR">GitHub</a>), and <pkg>RGA</pkg> provide functions for accessing and retrieving data from the <a href="https://developers.google.com/analytics/">Google Analytics APIs</a>. The latter supports OAuth 2.0 authorization. <pkg>RGA</pkg> provides a shiny app to explore data. <pkg>searchConsoleR</pkg> (<a href="https://github.com/MarkEdmondson1234/searchConsoleR">GitHub</a>) links to the <a href="https://developers.google.com/webmaster-tools/">Google Search Console</a> (formerly Webmaster Tools).</li>
    <li><em>Online Advertising</em>: <pkg>fbRads</pkg> can manage Facebook ads via the Facebook Marketing API. <a href="https://github.com/WillemPaling/RDoubleClick">RDoubleClick</a> (not on CRAN) can retrieve data from Google's DoubleClick Campaign Manager Reporting API. <pkg>RSmartlyIO</pkg> (<a href="https://github.com/rstats-lab/RSmartlyIO">GitHub</a>) loads Facebook and Instagram advertising data provided by <a href="https://app.smartly.io/">Smartly.io</a>.</li>
    <li><em>Other services</em>: <pkg>RSiteCatalyst</pkg> has functions for accessing the Adobe Analytics (Omniture SiteCatalyst) Reporting API.</li>
    <li><pkg>RAdwords</pkg> (<a href="https://github.com/jburkhardt/RAdwords">GitHub</a>) is a package for loading Google Adwords data.</li>
    <li><pkg>anametrix</pkg> is a bidirectional connector to the Anametrix API.</li>
    <li><pkg>webreadr</pkg> (<a href="https://github.com/Ironholds/webreadr">GitHub</a>) can process various common forms of request log, including the Common and Combined Web Log formats and AWS logs.</li>
    <li><pkg>ApacheLogProcessor</pkg> (<a href="https://github.com/diogosmendonca/ApacheLogProcessor">GitHub</a>) can process Apache Web Server log files.</li>
    </ul>
    <p><strong>Other Web Services</strong></p>
    <ul>
    <li><p><em>Fitness Apps</em>: <pkg>fitbitScraper</pkg> (<a href="https://github.com/corynissen/fitbitScraper">GitHub</a>) and <pkg>fitcoach</pkg> retrieve Fitbit data. <pkg>RGoogleFit</pkg> provides similar functionality for <a href="https://developers.google.com/fit/rest/v1/reference/">Google Fit</a>.</p></li>
    <li><em>Push Notifications</em>: <pkg>RPushbullet</pkg> provides an easy-to-use interface for the Pushbullet service which provides fast and efficient notifications between computers, phones and tablets. <pkg>pushoverr</pkg> (<a href="https://github.com/briandconnelly/pushoverr">GitHub</a>) can sending push notifications to mobile devices (iOS and Android) and desktop using <a href="https://pushover.net/">Pushover</a>.</li>
    <li><em>Reference/bibliography/citation management</em>: <pkg>RefManageR</pkg> imports and manage BibTeX and BibLaTeX references with RefManager. <a href="https://cran.rstudio.com/src/contrib/Archive/RMendeley/">RMendeley</a>: Implementation of the Mendeley API in R. Archived on CRAN. It's been archived on CRAN temporarily until it is updated for the new Mendeley API. <a href="https://github.com/ropensci/rmetadata">rmetadata</a> (not on CRAN) can get scholarly metadata from around the web. <pkg>rorcid</pkg> (<a href="https://github.com/ropensci/rorcid">GitHub</a>) is a programmatic interface the <a href="http://orcid.org/">Orcid.org</a> API, which can be used for identifying scientific authors and their publications (e.g., by DOI). <pkg>rplos</pkg> is a programmatic interface to the Web Service methods provided by the Public Library of Science journals for search. <a href="https://github.com/rOpenHealth/rpubmed">rpubmed</a> (not on CRAN) provides tools for extracting and processing Pubmed and Pubmed Central records, and <pkg>europepmc</pkg> (<a href="http://github.com/ropensci/europepmc/">GitHub</a>) connects to the Europe PubMed Central service. <pkg>scholar</pkg> provides functions to extract citation data from Google Scholar. Convenience functions are also provided for comparing multiple scholars and predicting future h-index values. <pkg>pubmed.mineR</pkg> is a package for text mining of <a href="http://www.ncbi.nlm.nih.gov/pubmed">PubMed Abstracts</a> that supports fetching text and XML from PubMed. <pkg>rdatacite</pkg> (<a href="https://github.com/ropensci/rdatacite">GitHub</a>) connects to <a href="https://www.datacite.org/">DataCite</a>. <pkg>oai</pkg> (<a href="https://github.com/ropensci/oai">GitHub</a>) and <pkg>OAIHarvester</pkg> harvest metadata using the Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) standard. <a href="https://github.com/benmarwick/JSTORr">JSTORr</a> (Not on CRAN) provides simple text mining of journal articles from JSTOR's Data for Research service. <pkg>aRxiv</pkg> (<a href="https://github.com/ropensci/aRxiv">GitHub</a>) is a client for the arXiv API, a repository of electronic preprints for computer science, mathematics, physics, quantitative biology, quantitative finance, and statistics. <pkg>alm</pkg> is a wrapper to the almetrics API platform developed by PLoS.</li>
    <li><em>Wikipedia</em>: <pkg>WikipediR</pkg> (<a href="https://github.com/Ironholds/WikipediR">GitHub</a>) is a wrapper for the MediaWiki API, aimed particularly at the Wikimedia 'production' wikis, such as Wikipedia. <a href="https://github.com/chgrl/rwikidata">rwikidata</a> and <pkg>WikidataR</pkg> (<a href="https://github.com/Ironholds/WikidataR">GitHub</a>) can request data from <a href="https://www.wikidata.org/wiki/Wikidata:Main_Page">Wikidata.org</a>, the free knowledgebase. <pkg>wikipediatrend</pkg> (<a href="https://github.com/petermeissner/wikipediatrend">GitHub</a>) provides access to Wikipedia page access statistics. <pkg>WikiSocio</pkg> can retrieve contributor lists and revision data.</li>
    <li><pkg>bigrquery</pkg> (<a href="https://github.com/rstats-db/bigrquery">GitHub</a>): An interface to Google's bigquery.</li>
    <li><pkg>cymruservices</pkg> queries <a href="http://www.team-cymru.org/">Team Cymru</a> web security services.</li>
    <li><pkg>datamart</pkg>: Provides an S4 infrastructure for unified handling of internal datasets and web based data sources. Examples include dbpedia, eurostat and sourceforge.</li>
    <li><pkg>discgolf</pkg> (<a href="https://github.com/sckott/discgolf">GitHub</a>) provides a client to interact with the API for the <a href="http://www.discourse.org/">Discourse</a> web forum platform. The API is for an installed instance of Discourse, not for the Discourse site itself.</li>
    <li><pkg>factualR</pkg>: Thin wrapper for the <a href="https://factual.com/">Factual.com</a> server API.</li>
    <li><a href="http://gfusiontables.lopatenko.com/">GFusionTables</a> (not on CRAN): An interface to Google Fusion Tables. Google Fusion Tables is a data management system in the cloud. This package provides functions to browse Fusion Tables catalog, retrieve data from Gusion Tables dtd storage to R and to upload data from R to Fusion Tables</li>
    <li><a href="https://github.com/stephlocke/HIBPwned">HIBPwned</a> (not on CRAN) is a client for <a href="https://haveibeenpwned.com/">Have I Been Pwned</a>.</li>
    <li><a href="https://cran.rstudio.com/src/contrib/Archive/infochimps/">infochimps</a> (<a href="https://github.com/drewconway/infochimps">GitHub</a>; archived) is an R wrapper for the infochimps.com API services.</li>
    <li><a href="https://github.com/ropensci/internetarchive">internetarchive</a> (not on CRAN): API client for internet archive metadata.</li>
    <li><pkg>jSonarR</pkg>: Enables users to access MongoDB by running queries and returning their results in data.frames. jSonarR uses data processing and conversion capabilities in the jSonar Analytics Platform and the <a href="http://jsonstudio.com/">JSON Studio Gateway</a>, to convert JSON to a tabular format.</li>
    <li><pkg>livechatR</pkg> is a client for the <a href="https://developers.livechatinc.com/rest-api/">LiveChat API</a>.</li>
    <li><pkg>lucr</pkg> performs currency conversions using <a href="https://openexchangerates.org/">Open Exchange Rates</a>.</li>
    <li><a href="https://github.com/stephlocke/mockaRoo">mockaRoo</a> (not on CRAN) uses the <a href="https://www.mockaroo.com/api/docs">MockaRoo API</a> to generate mock or fake data based on an input schema.</li>
    <li><pkg>nomadlist</pkg> information of relevance to &quot;digital nomads,&quot; use technology in order to work remotely and live an independent and nomadic lifestyle.</li>
    <li><pkg>osi</pkg> (<a href="https://github.com/Ironholds/osi/">GitHub</a>) retrieves open source license data and metadata from <a href="https://api.opensource.org/licenses/" class="uri">https://api.opensource.org/licenses/</a>.</li>
    <li><pkg>randNames</pkg> (<a href="https://github.com/karthik/randNames">GitHub</a>) generates random names and personal identifying information using the <a href="https://randomapi.com/" class="uri">https://randomapi.com/</a> API.</li>
    <li><pkg>Rbitcoin</pkg> allows both public and private API calls to interact with Bitcoin. <pkg>rbitcoinchartsapi</pkg> is a package for the <a href="http://bitcoincharts.com/">BitCoinCharts.com</a> API. From their website: &quot;Bitcoincharts provides financial and technical data related to the Bitcoin network and this data can be accessed via a JSON application programming interface (API).&quot; <pkg>RCryptsy</pkg> (<a href="https://github.com/ropensci/RCryptsy">GitHub</a>) wraps the API for the <a href="http://www.cryptsy.com">Cryptsy</a> crypto-currency trading platform.</li>
    <li><pkg>Rblpapi</pkg> (<a href="https://github.com/Rblp/Rblpapi">GitHub</a>) is a client for Bloomberg Finance L.P. <pkg>ROpenFIGI</pkg> (<a href="https://github.com/HuangRicky/ROpenFIGI">GitHub</a>) provides an interface to Bloomberg's <a href="https://openfigi.com/">OpenFIGI</a> API.</li>
    <li><a href="https://github.com/ropensci/rerddap">rerddap</a> (<a href="https://github.com/ropensci/rerddap">GitHub</a>; not on CRAN): A generic R client to interact with any ERDDAP instance, which is a special case of OPeNDAP (<a href="https://en.wikipedia.org/wiki/OPeNDAP" class="uri">https://en.wikipedia.org/wiki/OPeNDAP</a>), or <em>Open-source Project for a Network Data Access Protocol</em>. Allows user to swap out the base URL to use any ERDDAP instance.</li>
    <li><a href="https://github.com/hmalmedal/ripplerestr">ripplerestr</a> provides an interface to the <a href="https://ripple.com/">Ripple</a> protocol for making financial transactions.</li>
    <li><pkg>restimizeapi</pkg> provides an interface to trading website <a href="https://www.estimize.com/">estimize.com</a>.</li>
    <li><pkg>RForcecom</pkg>: RForcecom provides a connection to Force.com and Salesforce.com.</li>
    <li><a href="https://github.com/dsidavis/Rgoodreads">Rgoodreads</a> (not on CRAN) interacts with <a href="https://www.goodreads.com/">Goodreads</a>.</li>
    <li><a href="https://cran.rstudio.com/src/contrib/Archive/RLastFM/">RLastFM</a> (archived on CRAN) is a package to interface to the last.fm API. Archived on CRAN.</li>
    <li><pkg>ROpenWeatherMap</pkg> is a client for location-based weather data and forecasting from <a href="http://openweathermap.org/api">Open Weather Map</a>.</li>
    <li><pkg>RSocrata</pkg> access data for Socrata open data portals. <pkg>soql</pkg> is a pipe-oriented set of tools for constructing Socrata queries.</li>
    <li><pkg>RStripe</pkg> provides an interface to <a href="https://stripe.com">Stripe</a>, an online payment processor.</li>
    <li><pkg>RZabbix</pkg> links with the <a href="https://www.zabbix.com/documentation/3.0/manual/api/reference">Zabbix network monitoring service API</a>.</li>
    <li><pkg>shopifyr</pkg>: An interface to the API of the E-commerce service Shopify <a href="https://help.shopify.com/api" class="uri">https://help.shopify.com/api</a>.</li>
    <li><pkg>slackr</pkg> (<a href="https://github.com/hrbrmstr/slackr">GitHub</a>) is a client for Slack.com messaging platform.</li>
    <li><a href="https://github.com/dmpe/SlideShaRe">SlideShaRe</a> (not on CRAN) is a client for Slideshare.</li>
    <li><a href="https://github.com/dgrtwo/stackr">stackr</a> (not on CRAN): An unofficial wrapper for the read-only features of the <a href="https://api.stackexchange.com/">Stack Exchange API</a>.</li>
    <li><pkg>telegram</pkg> (<a href="https://github.com/lbraglia/telegram">GitHub</a>) connects with the <a href="https://core.telegram.org/bots/api">Telegram Bot API</a>.</li>
    <li><a href="https://github.com/soodoku/tuber">tuber</a> (not on CRAN): A YouTube API client.</li>
    <li><a href="https://github.com/Ironholds/udapi">udapi</a> (not on CRAN) connects to Urban Dictionary.</li>
    <li><pkg>yummlyr</pkg> (<a href="https://github.com/RomanTsegelskyi/yummlyr">GitHub</a>) provides an interface to the <a href="https://developer.yummly.com/">Yummly</a> recipe database.</li>
    <li><pkg>zendeskR</pkg>: This package provides a wrapper for the Zendesk API.</li>
    <li><p><a href="https://github.com/fascinatingfingers/ZillowR">ZillowR</a> is a client for the Zillow real estate service.</p></li>
    </ul>
  </info>
  <packagelist>
    <pkg priority="core">httr</pkg>
    <pkg priority="core">RCurl</pkg>
    <pkg priority="core">jsonlite</pkg>
    <pkg priority="core">shiny</pkg>
    <pkg priority="core">XML</pkg>
    <pkg>abbyyR</pkg>
    <pkg>alm</pkg>
    <pkg>anametrix</pkg>
    <pkg>ApacheLogProcessor</pkg>
    <pkg>aRxiv</pkg>
    <pkg>aws.signature</pkg>
    <pkg>AzureML</pkg>
    <pkg>backblazer</pkg>
    <pkg>bigml</pkg>
    <pkg>bigrquery</pkg>
    <pkg>boilerpipeR</pkg>
    <pkg>boxr</pkg>
    <pkg>captr</pkg>
    <pkg>clarifai</pkg>
    <pkg>curl</pkg>
    <pkg>curlconverter</pkg>
    <pkg>cymruservices</pkg>
    <pkg>d3Network</pkg>
    <pkg>datamart</pkg>
    <pkg>dataone</pkg>
    <pkg>datarobot</pkg>
    <pkg>ddeploy</pkg>
    <pkg>discgolf</pkg>
    <pkg>downloader</pkg>
    <pkg>dvn</pkg>
    <pkg>europepmc</pkg>
    <pkg>factualR</pkg>
    <pkg>FastRWeb</pkg>
    <pkg>fbRads</pkg>
    <pkg>fiery</pkg>
    <pkg>fitbitScraper</pkg>
    <pkg>fitcoach</pkg>
    <pkg>GAR</pkg>
    <pkg>genderizeR</pkg>
    <pkg>geocodeHERE</pkg>
    <pkg>geoparser</pkg>
    <pkg>ggmap</pkg>
    <pkg>ggvis</pkg>
    <pkg>gistr</pkg>
    <pkg>git2r</pkg>
    <pkg>gitlabr</pkg>
    <pkg>gmailr</pkg>
    <pkg>googleAnalyticsR</pkg>
    <pkg>googleCloudStorageR</pkg>
    <pkg>googlesheets</pkg>
    <pkg>googleVis</pkg>
    <pkg>graphTweets</pkg>
    <pkg>gsheet</pkg>
    <pkg>htmltab</pkg>
    <pkg>httpcache</pkg>
    <pkg>httping</pkg>
    <pkg>httpRequest</pkg>
    <pkg>httpuv</pkg>
    <pkg>imguR</pkg>
    <pkg>instaR</pkg>
    <pkg>jqr</pkg>
    <pkg>jSonarR</pkg>
    <pkg>jsonvalidate</pkg>
    <pkg>jug</pkg>
    <pkg>leafletR</pkg>
    <pkg>livechatR</pkg>
    <pkg>longurl</pkg>
    <pkg>lucr</pkg>
    <pkg>magrittr</pkg>
    <pkg>mailR</pkg>
    <pkg>mime</pkg>
    <pkg>mscstexta4r</pkg>
    <pkg>mscsweblm4r</pkg>
    <pkg>MTurkR</pkg>
    <pkg>nomadlist</pkg>
    <pkg>oai</pkg>
    <pkg>OAIHarvester</pkg>
    <pkg>openadds</pkg>
    <pkg>opencage</pkg>
    <pkg>opencpu</pkg>
    <pkg>osi</pkg>
    <pkg>osmar</pkg>
    <pkg>osmplotr</pkg>
    <pkg>osrm</pkg>
    <pkg>pdftables</pkg>
    <pkg>placement</pkg>
    <pkg>plotGoogleMaps</pkg>
    <pkg>plotKML</pkg>
    <pkg>plumber</pkg>
    <pkg>plusser</pkg>
    <pkg>pubmed.mineR</pkg>
    <pkg>pushoverr</pkg>
    <pkg>RAdwords</pkg>
    <pkg>randNames</pkg>
    <pkg>rapport</pkg>
    <pkg>Rbitcoin</pkg>
    <pkg>rbitcoinchartsapi</pkg>
    <pkg>Rblpapi</pkg>
    <pkg>RCryptsy</pkg>
    <pkg>RDataCanvas</pkg>
    <pkg>rdatacite</pkg>
    <pkg>redcapAPI</pkg>
    <pkg>RefManageR</pkg>
    <pkg>repmis</pkg>
    <pkg>request</pkg>
    <pkg>restimizeapi</pkg>
    <pkg>Rexperigen</pkg>
    <pkg>Rfacebook</pkg>
    <pkg>rfigshare</pkg>
    <pkg>RForcecom</pkg>
    <pkg>RGA</pkg>
    <pkg>rgeolocate</pkg>
    <pkg>rgeospatialquality</pkg>
    <pkg>RGoogleAnalytics</pkg>
    <pkg>RGoogleFit</pkg>
    <pkg>RgoogleMaps</pkg>
    <pkg>rio</pkg>
    <pkg>rjson</pkg>
    <pkg>RJSONIO</pkg>
    <pkg>rLTP</pkg>
    <pkg>ROAuth</pkg>
    <pkg>Rook</pkg>
    <pkg>ROpenFIGI</pkg>
    <pkg>ROpenWeatherMap</pkg>
    <pkg>rorcid</pkg>
    <pkg>rosetteApi</pkg>
    <pkg>rplos</pkg>
    <pkg>RPushbullet</pkg>
    <pkg>rrefine</pkg>
    <pkg>RSclient</pkg>
    <pkg>rsdmx</pkg>
    <pkg>RSelenium</pkg>
    <pkg>Rserve</pkg>
    <pkg>RSiteCatalyst</pkg>
    <pkg>RSmartlyIO</pkg>
    <pkg>RSocrata</pkg>
    <pkg>RStripe</pkg>
    <pkg>rvest</pkg>
    <pkg>RYandexTranslate</pkg>
    <pkg>RZabbix</pkg>
    <pkg>scholar</pkg>
    <pkg>scrapeR</pkg>
    <pkg>searchConsoleR</pkg>
    <pkg>sendmailR</pkg>
    <pkg>servr</pkg>
    <pkg>shopifyr</pkg>
    <pkg>slackr</pkg>
    <pkg>SocialMediaMineR</pkg>
    <pkg>soql</pkg>
    <pkg>streamR</pkg>
    <pkg>telegram</pkg>
    <pkg>threewords</pkg>
    <pkg>tidyjson</pkg>
    <pkg>tm.plugin.webmining</pkg>
    <pkg>transcribeR</pkg>
    <pkg>translate</pkg>
    <pkg>translateR</pkg>
    <pkg>tumblR</pkg>
    <pkg>tweet2r</pkg>
    <pkg>twitteR</pkg>
    <pkg>uaparserjs</pkg>
    <pkg>urlshorteneR</pkg>
    <pkg>urltools</pkg>
    <pkg>V8</pkg>
    <pkg>W3CMarkupValidator</pkg>
    <pkg>webreadr</pkg>
    <pkg>webshot</pkg>
    <pkg>webutils</pkg>
    <pkg>whisker</pkg>
    <pkg>WikidataR</pkg>
    <pkg>wikipediatrend</pkg>
    <pkg>WikipediR</pkg>
    <pkg>WikiSocio</pkg>
    <pkg>WufooR</pkg>
    <pkg>xml2</pkg>
    <pkg>XML2R</pkg>
    <pkg>yhatr</pkg>
    <pkg>yummlyr</pkg>
    <pkg>zendeskR</pkg>
  </packagelist>
  <links>
    <a href="https://github.com/ropensci/opendata">Open Data TaskView</a>
  </links>
</CRANTaskView>
