Perform and Display Google Trends Queries

An interface for retrieving and displaying the information returned online by Google Trends is provided. Trends (number of hits) over the time as well as geographic representation of the results can be displayed.

gtrendsR provides an interface for retrieving and displaying Google Trends information.

Trends (number of hits) over time as well as geographic representation of the results can be displayed.

Changes in Google Trends API

Due to recent changes to Google Trends API, the CRAN version of the package is no longer working. If you wan to continue to query Google Trends, you have to install the development version of the package. This will be soon deployed on CRAN.


In this simple example, trends for keywords nhl, nba are retrieved for Canada and USA and then plotted from R.

res <- gtrends(c("nhl", "nba"), geo = c("CA", "US"))


Since release 1.3.0, the package is on CRAN and can be installed via


Release-candidate packages are available in the ghrr drat repository and can installed via

install.packages("drat")       # easier repo access + creation
drat:::add("ghrr")             # make it known
install.packages("gtrendsR")   # install it

Development version (which may be less stable) can be installed directly from this repository via

if (!require("devtools")) install.packages("devtools")


Philippe Massicotte and Dirk Eddelbuettel


GPL (>= 2)


gtrendsR 1.4.0

Major change

  • Due to recent changes to Google Trends API, gtrendsR has been almost re-written form scratch. One big visible change is that signing into a Google account is no longer required to download data from Google Trends.

Bug fixes

  • Added missing all DMAs within the US (#146).

  • gtrendsR now correctly use the hl (local) parameter to retreive data (@antaldaniel).

- Better support for queries using non-ascii keywords (gtrends("österreich")).

gtrendsR 1.3.5

  • Added some missing country codes (#94). data("countries").

  • Now able to specify for which Google products the request is performed using the gprop parameter (#112). Possible values are froogle for Google shopping, new for Google news, youtube for Youtube videos and images for Google images.

  • Now able to query using Google categories ?gtrends (#89).

  • Returned data is now tidy (#110). The trend object now contains keyword, hits and location header (head(sport_trend$trend)).

  • Fixing a bug where overriding countries variable was breaking package's functionalities (#109).

  • Correct default fallback for querying for google.user and google.password in gconnect (#121)

gtrendsR 1.3.4

  • Fixing login issue due to backend changes made by Google (#103). Thanks to @MrLoh for initial implementation and suggestions.

  • Fixing crash occuring when monthly data was returned (#81).

  • gtrends() will throw a warning if data is returned monthly (#80).

  • gtrends() is now correctly detecting when quota limit is reached (#90).

gtrendsR 1.3.3

  • A ggplot2 object can now be returned for further customization. plot(gtrends("NHL")) + ggtitle("NHL trend") + theme(legend.position="none")

  • Support for hourly and daily data (#67). For example, it is now possible to have hourly data for the last seven days with gtrends("nhl", geo = "CA", res = "7d"). Use ?gtrends for more information about the time resolution supported by the package.

  • Support for categorties (#46). Ex.: gtrends("NHL", geo = "US", cat = "0-20") will search only in the sport category.

  • Some countries (ex: Hong Kong) were missing from the list (#69).

  • Various typos and documentation work.

gtrendsR 1.3.2

  • Added support for sub-countries (#25). Ex.: gtrends("NHL", geo = "CA-QC") will return trends data for Québec province in Canada. The list of supported sub-countries can be obtained via data(countries).

  • Data parsing should work for any data returned by Google Trends (i.e. countries independent).

  • Better support for queries using keywords in different languages (#50, #57). Ex.: gtrends("蘋果", geo = "TW")

  • Now able to specify up to five countries (#53) via gtrends("NHL", geo = c("CA", "US"))

  • Fixing issue #51 allowing UK-based queries via geo = "GB"

gtrendsR 1.3.1

  • Fixing issue #34 where connection verification was not done properly.
  • Now able to use more latin character in query. For example: gtrends("montréal").
  • Can now deal with data returned other than in English language.

gtrendsR 1.3.0

  • First version of gtrendsR

Reference manual

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


1.4.1 by Philippe Massicotte, 4 months ago

Report a bug at

Browse source code at

Authors: Philippe Massicotte [aut, cre], Dirk Eddelbuettel [aut]

Documentation:   PDF Manual  

Task views: Web Technologies and Services

GPL (>= 2) license

Imports ggplot2, jsonlite, anytime, curl

Suggests knitr, rmarkdown

See at CRAN