How to Export Trending Data from Today's Searches

In [1]:
#install pytrends
!pip install pytrends
#import the libraries
import pandas as pd
from pytrends.request import TrendReq
pytrend = TrendReq()

#get today's treniding topics
trendingtoday = pytrend.today_searches(pn='US')
trendingtoday.head(20)
Collecting pytrends
  Downloading pytrends-4.8.0.tar.gz (19 kB)
Requirement already satisfied: requests>=2.0 in /usr/local/lib/python3.7/dist-packages (from pytrends) (2.23.0)
Requirement already satisfied: pandas>=0.25 in /usr/local/lib/python3.7/dist-packages (from pytrends) (1.3.5)
Requirement already satisfied: lxml in /usr/local/lib/python3.7/dist-packages (from pytrends) (4.2.6)
Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2018.9)
Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2.8.2)
Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (1.21.5)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.7.3->pandas>=0.25->pytrends) (1.15.0)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2021.10.8)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2.10)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (1.24.3)
Building wheels for collected packages: pytrends
  Building wheel for pytrends (setup.py) ... done
  Created wheel for pytrends: filename=pytrends-4.8.0-py3-none-any.whl size=16126 sha256=f07c07a1eb40908f2943476909f92c76a87a58a552b04fa8ac23e0389fa41a44
  Stored in directory: /root/.cache/pip/wheels/07/6f/5c/8174f98dec1bfbc7d5da4092854afcbcff4b26c3d9b66b5183
Successfully built pytrends
Installing collected packages: pytrends
Successfully installed pytrends-4.8.0
Out[1]:
0             /trends/explore?q=IRS&date=now+7-d&geo=US
1        /trends/explore?q=TurboTax&date=now+7-d&geo=US
2     /trends/explore?q=Thor:+Love+and+Thunder&date=...
3      /trends/explore?q=The+Batman&date=now+7-d&geo=US
4     /trends/explore?q=Cristiano+Ronaldo&date=now+7...
5     /trends/explore?q=DJ+Kay+Slay&date=now+7-d&geo=US
6     /trends/explore?q=Mask+mandate&date=now+7-d&ge...
7     /trends/explore?q=Dallas+Mavericks&date=now+7-...
8       /trends/explore?q=Barcelona&date=now+7-d&geo=US
9           /trends/explore?q=Flair&date=now+7-d&geo=US
10    /trends/explore?q=Taco+Bell+Mexican+Pizza&date...
11    /trends/explore?q=Better+Call+Saul+Season+6&da...
12    /trends/explore?q=Kendrick+Lamar&date=now+7-d&...
13    /trends/explore?q=Cristiano+Ronaldo+Jr&date=no...
14       /trends/explore?q=Doja+Cat&date=now+7-d&geo=US
15     /trends/explore?q=Mac+Miller&date=now+7-d&geo=US
16    /trends/explore?q=Jennifer+Grey&date=now+7-d&g...
17    /trends/explore?q=Riots+in+Sweden&date=now+7-d...
18    /trends/explore?q=Marcus+Smart&date=now+7-d&ge...
19       /trends/explore?q=Dua+Lipa&date=now+7-d&geo=US
Name: exploreLink, dtype: object

How to export Trend Data of Interest for Keywords by Region

In [2]:
#install pytrends
!pip install pytrends
#import the libraries
import pandas as pd                        
from pytrends.request import TrendReq
pytrend = TrendReq()
#provide your search terms
kw_list=['Facebook', 'Apple', 'Amazon', 'Netflix', 'Google']
#get interest by region for your search terms
pytrend.build_payload(kw_list=kw_list)
df = pytrend.interest_by_region()
df.head(10)
Requirement already satisfied: pytrends in /usr/local/lib/python3.7/dist-packages (4.8.0)
Requirement already satisfied: pandas>=0.25 in /usr/local/lib/python3.7/dist-packages (from pytrends) (1.3.5)
Requirement already satisfied: lxml in /usr/local/lib/python3.7/dist-packages (from pytrends) (4.2.6)
Requirement already satisfied: requests>=2.0 in /usr/local/lib/python3.7/dist-packages (from pytrends) (2.23.0)
Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2018.9)
Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (1.21.5)
Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2.8.2)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.7.3->pandas>=0.25->pytrends) (1.15.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2021.10.8)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2.10)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (1.24.3)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (3.0.4)
Out[2]:
Facebook Apple Amazon Netflix Google
geoName
Afghanistan 0 0 0 0 0
Albania 0 0 0 0 0
Algeria 0 0 0 0 0
American Samoa 0 0 0 0 0
Andorra 0 0 0 0 0
Angola 0 0 0 0 0
Anguilla 0 0 0 0 0
Antarctica 0 0 0 0 0
Antigua & Barbuda 0 0 0 0 0
Argentina 71 0 1 7 21

How to Export trending Searches in a Specific Country

In [4]:
#install pytrends
!pip install pytrends
#import the libraries
import pandas as pd                        
from pytrends.request import TrendReq
pytrend = TrendReq()
# Get realtime Google Trends data
df = pytrend.trending_searches(pn='norway')
df.head()
Requirement already satisfied: pytrends in /usr/local/lib/python3.7/dist-packages (4.8.0)
Requirement already satisfied: requests>=2.0 in /usr/local/lib/python3.7/dist-packages (from pytrends) (2.23.0)
Requirement already satisfied: pandas>=0.25 in /usr/local/lib/python3.7/dist-packages (from pytrends) (1.3.5)
Requirement already satisfied: lxml in /usr/local/lib/python3.7/dist-packages (from pytrends) (4.2.6)
Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2018.9)
Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2.8.2)
Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (1.21.5)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.7.3->pandas>=0.25->pytrends) (1.15.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2021.10.8)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2.10)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (1.24.3)
Out[4]:
0
0 Lene Marlin
1 Eliteserien
2 Cristiano Ronaldo
3 Rosenborg
4 Lothepus

How to Get Keyword Suggestions

In [6]:
#install pytrends
!pip install pytrends
#import the libraries
import pandas as pd                        
from pytrends.request import TrendReq
pytrend = TrendReq()


# Get Google Keyword Suggestions
keywords = pytrend.suggestions(keyword='innovation')
df = pd.DataFrame(keywords)
df.head(5)
Requirement already satisfied: pytrends in /usr/local/lib/python3.7/dist-packages (4.8.0)
Requirement already satisfied: requests>=2.0 in /usr/local/lib/python3.7/dist-packages (from pytrends) (2.23.0)
Requirement already satisfied: lxml in /usr/local/lib/python3.7/dist-packages (from pytrends) (4.2.6)
Requirement already satisfied: pandas>=0.25 in /usr/local/lib/python3.7/dist-packages (from pytrends) (1.3.5)
Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2.8.2)
Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (1.21.5)
Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2018.9)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.7.3->pandas>=0.25->pytrends) (1.15.0)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2.10)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2021.10.8)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (1.24.3)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (3.0.4)
Out[6]:
mid title type
0 /g/1229dkv6 innovation Field of study
1 /m/0vh9p Innovation Topic
2 /m/01tfgx Canadian Imperial Bank of Commerce Financial services company
3 /m/011smc7k DJI Technology company
4 /m/0cvr_ Disruptive innovation Topic

How to Get Related Queries / Topics + Download them as CSV

In [8]:
#install pytrends
!pip install pytrends
#import the libraries
import pandas as pd                        
from pytrends.request import TrendReq
pytrend = TrendReq()
#provide your search terms
kw_list=['business intelligence', 'Data science', 'technology management', 'innovation', 'data governance']
pytrend.build_payload(kw_list=kw_list)
#get related queries
related_queries = pytrend.related_queries()
related_queries.values()


#build lists dataframes

top = list(related_queries.values())[0]['top']
rising = list(related_queries.values())[0]['rising']

#convert lists to dataframes

dftop = pd.DataFrame(top)
dfrising = pd.DataFrame(rising)

#join two data frames
joindfs = [dftop, dfrising]
allqueries = pd.concat(joindfs, axis=1)

#function to change duplicates

cols=pd.Series(allqueries.columns)
for dup in allqueries.columns[allqueries.columns.duplicated(keep=False)]: 
    cols[allqueries.columns.get_loc(dup)] = ([dup + '.' + str(d_idx) 
                                     if d_idx != 0 
                                     else dup 
                                     for d_idx in range(allqueries.columns.get_loc(dup).sum())]
                                    )
allqueries.columns=cols

#rename to proper names

allqueries.rename({'query': 'top query', 'value': 'top query value', 'query.1': 'related query', 'value.1': 'related query value'}, axis=1, inplace=True) 

#check your dataset
allqueries.head(50)
print(allqueries)

#save to csv
allqueries.to_csv('allqueries.csv')

#download from collab
from google.colab import files
#files.download("allqueries.csv")
Requirement already satisfied: pytrends in /usr/local/lib/python3.7/dist-packages (4.8.0)
Requirement already satisfied: requests>=2.0 in /usr/local/lib/python3.7/dist-packages (from pytrends) (2.23.0)
Requirement already satisfied: lxml in /usr/local/lib/python3.7/dist-packages (from pytrends) (4.2.6)
Requirement already satisfied: pandas>=0.25 in /usr/local/lib/python3.7/dist-packages (from pytrends) (1.3.5)
Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2.8.2)
Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (1.21.5)
Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2018.9)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.7.3->pandas>=0.25->pytrends) (1.15.0)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2.10)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (1.24.3)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2021.10.8)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (3.0.4)
                              top query  top query value  \
0            business intelligence data              100   
1                    business analytics               55   
2       business intelligence analytics               55   
3                             analytics               55   
4         business intelligence analyst               48   
5                      business analyst               48   
6              bi business intelligence               47   
7                                    bi               47   
8         what is business intelligence               41   
9        business intelligence software               33   
10              artificial intelligence               33   
11          business intelligence tools               33   
12  analytics and business intelligence               26   
13           business intelligence jobs               25   
14         business intelligence salary               23   
15                       data analytics               21   
16       big data business intelligence               19   
17                             big data               19   
18                               oracle               17   
19         oracle business intelligence               17   
20      microsoft business intelligence               16   
21                                  sql               16   
22            sql business intelligence               16   
23  artificial intelligence in business               16   
24         business intelligence system               16   

                                        related query  related query value  
0              business intelligence baseada na nuvem                 4700  
1     estratégia de business intelligence empresarial                 2900  
2                                          blockchain                 2050  
3                                                  ai                 1200  
4                artificial intelligence for business                 1150  
5                 artificial intelligence in business                 1000  
6                     what is artificial intelligence                  950  
7                                            power bi                  850  
8                                    machine learning                  800  
9                                        data science                  750  
10              business intelligence engineer amazon                  550  
11                            artificial intelligence                  500  
12       amazon business intelligence engineer salary                  450  
13                     business intelligence engineer                  450  
14              business intelligence engineer salary                  400  
15     o que é business intelligence e para que serve                  400  
16        what is business intelligence and analytics                  300  
17           business intelligence and data analytics                  300  
18                        power business intelligence                  250  
19  business analytics and business intelligence s...                  250  
20                                     data scientist                  250  
21              business intelligence vs data science                  200  
22             managed services business intelligence                  200  
23                                       data analyst                  200  
24                 big data and business intelligence                  200  

How to Get Search Interest per region & Historical

In [10]:
#install pytrends
!pip install pytrends
#import the libraries
import pandas as pd                        
from pytrends.request import TrendReq
pytrend = TrendReq()
#provide your search terms
#kw_list=['Facebook', 'Apple', 'Amazon', 'Netflix', 'Google']
kw_list=['business intelligence', 'Data science', 'technology management', 'innovation', 'data governance']

#search interest per region
#run model for keywords (can also be competitors)
pytrend.build_payload(kw_list, timeframe='today 1-m')

# Interest by Region
regiondf = pytrend.interest_by_region()

#looking at rows where all values are not equal to 0
regiondf = regiondf[(regiondf != 0).all(1)]

#drop all rows that have null values in all columns
regiondf.dropna(how='all',axis=0, inplace=True)

#visualise
regiondf.plot(figsize=(20, 12), y=kw_list, kind ='bar')
Requirement already satisfied: pytrends in /usr/local/lib/python3.7/dist-packages (4.8.0)
Requirement already satisfied: lxml in /usr/local/lib/python3.7/dist-packages (from pytrends) (4.2.6)
Requirement already satisfied: pandas>=0.25 in /usr/local/lib/python3.7/dist-packages (from pytrends) (1.3.5)
Requirement already satisfied: requests>=2.0 in /usr/local/lib/python3.7/dist-packages (from pytrends) (2.23.0)
Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2.8.2)
Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (2018.9)
Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.25->pytrends) (1.21.5)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.7.3->pandas>=0.25->pytrends) (1.15.0)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (1.24.3)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2.10)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests>=2.0->pytrends) (2021.10.8)
Out[10]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f1ba3069990>
In [11]:
#historical interest
historicaldf = pytrend.get_historical_interest(kw_list, year_start=2020, month_start=10, day_start=1, hour_start=0, year_end=2021, month_end=10, day_end=1, hour_end=0, cat=0, geo='', gprop='', sleep=0)

#visualise
#plot a timeseries chart
historicaldf.plot(figsize=(20, 12))

#plot seperate graphs, using theprovided keywords
historicaldf.plot(subplots=True, figsize=(20, 12))
Out[11]:
array([<matplotlib.axes._subplots.AxesSubplot object at 0x7f1ba2be4710>,
       <matplotlib.axes._subplots.AxesSubplot object at 0x7f1ba2be08d0>,
       <matplotlib.axes._subplots.AxesSubplot object at 0x7f1ba2c03cd0>,
       <matplotlib.axes._subplots.AxesSubplot object at 0x7f1ba2262750>,
       <matplotlib.axes._subplots.AxesSubplot object at 0x7f1ba2219a90>],
      dtype=object)