Guide · Search Console analysis

Why does a Search Console export stop at 1,000 rows, and how do you get the rest?

Published . Updated . First published.

A Search Console export stops at 1,000 rows because Google truncates it to 1,000 rows of representative examples, the same cap the report's table has. More rows come from the Search Console API, which returns up to 25,000 per request, or from a BigQuery bulk export, which Google says gives the most complete list of queries.

  • Google says an export is truncated to 1,000 rows of representative examples, while the totals shown are actual totals (Google, Search Console Help, read 30 October 2026).
  • The Search Console API takes a rowLimit from 1 to 25,000 and defaults to 1,000, so a request that omits it returns at most 1,000 rows (Google, Search Console API reference, read 30 October 2026).
  • The Search Console API guide describes a maximum of 50,000 rows of data per day per search type (Google, Search Console API guide, read 30 October 2026).
  • The first BigQuery bulk export arrives up to 48 hours after configuration and covers the day of the export, and Google points to the API or the reports for earlier days (Google, Search Console Help, read 30 October 2026).
  • Penlid's hidden query share tool treats a queries table of exactly 1,000 rows as cut by the limit, because the file cannot show whether rows were dropped (Penlid, hidden query share tool, read 30 October 2026).

Where does the 1,000-row limit apply, and where does it not?

The 1,000-row limit applies to the Performance report's table and to the file you download from it, while the API, the Data Studio (formerly Looker Studio) connector and the BigQuery bulk export follow their own rules. Google's troubleshooting page says The table can display a maximum of 1,000 rows, and its export page says Data is truncated to 1,000 rows of representative examples of your data. Google's 2022 post says the limit on what can be displayed or exported comes from limitations related to serving latency, storage, processing resources, and others; none of the pages we read says why the figure is 1,000.

The connector row in this table comes from a 2022 post, and we found no current Google page that repeats it, so treat it as dated.

Row limits by route, as Google's pages describe them (the connector row is from a 2022 post)
RouteRow limitWhat Google adds
Report table1,000 rowsSome rare or long-tail rows might be left out
Export to Sheets, Excel or CSV1,000 rowsThe rows are representative examples
Search Console API25,000 rows a request (1,000 by default); 50,000 rows a day per search typeTop rows only; more detail can drop data
Data Studio connector50,000 rows per day per site per search typeSame ceiling as the API, per the 2022 post

Why can the table add up to less than the chart?

The table can add up to less than the chart because the chart counts rows that the table leaves out: rows beyond the limit, rows Search Console does not store or show, and anonymized queries. Google says anonymized (rare) results are omitted from the table but stay in the chart totals unless a query filter is applied, and that Search Console stores and shows only the most important data rows. The export page adds that Totals shown are actual totals, not totals with any row limits applied, so the limit trims rows, not totals.

The Google pages we read do not say how many rows are cut, and the file cannot show how the gap divides between those causes. So a table under 1,000 rows can still be missing rows; that step is our reasoning from Google's wording, not a Google statement about any particular table.

An export reflects the report with any filters or special grouping applied. In our reading, each filtered view is therefore its own table with its own cap, and exporting country by country can return more rows in total; we found no Google statement that such slices add up to every row.

How do you get more than 1,000 rows from the Search Console API?

You get more than 1,000 rows from the Search Console API by raising rowLimit, which accepts up to 25,000, and paging with startRow until a response comes back empty. The API reference gives the range: Valid range is 1–25,000; Default is 1,000. Google's API guide says to keep going until you reach the last page (a response with 0 rows). To keep an API pull comparable with an export:

  1. Use the same dates, search type and filters as the export.
  2. Set rowLimit to 25,000, then raise startRow by 25,000 each time until a response has 0 rows.
  3. Request totals separately. Google says accurate counts need the page and query dimensions left out, and that asking for more detail means its system may drop some data.
  4. Add up the clicks and impressions of the rows you received and compare them with those totals. That comparison is our method, not a Google procedure.

The API still has a ceiling. Google's guide describes a maximum of 50K rows of data per day per search type, and the API reference says a query does not guarantee to return all data rows but rather top ones. An API pull therefore gets you more than the export, not necessarily every row.

What does the BigQuery bulk export add, and what does it cost?

The BigQuery bulk export adds a growing set of tables in your own Google Cloud project, with storage and query costs above a free usage level. Google says The most complete list of queries can be exported using bulk data exports, and three details decide whether it fits your case.

  • It is not retroactive. Google says The first export includes data for the day of the export; it arrives up to 48 hours after configuration, and for earlier days Google points you to the API or the reports. Start early if you want history; the guide to keeping Search Console data older than 16 months covers the options.
  • Rows can repeat a key. Google's table reference mentions table rows with repeated keys, so add up clicks and impressions by key before you compare them (our advice).
  • Anonymized queries are the exception. The overview covers the data with the exception of anonymized queries, while the table reference flags rows for rare queries and the query guide says such a query is reported as a zero-length string. The pages we read do not say whether those rows hold all of an anonymized query's clicks and impressions.

How do you measure what your export left out?

You measure what an export left out by subtracting the total of its query rows from the chart total, separately for clicks and for impressions, and the free hidden query share tool does that from the export itself, in your browser. Four steps:

  1. Export without a query, page or search appearance filter. In Search Console open Performance, then Search results, choose the dates, and use Export, then Download CSV. Filters on search type, country or device are fine.
  2. Keep the whole ZIP. It holds the daily table (Dates.csv, or Chart.csv in newer exports) and Queries.csv. Google's file has no total row, so the tool sums the daily rows to get the chart total, and it refuses a weekly, monthly or Compare table. Search Console keeps 16 months (Google, Analytics Help), and 16 × 31 = 496 rows is under the cap, so the daily table cannot be cut (our arithmetic).
  3. Read the gap. It is one minus the query rows' total over the chart total. A queries table that adds up to more than the chart is refused.
  4. Read each share as an upper bound. The gap mixes anonymized queries with rows Google does not show, so the tool labels it an upper bound even under 1,000 rows, and it treats a table of exactly 1,000 rows as cut by the limit.

The share is not a count of anonymized queries; the guide to how much of your traffic is in anonymized queries explains the difference.

Example (illustrative numbers)

These counts are invented to show the arithmetic; they are not data from any site. A site exports 90 days of Search results with no filters, then pulls the same dates through the API with the query dimension.

Clicks in the chart and in two query tables for the same 90 days (invented numbers)
TableRowsClicksShare of the chart
Chart (sum of the 90 daily rows)9052,400100%
Queries.csv from the export1,00035,99068.7%
API pull, query dimension33,64047,48090.6%

The export's gap is 1 − 35,990 ÷ 52,400 = 1 − 0.687 = 0.313, so up to 31.3% of clicks sit in no query row of the export, which is 52,400 − 35,990 = 16,410 clicks. Impressions are measured on their own: with 1,834,000 in the chart and 1,371,500 in the 1,000 rows, the gap is 462,500 ÷ 1,834,000 = 25.2%. Because the table has exactly 1,000 rows, the tool treats it as cut and labels both shares upper bounds.

The API pull took two requests that returned rows (25,000, then 8,640), so 25,000 + 8,640 = 33,640 rows, and a third request at startRow 50,000 returned 0 rows. Its gap is 1 − 47,480 ÷ 52,400 = 1 − 0.906 = 0.094, or 9.4% of clicks. The pull added 47,480 − 35,990 = 11,490 clicks (21.9% of the chart), and 52,400 − 47,480 = 4,920 clicks (9.4%) are still in no row we hold. That remainder can contain anonymized queries and any rows the API did not return.

What this cannot tell you

  • The gap is an upper bound, not a count of anonymized queries. It mixes anonymized queries with rows Google does not show, and nothing in the file or on the Google pages we read splits it.
  • We cannot say which rows an export drops. Google calls the kept rows representative examples and, on the pages we read, does not say how they are chosen.
  • Small totals and recent days are noisy. The tool notes that with under 100 clicks in the chart, one click moves the share by whole percentage points. The newest days can also be preliminary, as Google's overview of the report says; the guide to why the last days in Search Console change explains it.

Questions people also ask

How do you export Google Search Console data?

Open the Performance report, set the dates and filters, then choose Export. Google currently offers Google Sheets, Microsoft Excel and CSV, and the file mirrors the view on screen. It holds at most 1,000 rows of representative examples, so a site with more queries or pages than that needs the API, the Data Studio connector or the bulk export to see the remainder.

What is the Search Console BigQuery export?

It is Google's bulk data export, which copies a property's performance data into BigQuery tables in your own Google Cloud project. The data accumulates until you set an expiration time, storage and query costs apply above a free usage level, and anonymized queries come without query text.

Can you use Search Console data in Data Studio?

Yes. Google's Data Studio documentation (docs.cloud.google.com, read 30 October 2026) lists Search Console among the data sources it connects to, and says that in April 2026 the product formerly Looker Studio returned to its original name, Data Studio. Google's 2022 post on performance data limits, which uses the former name, says the 50,000-rows-per-day ceiling applies through its connector. That is the only statement about the connector's limits that we found, so check Google's current documentation before relying on it.

What does a Google Search Console export include?

The Performance ZIP holds the daily table, called Dates.csv or Chart.csv in newer exports, and Queries.csv, among other files. No table runs past 1,000 rows, and a daily table covering 16 months has at most 496 rows, so it is not cut. Google's 2022 post says reports that do not involve the query or URL dimensions display and export all the data, so the daily rows still add up to the chart, and the export page says the totals shown are actual totals.

Sources

  1. Performance report (Search results): Troubleshooting data discrepancies, Google, Search Console Help, read 30 October 2026. The table can display a maximum of 1,000 rows anonymized (rare) results are omitted from the table
  2. Export data directly from a Search Console report, Google, Search Console Help, read 30 October 2026. 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 with any filters or special grouping applied
  3. Performance report (Search results): Dimensions and data groupings, Google, Search Console Help, read 30 October 2026. Search Console stores and shows only the most important data rows The most complete list of queries can be exported using bulk data exports
  4. Search Analytics: query, Google, Search Console API reference, read 30 October 2026. Valid range is 1–25,000; Default is 1,000
  5. Getting your performance data, Google, Search Console API guide, read 30 October 2026. until you reach the last page (a response with 0 rows) a maximum of 50K rows of data per day per search type
  6. Search Analytics, Google, Search Console API reference, read 30 October 2026. does not guarantee to return all data rows but rather top ones
  7. A deep dive into Search Console performance data filtering and limits, Google, Search Central Blog, posted 19 October 2022, read 30 October 2026. limitations related to serving latency, storage, processing resources, and others
  8. Start a new bulk data export, Google, Search Console Help, read 30 October 2026. The first export includes data for the day of the export
  9. About bulk data export of Search Console data to BigQuery, Google, Search Console Help, read 30 October 2026. with the exception of anonymized queries
  10. Table guidelines and reference (bulk data export), Google, Search Console Help, read 30 October 2026. table rows with repeated keys
  11. Query guidelines and sample queries (bulk data export), Google, Search Console Help, read 30 October 2026.
  12. Connect Search Console to Google Analytics, Google, Analytics Help, read 30 October 2026.
  13. Performance report (Search results): Overview and basic setup, Google, Search Console Help, read 30 October 2026.
  14. Hidden query share, Penlid, read 30 October 2026.

About this guide

Who: Penlid builds the tools these guides use.

How: Drafted with Claude, Anthropic's AI model. A second pass re-read every source and checked each number, quote and policy statement against it on 30 October 2026.

Why: To help you measure content and search changes honestly.