This page shows each method, what the file contains, and the traps that make exported numbers look wrong. If you export to build a monthly report, our free SEO report template takes the file as it comes out of Search Console.
Export From the Performance Report in 4 Clicks
- Open Search Console, pick your property, and click Performance > Search results.
- Set the filters you want first: date range, search type (Web, Image, Video, News), and any query or page filter. The export follows what you see on screen.
- Click Export in the top right corner.
- Choose Export to Google Sheets, Download Excel or Download CSV.
Google says most Search Console reports can be exported this way, and the download holds "the data currently shown in the report" (Google Search Console Help, Export data). The same Export button also sits on the Page indexing report and other reports, so you can pull a list of non-indexed URLs the same way.
What Is in the File
A Performance export is one file with a tab (or a CSV) per table:
| Tab | What it holds |
|---|---|
| Queries | Top search queries with clicks, impressions, CTR and position |
| Pages | Top URLs with the same four numbers |
| Countries | Clicks and impressions by country |
| Devices | Desktop, mobile and tablet |
| Search appearance | Rich results and other result types, when your site has them |
| Dates | One row per day, the numbers behind the chart |
| Filters | The filters you had on, so you remember what the file shows |
If you turned on a date comparison before exporting, the table you see has a column per date range, and the export follows the table.
Two notes from Google's export help page:
- Totals are real totals. Google writes that "totals shown are actual totals, not totals with any row limits applied." So the total at the top of the report can be higher than the sum of your 1,000 rows.
- "~" and "-" turn into zeros. Values the report shows as "~" or "-" (not available) are zeros in the file. Treat a zero as "no data", not as a fall to nothing.
Why the Export Stops at 1,000 Rows
The web export is "truncated to 1,000 rows of representative examples of your data" (Google). On a small site that may be almost everything. On a site with thousands of pages or queries, it is only the top slice.
A second gap has nothing to do with rows. Search Console leaves out queries that very few people searched, to protect their privacy. Those clicks still count in your totals, but the query rows never show them (Google Search Central Blog, performance data deep dive, October 2022). So even a perfect export of every query row adds up to less than the total.
Quick test: add up the Clicks column on the Pages tab and divide by the total clicks at the top of the report. If you get well under 90%, the 1,000-row cap is cutting your data short and you need one of the methods below.
Three Free Ways Past 1,000 Rows
| Method | Row limit | History | Skill needed | Best for |
|---|---|---|---|---|
| Looker Studio connector | 50,000 rows per day per site per search type | Up to 16 months | Low: point and click | A live dashboard, or downloading a bigger table to Sheets |
| Search Console API | Up to 25,000 rows per request, page with startRow; same 50,000 per day cap | Up to 16 months | Medium: a script or a Sheets add-on | Regular pulls into a spreadsheet or database |
| Bulk data export to BigQuery | No row cap (anonymized queries are left out) | Only from the day you set it up | Medium to high: a Google Cloud project and SQL | Large sites that want every row, kept forever |
The 50,000 rows per day figure comes from Google's own explainer on data limits (Google Search Central Blog, October 2022). The API returns 1,000 rows by default, and rowLimit goes up to 25,000 per request (API reference).
Bulk export has two catches worth knowing before you start (Google Search Console Help, set up a bulk data export):
- It does not fill in the past. The first export holds data for the day you set it up. For older data, use the API or the report.
- It can cost money. BigQuery has a free tier, but data piles up forever unless you set an expiration time. Google suggests a partition expiration of at least 14 days if you want to cap storage.
So turn bulk export on early. A site that set it up a year ago has a year of full data; a site that sets it up today starts from today.
Export a Month vs the Month Before
For a monthly report you want both periods side by side:
- In Performance, click the date filter and open the Compare tab.
- Choose Custom and set, for example, 2026-09-01 to 2026-09-30 against 2026-08-01 to 2026-08-31.
- Click Apply, then Export.
Google explains how comparison works in the report on its filtering and comparison help page. Wait until about the 3rd of the month before you export: Search Console dates follow Pacific Time, and the newest days can still be preliminary (Google, Performance report dimensions).
Excel or Google Sheets?
| Item | Excel (.xlsx) | Google Sheets | CSV |
|---|---|---|---|
| Opens offline | Yes | No | Yes |
| One file with all tabs | Yes | Yes | No, a zip with one file per table |
| Easy to share with a client | As an attachment | With a link | Rarely |
| Best when | You keep monthly files on your drive | Several people edit the report | You load the data into another tool |
Whichever you pick, save every export with the month in the file name, like gsc-2026-09.xlsx. Search Console keeps 16 months of performance data (Google, debugging search traffic drops). Anything older is gone unless you saved it.
Pull Search Console Data Into Google Sheets Automatically
The Export to Google Sheets button makes a one-time copy. To refresh a sheet without exporting by hand, you have three options:
- A Sheets add-on that reads the Search Console API, such as Search Analytics for Sheets. Check its current limits and price before you rely on it.
- Apps Script in your sheet, calling the Search Console API on a timer. Free, but you write and maintain the code.
- Looker Studio, if a dashboard is enough: its Search Console connector refreshes on its own, and any table can be exported to Sheets.
For Tableau, Power BI or another BI tool, set up the bulk data export to BigQuery and connect the tool to BigQuery. The API returns JSON if you need raw data.
What to Do with the Export
Raw rows do not tell anyone what happened. Turn them into a report that answers four questions: did search traffic go up or down, why, what did we do, and what will we do next. The free SEO report template has a sheet for the Pages tab and one for the Queries tab: paste the rows as values, and the formulas fill in month-over-month change, the top 5 gains and drops, and a draft client summary. For a finished version, see the SEO report example.
How to Use This with an AI Assistant
Connect SEOmatic at https://seomatic.ai/mcp and ask: "Use gsc_performance with action top_pages and then action top_queries on mysite.com for last month, and give me both as tables I can paste into Excel, with clicks, impressions, CTR and position." It reads your own Search Console data after a free sign-in with connect_seomatic.
Let the Agents Do the Work Your Report Shows
SEOmatic's AI agents make SEO changes on your site from your own Search Console data, then report on them:
- A list of every change, when it went live, and whether it is still live
- Each change compared with how the rest of the site did over the same weeks
- Changes that did nothing are reported too
Each change can wait for your approval, one click undoes it, and the agents check it against how the rest of your site did. What they can change depends on your platform, and you see the full list before anything runs.
14-Day Trial for $1, credited to your first payment.


