Data & monitoring

All your Search Console data in BigQuery every day

How to set up the bulk data export and what it shows on top of the interface and the API.

SearchConsoledailysearchconsolesite_impressionurl_impressionExportLog
Michael WeberFirst published: March 5, 2023Last updated: October 15, 20268 min read
In short
  • The bulk data export writes all performance data of your property to BigQuery every day, with no row limit. For anonymized queries only the wording is missing. Impressions and clicks are included.
  • In our comparison from March 2023, we found 160,515 different search queries in the export for a large website on a single day. Via the API our retrieval returned 5,000, in the interface 1,000.
  • The export starts on the day you set it up and does not backfill older data. The earlier you activate it, the longer your history.

What does the BigQuery export deliver?

Google introduced the bulk data export on 21 February 2023. With it, Search Console stores the performance data of your property in a BigQuery project every day. According to Google, this is worth it above all for large websites with tens of thousands of pages or tens of thousands of search queries a day. Small and medium-sized websites usually see their data in full in the interface, in the Looker Studio connector or via the API as well.

Three tables are created in the dataset.

TableContentKey fields
searchdata_site_impressionData per property, as in the performance report under “Property”data_date, query, country, device, search_type, impressions, clicks, sum_top_position
searchdata_url_impressionData per URL, including search appearancesurl, query, is_anonymized_query, is_[search appearance], impressions, clicks, sum_position
ExportLogLog of successful exports, failed ones are missing heredata_date, publish_time, epoch_version

For anonymized queries the query field stays empty, but the row with impressions and clicks is still there. That lets you calculate what share of your clicks comes from queries you never see in full.

The export contains no link data, and neither does the API. How to get backlinks out of the Links report is explained in the guide Export backlinks from Search Console.

Interface, API and export compared

Shortly after the launch, we activated the export for two websites, a small one and a large one. We compared a single day, because the export delivers day by day. We counted different URLs, different search queries and the search queries containing a particular word.

Number of different …Interface (CSV export)APIBigQuery export
URLs, small website119119119
URLs, large website1,0005,00019,212
Search queries, small website1,0001,4371,437
Search queries, large website1,0005,000160,515
Search queries with word X, small website203203203
Search queries with word X, large website1313661

For the small website, API and export deliver the same. For the large website, the export contains 32 times as many search queries as our API retrieval. The difference is particularly clear for a single word. In the interface and API it appeared in 13 search queries, in the export in 661.

Of the large website's search queries that day, 88% had exactly one impression and 7% had at least one click. Over a longer period, the share with clicks is likely to rise.

Putting the numbers in context
  • The numbers are from March 2023 and apply to these two websites on one day.
  • The 5,000 rows from the API were the result of our retrieval at the time. According to Google, the API returns 25,000 rows per request and at most 50,000 rows per day and search type in total.
  • With filters and additional properties you can get more rows out of the API and the interface. Even then the data is not guaranteed to be complete.

Setting up the export in three steps

Only owners of the property can set it up. Ideally, create a separate Google Cloud project for each property. Then you can grant access per property separately.

  1. Enable BigQuery in the Cloud project. Under “APIs & Services”, the BigQuery API and the BigQuery Storage API must be active. Billing must be set up for the project.
  2. Give Search Console access. Under “IAM & Admin”, add the service account search-console-data-export@system.gserviceaccount.com. It gets the roles “BigQuery Job User” and “BigQuery Data Editor”.
  3. Enter the destination in Search Console. Under Settings and “Bulk data export”, enter the project ID. Make sure you do not use the project number. Add the dataset name and the location. The location is hard to change later.

Search Console tests the connection immediately. If the test succeeds, Google informs all owners by email, and the first export follows within 48 hours.

Querying the data

For a first look, a query in the BigQuery console is enough. With “Explore data” and Looker Studio you can build charts and pivot tables from it without any more SQL. The following query shows the search queries per URL for the last 28 days.

-- Search queries per URL for the last 28 days, web search only SELECT url, query, SUM(impressions) AS impressions, SUM(clicks) AS clicks, SAFE_DIVIDE(SUM(clicks), SUM(impressions)) AS ctr, -- position is zero-based, hence +1 SAFE_DIVIDE(SUM(sum_position), SUM(impressions)) + 1 AS avg_position FROM `your-project.searchconsole.searchdata_url_impression` WHERE search_type = 'WEB' AND is_anonymized_query = FALSE AND data_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 28 DAY) AND CURRENT_DATE() GROUP BY url, query ORDER BY clicks DESC LIMIT 1000

In the export, the position is zero-based. That is why you add 1 after the division. Google's sample query does the same.

Keeping an eye on costs

Storage and queries in BigQuery cost money once you exceed the free tier. That is 10 GiB of storage and 1 TiB of queries per month. By default, the tables are kept forever. Google therefore recommends setting an expiration for partitions, for example after one or twelve months, and no expiration for the whole table. The expiration must be at least 14 days.

LeverWhat it achieves
Partition expirationOld days drop out automatically, the table stays
Filter on data_dateQueries only read the partitions in the period
Only the columns you need instead of SELECT *Less data read per query
Your own summary tablesDashboards read small tables instead of the raw data

What has changed since then?

In 2023 the dataset name could not be changed, and two properties could not write to the same project. Today you choose your own dataset name, which must start with “searchconsole”. That way several properties fit into one project, each with its own dataset. A separate project per property still makes sense if you want to keep access separate.

If an export fails because of an error, Search Console retries for about a week, according to its help pages. If you fix the error later, those days are missing for good. We have not recollected our numbers from 2023.

Common mistakes

  • The export is only set up shortly before an analysis. It does not backfill older data.
  • Project number entered instead of the project ID.
  • Billing is missing in the Cloud project, so the test connection fails.
  • Expiration set for the whole table. BigQuery then deletes all data at once.
  • Average position calculated without +1.
  • Queries without a filter on data_date. Then every query reads the whole history.

Frequently asked questions

What does the Search Console export to BigQuery cost?

The export itself is free. Costs arise in BigQuery for storage and queries once you exceed 10 GiB of storage or 1 TiB of queries a month.

Can I get older data into BigQuery too?

No. The export starts on the day you set it up. You can get older data via the API or from the Search Console reports.

Does the export contain all search queries?

Yes, including the anonymized ones. Their rows are there with impressions and clicks, only the query field stays empty.

How long does it take until the first data arrives?

According to Google, the export starts within 48 hours after a successful setup.

Is the export worth it for small websites?

In our comparison, API and export delivered the same numbers for the small website. It becomes interesting as soon as you hit the limits of the interface and API or want to combine the data with other sources.

Can I export several properties into one project?

Yes, each with its own dataset name that starts with “searchconsole”.

searchVIU pulls your Search Console data into the project every day and connects it with crawl, GA4 and log file data. On request, you get direct access to your data in BigQuery. Find out more on the SEO Data Warehouse page.

Request a demo

Sources

Retrieved on October 15, 2026. If something is out of date or missing, let us know.

  1. Google Search Central Blog, Bulk data export: https://developers.google.com/search/blog/2023/02/bulk-data-export · Feb 21, 2023
  2. Search Console Help, Set up a bulk data export: https://support.google.com/webmasters/answer/12917675
  3. Search Console Help, Table guidelines and reference: https://support.google.com/webmasters/answer/12917991
  4. Search Console Help, About bulk data export: https://support.google.com/webmasters/answer/12918484
  5. Google, Search Console API, getting all your data: https://developers.google.com/webmaster-tools/v1/how-tos/all-your-data · As of Aug 28, 2025
  6. Google Cloud, free usage (BigQuery): https://docs.cloud.google.com/free/docs/free-cloud-features · As of Oct 13, 2026