Trends in the era of big data!
by Odlica Inc
Google Trends is a service provided by Google that allows users to analyze the popularity of search queries across various regions and languages. It provides insights into the relative frequency of search terms over time, helping users understand the trends, interests, and patterns associated with specific topics.
Find more about Google Trends here
Lists all the categories used to filter search.
prefix: /cat
method: GET
Response:
{
"cat": {
0:"Celebrities & Entertainment News"
1:"Animated Films"
2:"Anime & Manga"
3:"Cartoons"
4:"Comics"
..
}
"msg": ""
}
Lists all the geographic options used to filter search.
Consists of a list of countriesâ keys, each country item contains the country key and the possible regionsâ keys.
prefix: /geo
method: GET
Response:
{
"geo":{
"countries": {
"Afghanistan": {
"country":"Afghanistan"
"regions"{
0:"Badakhshan"
1:"Badghis"
2:"Baghlan"
3:"Balkh"
4:"Bamiyan"
..
}
}
}
}
"msg": ""
}
Fetchs trends data for a single keyword or multiple keywords between a specific datetime (since 2004 or after) up till now.
The data is used to generate the following graph
Data is discretized by either hours, days, weeks, months or years.
Trends are normalized between 0 and 100 and scalled based on the total number of geographic searches as per Google Trends documentation.
prefix: /historical
method: POST
Request:
{
"keywords": [
"France",
"Italy",
"Germany"
],
"start": "2020-05-01T00:43:37+0100",
"country": "France",
"region": "Alsace",
"category": "",
"gprop": ""
}
keyworkds
: list of keyword(s)start
: datetime string for the time span begining, must follow the given formatcountry
: country name to filter search, see /geo
endpoint for options, empty string means trends for all the worldregion
: region name to filter search, see /geo
endpoint for options, must use a valid country to filter with region, empty string means trends for the entire countrycategory
: category to filter search, see /cat
endpoint for options, , empty string means trends for all categoriesgprop
: trends google service, options are:'images'
for images'news'
for news'youtube'
for youtube'froogle'
for google shopping
Response:
{
"France": {
"2020-05-03T00:00:00": 51,
"2020-05-10T00:00:00": 49,
"2020-05-17T00:00:00": 47,
"2020-05-24T00:00:00": 49,
...
},
"Italy": {
"2020-05-03T00:00:00": 0,
"2020-05-10T00:00:00": 0,
"2020-05-17T00:00:00": 0,
"2020-05-24T00:00:00": 0,
...
},
"Germany": {
"2020-05-03T00:00:00": 0,
"2020-05-10T00:00:00": 0,
"2020-05-17T00:00:00": 0,
"2020-05-24T00:00:00": 0,
...
},
"isPartial": {
"2022-04-17T00:00:00": false,
...
"2024-02-04T00:00:00": false,
"2024-02-11T00:00:00": true
}
}
Note: is_partial
indicates whether the data used to calculate the data point is live (partial data) or complete data.
Fetchs trends data by geographic region
Data feteched used in the following graph
prefix: /region
method: POST
Request:
{
"keywords": [
"France",
"Italy",
"Germany"
],
"start": "2020-05-01T00:43:37+0100",
"country": "United States",
"region": "",
"category": "",
"gprop": "",
"resolution": "DMA",
"include_low_volume": false
}
keyworkds
: list of keyword(s)
start
: datetime string for the time span begining, must follow the given format
country
: country name to filter search, see /geo
endpoint for options, empty string means trends for all the world
region
: region name to filter search, see /geo
endpoint for options, must use a valid country to filter with region, empty string means trends for the entire country
category
: category to filter search, see /cat
endpoint for options, , empty string means trends for all categories
gprop
: trends google service, options are:
'images'
for images'news'
for news'youtube'
for youtubefroogle'
for google shoppingresolution
: geographice resolution, options are:
'COUNTRY'
used when retrieving data for all the world'REGION'
used for country level regions'DMA'
fetchs data for domestic metropolitan areas'CITY'
fetchs data for major country citiesinclude_low_volume
: whether or not to include low data volume areas
Response:
{
"France": {
"Abilene-Sweetwater TX": 26,
"Albany GA": 37,
"Albany-Schenectady-Troy NY": 33,
"Albuquerque-Santa Fe NM": 39,
...
},
"Italy": {
"Abilene-Sweetwater TX": 46,
"Albany GA": 28,
"Albany-Schenectady-Troy NY": 42,
"Albuquerque-Santa Fe NM": 32,
...
},
"Germany": {
"Abilene-Sweetwater TX": 28,
"Albany GA": 35,
"Albany-Schenectady-Troy NY": 25,
"Albuquerque-Santa Fe NM": 29,
...
}
}
Fetchs related queries data for each keyword
Data fetched, is viewed as the following graph on Google Trends platform
Two sorts of data are fetched, rising and top.
Rising means queries with the biggest increase in search frequency since the last time period. Results marked âBreakoutâ had a tremendous increase, probably because these queries are new and had few (if any) prior searches.
Top means the most popular search queries. Scoring is on a relative scale where a value of 100 is the most commonly searched query, 50 is a query searched half as often as the most popular query, and so on.
prefix: /queries
method: POST
Request:
{
"keywords": [
"France",
"Italy",
"Germany"
],
"start": "2020-05-01T00:43:37+0100",
"country": "France",
"region": "",
"category": "",
"gprop": ""
}
keyworkds
: list of keyword(s)start
: datetime string for the time span begining, must follow the given formatcountry
: country name to filter search, see /geo
endpoint for options, empty string means trends for all the worldregion
: region name to filter search, see /geo
endpoint for options, must use a valid country to filter with region, empty string means trends for the entire countrycategory
: category to filter search, see /cat
endpoint for options, , empty string means trends for all categoriesgprop
: trends google service, options are:'images'
for images'news'
for news'youtube'
for youtube'froogle'
for google shoppingResponse:
{
"France": {
"top": {
"query": {
"0": "meteo france",
"1": "ouest france",
...
},
"value": {
"0": 100,
"1": 40,
...
}
},
"rising": {
"query": {
"0": "tour de france 2023",
"1": "tour de france 2022",
...
},
"value": {
"0": 38450,
"1": 28350,
...
}
}
},
"Italy": {
"top": {
"query": {
"0": "little italy",
"1": "france italy",
...
},
"value": {
"0": 100,
"1": 59,
...
}
},
"rising": {
"query": {
"0": "italy covid restrictions",
"1": "plf italy",
...
},
"value": {
"0": 22450,
"1": 14150,
...
}
}
},
"Germany": {
"top": {
"query": {
"0": "germany france",
"1": "allemagne",
...
},
"value": {
"0": 100,
"1": 35,
...
}
},
"rising": {
"query": {
"0": "france covid cases",
"1": "dipoxy germany",
...
},
"value": {
"0": 16000,
"1": 12400,
...
}
}
}
}
Fetchs related topics data for each keyword
Data fetched, is viewed as the following graph on Google Trends platform
Fetched for only one keyword
Two sorts of data are fetched, rising and top.
Rising means topics with the biggest increase in search frequency since the last time period. Results marked âBreakoutâ had a tremendous increase, probably because these queries are new and had few (if any) prior searches.
Top means the most popular search topics. Scoring is on a relative scale where a value of 100 is the most commonly searched topic, 50 is a query searched half as often as the most popular topic, and so on.
prefix: /topic
method: POST
Request:
{
"keywords": [
"France"
],
"start": "2020-05-01T00:43:37+0100",
"country": "",
"region": "",
"category": "",
"gprop": ""
}
keyworkds
: list of keyword(s)start
: datetime string for the time span begining, must follow the given formatcountry
: country name to filter search, see /geo
endpoint for options, empty string means trends for all the worldregion
: region name to filter search, see /geo
endpoint for options, must use a valid country to filter with region, empty string means trends for the entire countrycategory
: category to filter search, see /cat
endpoint for options, , empty string means trends for all categoriesgprop
: trends google service, options are:'images'
for images'news'
for news'youtube'
for youtube'froogle'
for google shoppingResponse:
{
"France": {
"rising": {
"value": {
"0": 59250,
"1": 58500,
...
},
"formattedValue": {
"0": "Breakout",
"1": "Breakout",
...
},
"link": {
"0": "/trends/explore?q=/g/11n2c545pf&date=2020-05-01+2024-02-18",
"1": "/trends/explore?q=/g/11bc5mz9fm&date=2020-05-01+2024-02-18",
...
},
"topic_mid": {
"0": "/g/11n2c545pf",
"1": "/g/11bc5mz9fm",
...
},
"topic_title": {
"0": "2023 Tour de France",
"1": "Air France",
...
},
"topic_type": {
"0": "Topic",
"1": "Topic",
...
}
},
"top": {
"value": {
"0": 100,
"1": 11,
...
},
"formattedValue": {
"0": "100",
"1": "11",
...
},
"hasData": {
"0": true,
"1": true,
....
},
"link": {
"0": "/trends/explore?q=/m/0f8l9c&date=2020-05-01+2024-02-18",
"1": "/trends/explore?q=/m/0ckgrh&date=2020-05-01+2024-02-18",
...
},
"topic_mid": {
"0": "/m/0f8l9c",
"1": "/m/0ckgrh",
...
},
"topic_title": {
"0": "France",
"1": "MÊtÊo-France",
...
},
"topic_type": {
"0": "Country in Europe",
"1": "Meteorological service",
...
}
}
}
}
Fetchs data from trending now tab for real-time data
Data present as in the following screen
prefix: /realtime
method: POST
Request:
{
"country": "United States",
"category": "All categories"
}
country
: country name to filter search, see /geo
endpoint for options, empty string means trends for all the worldcategory
: category to filter search, see /cat
endpoint for options, , empty string means trends for all categoriesResponse:
{
"title": {
"0": "Rayo Vallecano, Real Madrid CF, LaLiga, UEFA Champions League",
"1": "Hendrick Motorsports, Daytona 500, Daytona International Speedway, Alex Bowman, NASCAR, NASCAR Cup Series, Rick Hendrick",
"2": "Sheffield United F.C., Brighton & Hove Albion F.C., Premier League, Bramall Lane",
"3": "Donald Trump, Sneakers, Republican Party",
"4": "Frankie Muniz, NASCAR Xfinity Series, Daytona International Speedway, Daytona Beach, Malcolm in the Middle, Auto racing, Joey Gase"
},
"entityNames": {
"0": [
"Rayo Vallecano",
"Real Madrid CF",
"LaLiga",
"UEFA Champions League"
],
"1": [
"Hendrick Motorsports",
"Daytona 500",
"Daytona International Speedway",
"Alex Bowman",
"NASCAR",
"NASCAR Cup Series",
"Rick Hendrick"
],
"2": [
"Sheffield United F.C.",
"Brighton & Hove Albion F.C.",
"Premier League",
"Bramall Lane"
],
"3": [
"Donald Trump",
"Sneakers",
"Republican Party"
],
"4": [
"Frankie Muniz",
"NASCAR Xfinity Series",
"Daytona International Speedway",
"Daytona Beach",
"Malcolm in the Middle",
"Auto racing",
"Joey Gase"
],
...
}
}
Fetchs data from trending now tab for today data
Data present as in the following screen
prefix: /today
method: POST
Request:
{
"country": "United States",
"category": "All categories"
}
country
: country name to filter search, see /geo
endpoint for options, empty string means trends for all the worldcategory
: category to filter search, see /cat
endpoint for options, , empty string means trends for all categoriesResponse:
{
"query": {
"0": "Jimmy Carter",
"1": "Susan Wojcicki"
},
"exploreLink": {
"0": "/trends/explore?q=Jimmy+Carter&date=now+7-d&geo=US",
"1": "/trends/explore?q=Susan+Wojcicki&date=now+7-d&geo=US"
}
}