How to Export Google Search Console Data: Three Ways and Their Limits
Export Search Console data from the report button, the API or the BigQuery bulk export. What each one returns, where it stops, and which to pick.
There are three ways to export Google Search Console data, and each stops at a different place. The Export button in a report gives you a spreadsheet of up to 1,000 rows. The Search Analytics API gives you up to 25,000 rows a request and about 50,000 a day. The BigQuery bulk export gives you every row, every day, but only from the day you switch it on. Pick by how many rows you need and how far back.
TL;DR:
- Export button: Google Sheets, Excel or CSV in two clicks. "Data is limited to 1,000 rows of data."
- Search Analytics API: 1 to 25,000 rows a request, defaulting to 1,000, and an upper limit of "50,000 rows per day per site per search type".
- BigQuery bulk export: "all the performance data available to Search Console (no 50K limit)", daily, in your own Google Cloud project with billing.
- None of the three reaches past Search Console's 16-month window. History you did not store is gone.
How do you export data from a Search Console report?
Open the report, set the date range and filters, and press Export at the top. Google offers "Google Sheets, Microsoft Excel, and CSV". It is the right tool for a quick look at one page or one month.
The limit is the row count. In Google's words, "Data is truncated to 1,000 rows of representative examples of your data." The totals at the top of the report stay correct: they "are actual totals, not totals with any row limits applied". So a site with 4,000 queries exports 1,000 of them, and the sum of those rows will not match the total above them. That is not a bug in your spreadsheet.
How much can you pull through the Search Console API?
Far more, if you page through it. The Search Analytics query method takes a rowLimit whose "Valid range is 1--25,000; Default is 1,000", and a startRow offset for the next page. Leave rowLimit out and you get the first 1,000 rows with no warning, which is the most common reason an API pull looks thin.
There is a ceiling past the page size too. Google's performance data deep dive puts "the upper limit for the data exported through the Search Analytics API" at "50,000 rows per day per site per search type, which may not be reached in all cases." Requests are also capped at 1,200 per minute per site and per user. The Search Console API limits page walks through each quota and the defaults that catch people out.
The API is the route for a script, a dashboard or an agent that reads your data on a schedule. It needs code, an OAuth client or a service account, and somewhere to keep what it pulls.
What does the BigQuery bulk export give you?
Every row. Search Console's help puts it plainly: it "Exports all the performance data available to Search Console (no 50K limit) to BigQuery." Once set up, Search Console writes a fresh export into your BigQuery dataset each day.
Three things come with that:
- It needs Google Cloud. "You must set up a Google Cloud project with billing and enable BigQuery," then grant Search Console's service account access to it.
- It costs a little past the free tier. "Data is subject to Google Cloud storage and query costs, but there is a free usage level."
- It only starts from setup. "The first export will happen up to 48 hours after your successful configuration," and it covers the days from then on. For anything before that, Google points you back to the API or the reports.
The bulk export is the best archive Google offers, and it has nothing from the months before you turned it on.
Try it
Point an SEO agent at your own site, not just an essay about one.
QueryScope holds the plan for your site, reads your real Search Console, and hands the coding agent you already have one change at a time to rank for the searches you decided to win. From $49/month, everything included.
Which export should you use?
Match the route to the job:
- A quick table for one page or one month: the Export button. It stops at 1,000 rows.
- Regular pulls into a script, sheet or agent: the Search Analytics API. It stops at 25,000 rows a request and about 50,000 a day.
- Every row, kept for years, queried in SQL: the BigQuery bulk export. It has nothing from before the day you set it up.
On a small site, the API covers almost everything and costs nothing. On a site with tens of thousands of queries a day, only the bulk export gets all of them. Both share one rule worth keeping in mind: take totals from the page level and treat the query rows as a sample, because Google withholds rare queries for privacy. Page vs query data explains why the two never add up.
Can you export data older than 16 months?
No. Search Console keeps 16 months and then deletes, and no export route reaches back past that. The only way to have older data is to have stored it before it aged out, which is why the bulk export or a scheduled API pull is worth starting long before you need it. How Search Console data retention works covers the window and what to set up now.
This is the gap QueryScope fills for teams whose site is a codebase. It pulls your own Search Console over the API when you connect, backfills the window Google still has, and stores a daily snapshot from then on, so the history outlives the 16 months. Your coding agent reads it in the IDE instead of a spreadsheet.
Sources
- Search Console Help, Exporting data (report export: "Data is limited to 1,000 rows of data"; API: "limited to 50K rows of data per day per type"; bulk export: "Exports all the performance data available to Search Console (no 50K limit) to BigQuery" and "Requires a Google Cloud account and knowledge of BigQuery usage").
- Search Console Help, Export data directly from a Search Console report ("You can choose among several download formats (currently Google Sheets, Microsoft Excel, and CSV)"; "Data is truncated to 1,000 rows of representative examples of your data"; "Totals shown are actual totals, not totals with any row limits applied").
- Search Console Help, Set up a new bulk data export ("You must set up a Google Cloud project with billing and enable BigQuery"; "The first export will happen up to 48 hours after your successful configuration in Search Console"; "Data is subject to Google Cloud storage and query costs, but there is a free usage level").
- Google for Developers, Search Analytics: query (
rowLimit: "Valid range is 1--25,000; Default is 1,000"). - Google Search Central Blog, A deep dive into Search Console performance data filtering and limits, 2022 ("The maximum you can export through the Search Console user interface is 1,000 rows of data"; the API upper limit "is 50,000 rows per day per site per search type, which may not be reached in all cases").
- Google for Developers, Usage limits (Search Analytics: 1,200 QPM per site and 1,200 QPM per user).
Try it
Put an SEO agent in your editor.
Ask your coding agent what to work on. QueryScope reads your real Search Console, holds the searches you decided to win, and hands back one move at a time with the proof it worked. From $49/month, everything included. 1, 3 or 10 sites.