How to Connect Google Search Console to Sheets, Looker Studio and Power BI

The Performance report exports 1,000 rows and expires at 16 months. The three ways to get Search Console data into a sheet or a dashboard, and which to pick based on who reads it.

By Richard Castro · August 16, 2026 · 9 min read

Google Search Console data exported into a spreadsheet and a Looker Studio dashboard

Connecting Google Search Console to Google Sheets, Looker Studio or Power BI means pulling your search data out of the Performance report and into a sheet or dashboard where you can cross it, filter it and keep it. There is one official connector, one add-on and one API route, and each solves a different problem.

The Performance report is not your data. It is a view of your data, capped at 1,000 rows and with an expiry date.

Which method is right depends on something simple: whether you want a sheet you refresh on Mondays or a dashboard someone else opens.

Why export Search Console data at all

The Search Console interface is built for looking, not for working. The moment you want to cross two dimensions, compare against last month or keep history, you hit two walls.

The 1,000-row limit

Hit Export on the Performance report and Google hands you 1,000 rows. For a three-month-old site that may be everything. For anyone with history it is the tip of your data, and the long tail left behind is exactly where the queries you have not worked yet are sitting.

All three methods here go through the API underneath, so none of them inherits that cap. The API accepts up to 25,000 rows per request, and the full quota picture plus how to page through it is in the Search Console API limits guide.

The 16 months you keep losing

Search Console holds 16 months of performance data. Not a day more. Month 17 falls off, and your ability to compare year over year goes with it.

Exporting is not about convenience, it is the only way to own history. Start today and in two years you can answer questions Search Console no longer can, such as how a page performed in the same week two seasons running.

How to connect Google Search Console to Google Sheets

This is the most requested destination and the easiest one, especially if what you want is a sheet that refreshes itself every week.

With a third-party add-on

The fast route is a Google Workspace add-on that talks to the API for you. The best known is Search Analytics for Sheets, free and community-maintained rather than built by Google.

You install it from the Extensions menu, grant it access to your Search Console account, then pick property, date range, dimensions and filters in a side panel. You can schedule a periodic refresh so the sheet fills itself.

The upside is that you write no code. The cost is a dependency you do not control, with whatever access to your data that implies. Read the permissions before you accept them, and remember you can revoke the grant later from your Google account without touching the sheet.

With Apps Script and the API

If you would rather not grant third-party access, Apps Script ships with Sheets and can call the API directly. You write a function that POSTs to the Search Analytics endpoint, walks through the pages of results and drops the rows into the sheet.

It is more work the first time and it puts token handling and pagination on you. In exchange there is no middleman, you control exactly what gets requested, and a time-driven trigger can run it on a schedule.

Two details that save an afternoon. First, always ask for 25,000 rows and walk startRow until a response comes back short, because the API defaults to 1,000 and plenty of people assume that is the real ceiling. Second, write to the sheet once at the end rather than row by row, since every Sheets write is slow and a large export often takes minutes for that reason rather than because of the API.

The official Search Analytics query reference has every parameter you need.

How to connect Google Search Console to Looker Studio

Here there is an official Google connector, and it is the right answer when what you want is a dashboard somebody else will open.

Create a new data source in Looker Studio, pick Search Console, and authorise with the same account that has access to the property. View permission is the minimum.

Site Impression or URL Impression

While creating the source the connector makes you choose between two tables, and this is the decision most people click past.

Site Impression aggregates at property level and supports web, image, video and news. URL Impression aggregates at individual page level and additionally supports Discover and Google News.

A single data source can only use one of them. To compare both views in the same dashboard you need two sources. The details are in the connector documentation.

What the connector will not do

It gives you no history beyond Search Console's 16 months, because it reads the same source. It does not recover anonymised queries either, which show up as blank values.

And it stores nothing. Looker Studio queries live every time someone opens the dashboard, so when month 17 drops off your history it drops off your report too. Keeping history means writing the data down somewhere.

One more thing worth knowing before you share a dashboard widely. Whoever opens it consumes quota against the property, so a report that a whole team refreshes all morning generates far more API traffic than the one person who built it expects. It rarely becomes a problem, but it is the reason a dashboard can feel slow at nine on a Monday and fine at three in the afternoon.

How to connect Google Search Console to Power BI

No official connector exists, from Google or Microsoft. The route is the API, usually through Power Query with an authenticated web call over OAuth, or through a third-party connector.

It is the highest-friction option of the three. It earns its place when Power BI is already where the rest of the company's reporting lives and bringing search data there is worth more than setting something up quickly.

If Power BI is not imposed on you by the environment, Looker Studio gets you the same result without the hand-rolled authentication.

The usual build is a Power Query step that requests a token with your Google Cloud project credentials and then calls the Search Analytics endpoint. The annoying part is not the call, it is the refresh: the token expires and the Power BI service needs stored credentials to renew it without you sitting there.

Budget for pagination too. If your report needs more than 25,000 rows, Power Query has to iterate over startRow, and that is a custom function rather than a wizard.

Which one to pick, and what breaks

Which one to pick for what you are doing

You needMethodEffort
A sheet you refresh and filter by handSheets with an add-onLow
Full control with no third-party accessSheets with Apps ScriptMedium
A dashboard for a client or a bossLooker Studio (official connector)Low
Search data crossed with business dataPower BI via the APIHigh
History beyond 16 monthsAnything that writes to a storeMedium

The question that decides it is almost always who looks at the result. If it is you, a sheet. If it is someone who will never touch a filter, a dashboard.

The second question is how often. A monthly report is fine refreshed by hand, and automating it is work you will not earn back. From weekly reviews upward, scheduling it starts to pay.

Common mistakes when connecting

Mixing up a domain property with a URL-prefix property. They are two different properties with different data. Connect the wrong one and you will see less traffic than expected and blame the connector.

Summing query rows and expecting the total to match. It never will. Google withholds infrequent queries for privacy, so the sum of query rows always lands below the property's real clicks and impressions.

Using fresh data without realising it. The last two or three days are still moving. Compare a week that includes yesterday against a settled one and the drop you see may not be real.

Building the dashboard and never opening it again. The most common one by far. A dashboard nobody reads is worse than none, because it feels like control without being it.

If what you actually want is for something to read the data and tell you what to do, that is a connected tool rather than a dashboard. You can connect your property free and get the first recommendations with no credit card, or compare first in our rundown of the best Google Search Console tools.

What to do now

If you have never exported anything, start with Sheets and the add-on and schedule a weekly refresh. That is half an hour and your history starts running today.

If you need to show the data to someone, build Looker Studio with the official connector and decide up front whether you want Site Impression or URL Impression.

Once the data is out, the next step is reading it: start with your striking distance keywords and the queries Search Console hides. If your property is not verified yet, go through setting up Search Console first.

Frequently asked questions

How do I connect Google Search Console to Google Sheets?

Install an add-on such as Search Analytics for Sheets from the Extensions menu, authorise your Search Console account, then choose property, dates and dimensions in the side panel. If you would rather avoid third parties, Apps Script can call the API directly from the same sheet.

Is the Looker Studio Search Console connector official?

Yes. Google maintains it, and it makes you choose between two tables when you create the data source: Site Impression, which aggregates at property level, or URL Impression, which aggregates by page and also covers Discover and Google News.

Is there an official Search Console connector for Power BI?

No. Neither Google nor Microsoft publishes one, so the connection goes through the API, typically with Power Query and OAuth or a third-party connector. It is the highest-friction route of the three.

Why does my exported data not match the Search Console total?

Because Google withholds infrequent queries for privacy. Those rows do not exist in the export or in the API, so clicks and impressions summed by query always land below the property total.

Can I get data older than 16 months?

No. Search Console retains 16 months of performance data and no connection changes that, since they all read the same source. The only way to hold a longer history is to start writing it to a sheet or a store from today.