Start free trial Log in

How to export more than 1,000 rows from Search Console

See your data

The Search Console Performance report looks complete until you hit Export. The download stops around 1,000 rows. Chart totals can sit above the table. Summing the spreadsheet and matching it to the headline fails. That is not a bug in your property — it is how Google ships the UI.

If you need to export more than 1,000 rows from Search Console, you have five practical paths: stay in the UI with the chart as source of truth, pull via Search Analytics for Sheets or Excel, raise the Search Analytics API rowLimit, turn on BigQuery bulk export, or use a hosted archive. This guide covers each path honestly — including what SiteLine stores and what it does not.

Related: Search Console's 1,000-row limit is a UI cap, not the size of your site.

What the UI export actually returns

Google's export help is plain: the download matches what the report shows, truncated to about 1,000 representative rows. On a small property those may be every named query or page. On a large one they are a sample of the head of the list.

Three facts before you pick a workaround:

  1. Chart totals include data the table does not list. Anonymised rare queries stay in the headline and out of named rows. Raising any row limit does not name them.
  2. The export is not a site total. Adding CSV clicks and expecting the chart number is the wrong object.
  3. Dimensions without query or URL are small. Country, device, and search appearance often export in full. Query, page, and query-plus-page are where the search console export limit bites.

Use the UI export for a working list — top queries for a deck, a quick page check. Do not treat it as every named row Google still has for that day.

Sheets, Excel, CSV, and the API

"I exported to Sheets" is not the same as "I used the API."

Path Typical row shape Notes
UI → CSV / Google Sheets / Excel ~1,000 representative rows Same table you see. Chart totals in the file can include truncated data.
Search Analytics for Sheets Depends on the add-on's rowLimit Can call the API. Default 1,000 recreates the UI cap. Raise it (up to 25,000 per request) for a real API pull.
Excel / custom scripts Same as the API you call Auth, quotas, and pagination are on you. Default rowLimit is still 1,000 unless you set it.
Raw Search Analytics API 1–25,000 per request; optional second page Highest control. You own scheduling, storage, and the 16-month window Google still serves.

Search Analytics for Sheets is a solid bridge when you want a spreadsheet without a pipeline. Check dimensions, date range, and especially rowLimit. A multi-day query pull can spend the entire row budget on day one and look empty afterward — prefer one day at a time for breakdowns.

CSV from the UI is the fastest snapshot. It is not how you export more than 1,000 named rows.

API rowLimit 25k and the 50k/day ceiling

The GSC API row limit has two layers people conflate:

"Use the API" is not automatically "get everything." Leaving rowLimit at default leaves you at 1,000. Raising it to 25,000 gets one page. Paging to 50,000 gets Google's named-row ceiling for that day — still not anonymised queries, still not site totals.

SiteLine's import: up to 25,000 rows per day per report — one API page. Google can expose up to 50,000; SiteLine does not request rows 25,001–50,000. Site totals are stored separately. Breakdowns (query, page, query+page, country, device, search appearance) are fetched per day so the cap means "this day," not "sixteen months in one call."

If you self-host: set rowLimit to 25000, page with startRow only if you need the second page, pull breakdowns one day at a time, and keep site totals (group by date) for headlines.

BigQuery bulk export (no backfill past connect)

Google's bulk data export sends daily Search Console performance data into your BigQuery project. It is the official path for the performance data Search Console has for the property (aside from anonymised queries), and it is not bound by the same daily API row ceiling that caps interactive Search Analytics queries.

Trade-offs:

BigQuery fits when you need maximum row completeness going forward and already live in GCP. It is the wrong first click if you still need history Google has today and have not started exporting yet.

Hosted archive (SiteLine)

A hosted archive connects with Google's read-only Search Console scope, backfills up to 16 months on connect, then keeps importing new days while you subscribe. You get a product UI, CSV when you need a file, and — on SiteLine — cookieless analytics plus MCP servers for agents on the same account.

What SiteLine does (accurate, not aspirational):

MCP responses include coverage dates (data_through) and the same rule as the UI: breakdown rows do not sum to the property.

Want the 16-month backfill and a daily archive without BigQuery or scripts? Create a SiteLine account — trial starts without a card. Prefer agent access first? Sign up with MCP intent.

When each path is enough

Need Enough path
Top queries for a slide; site under ~1,000 named rows UI export (CSV / Sheets / Excel)
Spreadsheet workflow; willing to set rowLimit Search Analytics for Sheets (or Excel + API), rowLimit up to 25,000; daily pulls for breakdowns
Custom pipeline; optional second page to ~50k/day Search Analytics API you own
Maximum forward completeness; SQL warehouse; GCP OK BigQuery bulk export (start now; no past backfill)
16-month backfill today + retention while subscribed + UI / MCP Hosted archive (SiteLine)

Many teams run two paths: BigQuery for maximum rows forward, plus an API or hosted backfill so months already in Search Console are not lost when the live report ages out.

Mistakes: summing query rows

The most common error after any export — UI or API — is treating named rows as the site.

Longer arithmetic and Google's anonymisation illustration: 1,000-row limit guide.

FAQ

Why does the Search Console export stop at 1,000 rows?

The Performance table is a truncated list of representative examples. Google's export matches that table. Chart totals can include truncated and anonymised data the file never lists. The search console export limit is a UI product choice, not proof that your site only has 1,000 queries.

Does Search Analytics for Sheets bypass the limit?

It can, if the add-on requests a higher API rowLimit (up to 25,000 per call) and you schedule correctly. If rowLimit stays at 1,000, you get the UI shape inside Sheets.

What is the GSC API row limit — 25,000 or 50,000?

25,000 is the maximum per request. About 50,000 is Google's documented ceiling per day per search type if you send a second page with startRow 25,000. SiteLine stores one page (25,000) per day per report and does not fetch the second.

Will BigQuery give me my last 16 months?

No. Bulk export is forward-only from the day you connect. For history Google still has, use the API or a hosted archive that backfills on connect.

Can query rows ever match site totals?

Not reliably. Anonymised queries never appear as rows. Caps at 1,000, 25,000, or 50,000 remove more named rows on large days. Quote totals from site totals; quote named lists as "of the rows we can see."