In Google Search Console, in Search Analytics, it only lets you download 999 lines of data.

How do I download all queries from Google Search Analytics in Google Search Console?

  • I don't think you can...
    – closetnoc
    Sep 7 '15 at 13:42

Using just the web interface you can only ever get the top 1000 keywords.

However if you use the Search Console API you can get a maximum of 5000 keywords:


Also if you cannot use the API, another way to get more keywords can be too add every sub folder as a new property in Search Console. (if you use sub folders on your site).

This way you can get more keywords and the ones specific to that area of the site.

  • The API allows for more than 5000 rows now (support for paginated results has arrived). Apr 8 '16 at 10:46
  • Do you have source for this? Thanks.
    – Max
    Apr 19 '16 at 3:12
  • See this announcement and the updated documentation. There still is a limit of 5.000 rows max per day, though. Apr 19 '16 at 8:40

If you are not good with programming you can use api explorer on the end of the page:


If you are good with code here is example how to do it


import httplib2

from apiclient import errors
from apiclient.discovery import build
from oauth2client.client import OAuth2WebServerFlow

# Copy your credentials from the console

# Check https://developers.google.com/webmaster-tools/v3/ for all available scopes
OAUTH_SCOPE = 'https://www.googleapis.com/auth/webmasters.readonly'

# Redirect URI for installed apps
REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'

# Run through the OAuth flow and retrieve credentials
authorize_url = flow.step1_get_authorize_url()
print 'Go to the following link in your browser: ' + authorize_url
code = raw_input('Enter verification code: ').strip()
credentials = flow.step2_exchange(code)

# Create an httplib2.Http object and authorize it with our credentials
http = httplib2.Http()
http = credentials.authorize(http)

webmasters_service = build('webmasters', 'v3', http=http)

# Retrieve list of websites in account
site_list = webmasters_service.sites().list().execute()

# Remove all unverified sites
verified_sites_urls = [s['siteUrl'] for s in site_list['siteEntry'] if s['permissionLevel'] != 'siteUnverifiedUser']

# Printing the urls of all sites you are verified for.
for site_url in verified_sites_urls:
  print site_url
  # Retrieve list of sitemaps submitted
  sitemaps = webmasters_service.sitemaps().list(siteUrl=site_url).execute()
  if 'sitemap' in sitemaps:
    sitemap_urls = [s['path'] for s in sitemaps['sitemap']]
    print "  " + "\n  ".join(sitemap_urls)



I noticed that if you connect Google Analytics with Webmasters, then inside Google Analytics, in the "Acquisition > Search Engine Optimization > Queries" report

you can see all the keywords.


I found another way, it is also API related.

Here it is: https://developers.google.com/apis-explorer/#p/webmasters/v3/webmasters.searchanalytics.query

Here's a document with some info about that: https://developers.google.com/webmaster-tools/v3/searchanalytics/query#try-it


You can download all keywords (not limited to 1000) from the Search Console using the API. The trick is that you first get the search landing pages via the Google Analytics API - and then query the corresponding keywords for each of these pages. You can find the step by step guide (incl. Python script) here. Main disadvantage is that it takes quite some time to run (several hours for bigger sites)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.