---
title: "Search Console historical data past 16 months · GSC PAP"
source: https://gscpap.com/guides/recover-search-console-history-past-16-months
updated: 2026-09-18
---

[All guides](https://gscpap.com/guides)

Guide · about 8 minutes

# Google Search Console historical data: how to keep it past 16 months

By the [GSC PAP team](https://gscpap.com/about) · Updated September 18, 2026

Google Search Console keeps 16 months of historical performance data. Every day, the oldest day in that window is deleted: the web interface stops showing it, the API stops returning it, and nothing can bring it back afterward. Any Search Console data you have from further back exists only because someone saved it before it expired.

This page covers what that historical data includes, the four ways to keep it (manual export, the Search Console API, Google's BigQuery bulk export, and an automatic archive), and a worked example of querying an archive with Claude. GSC PAP's archive starts on its own when you sign in with Google: it saves the full 16 months Google still has, then adds each new day.

## How long does Google Search Console keep historical data?

16 months. That is the limit for the Performance report: clicks, impressions, click-through rate and average position. It is a rolling window, so each new day of data pushes the oldest day out. The Search Console API serves the same 16 months; there is no longer archive behind it.

Google introduced the 16-month window in January 2018 with the new Performance report, the successor to the old Search Analytics report, to make longer-term trends and year-over-year comparisons easier. It is still 16 months today. At the recent end, new data usually shows up two to three days late.

[![Search Console date range dialog with Last 16 months selected, the longest option](https://gscpap.com/images/guides/recover-search-console-history-past-16-months.webp)](https://gscpap.com/images/guides/recover-search-console-history-past-16-months.webp)

Last 16 months (1) is the longest range the date picker offers.

## Can you recover Search Console data older than 16 months?

No. Once a day falls out of the 16-month window, Google deletes it on its side. The Performance report cannot show it, the API cannot return it, and no third-party tool can recover it, GSC PAP included. When a tool shows you older Search Console data, it is because that tool saved the data while it was still inside the window.

So the useful question is not how to get old data back, but how to stop losing more of it. Until you start saving it somewhere, one more day of your site's history expires every day.

## What does Search Console historical data include?

Four metrics (clicks, impressions, CTR and average position) that you can break down by query, page, country, device, search appearance and date, and filter by search type, such as web, image or video. How much of it you can actually see depends on where you look:

-   The Performance report in the web interface shows up to 1,000 rows per table. On a site with thousands of queries or pages, you see the top of the list and nothing below it.
-   The Search Analytics API returns up to 25,000 rows per request and lets you page through more. Google's documentation also caps it at 50,000 rows per day for each search type, sorted by clicks.
-   Google's BigQuery bulk export is not affected by that daily row limit. Google describes it as most useful for large sites with tens of thousands of pages, or of queries a day.
-   In the interface, the API and the BigQuery export alike, anonymized queries are left out of the query rows. Google defines them as very rare queries, not issued by more than a few dozen users over two to three months. Your totals still include their clicks and impressions, but no tool can show you the queries themselves.

## Why keep Search Console data past 16 months?

Sixteen months covers one year-over-year comparison and a few months more. That is enough to compare this month with the same month last year, and not enough for anything longer, such as:

-   Comparing this year with two years ago, or following a query or a section of your site across several years.
-   Telling a seasonal dip from a real decline when the season you need to check is more than 16 months back.
-   Looking at traffic before and after a migration, a redesign or a Google core update once that date has aged out of the window.
-   Keeping a record for clients or stakeholders that does not quietly get shorter every day.

## How do you keep Search Console data longer than 16 months?

There are four ways. They differ in setup, in how complete the data is, and in whether they can save the 16 months you already have.

-   Manual export. In the Performance report, export to CSV or Google Sheets on a schedule. It is free and needs no setup, but each table stops at 1,000 rows, the tables are separate summaries (you cannot later ask which page a query landed on in a given week), and it only works if someone remembers to do it.
-   The Search Console API. A script pulls one day at a time (the approach Google's documentation recommends) and stores the rows in your own database. It can also save the 16 months still in Search Console, but you need a Google Cloud project, OAuth credentials, a scheduler and somewhere to keep the data.
-   BigQuery bulk export. This is Google's official answer. A property owner connects Search Console to a Google Cloud project with billing enabled, enables the BigQuery API and gives Search Console's service account access; daily exports then start within 48 hours. It is the most complete record, but it only exports from the day you set it up, with no backfill of the 16 months already in Search Console, and you read it with SQL.
-   An automatic archive. A service reads the API for you, saves the full 16 months on day one and keeps adding days, with no code or Cloud project on your side. This is what GSC PAP does. It also works alongside BigQuery: BigQuery captures more rows from the day you turn it on, and the archive keeps the 16 months BigQuery never copies.

## How does GSC PAP keep your Search Console history?

You sign in with Google and the archive starts by itself. There is no button to press, no Google Cloud project and no code. GSC PAP is read-only and free during the public preview, and you query the archive in plain language from Claude, Cursor or Claude Code.

What Google keeps, and what the archive keeps

-   Search Console on the day you connect: 16 months
-   Search Console a year later: Deleted by Google; 16 months
-   GSC PAP archive: Every day since 16 months before you connected

The archive starts with the 16 months Google still has on the day you connect and adds each new day. Days Google deleted before that are gone for everyone.

-   On sign-in, it backfills the full 16 months Google still has for every property your Google account can read.
-   After that, a daily job fetches each new day, about four days behind today, because Google's numbers take around three days to settle.
-   Days older than 16 months stay in your archive after Google deletes them, so from the day you connect, your history keeps growing past 16 months for as long as your account is active.
-   Questions about stable past data (older than about three days) are answered from the archive at zero Google API quota. Recent days still come live from Google.
-   The archive stores query, page, country, device and date, with clicks, impressions, CTR and position. It is private to your account.
-   What it cannot do: bring back days Google deleted before you connected, or show anonymized queries. It reads the same Search Analytics API, so on a very large site it holds what the API exposes, not every row a BigQuery export would.

## Querying Search Console data older than 16 months with Claude

The prompt works in any client connected to GSC PAP. Not set up in Claude yet? [Connect GSC PAP to Claude](https://gscpap.com/integrations/claude-ai-connectors)

### The scenario

You connected example.com to GSC PAP in late April 2026, so its archive reaches back to the end of December 2024, 16 months before that day. It is now September 2026, and Search Console's own window starts in May 2025, so January to March 2025 is gone from Google. You want to compare the first quarter of 2026 with the first quarter of 2025, query by query.

### The prompt

```prompt
Use the gsc-pap MCP server. For https://example.com, check archive coverage with archive_status first. Then compare clicks and impressions for Q1 2025 (January 1 to March 31) with Q1 2026 using search_analytics_archive, since Search Console no longer has Q1 2025. Group by query and return the top 30 queries by Q1 2026 clicks, with their Q1 2025 numbers, the change and the percentage change.
```

### What happens

1.  #### Claude checks coverage with archive_status
    
    archive_status(site_url) returns the earliest_date, latest_date and row count stored for the property. Here earliest_date is in late December 2024, so all of Q1 2025 is covered. A later earliest date would mean a partial quarter and a misleading comparison, which is why this check comes first. On a site you connect today, earliest_date sits about 16 months back, and the range you can compare grows by one day every day.
    
2.  #### Claude calls search_analytics_archive for both quarters
    
    Two calls, one per quarter, each with dimensions set to query. The archive aggregates the stored daily rows in its database, so neither call uses Google API quota and neither is bound by the 16-month window. Claude joins the two result sets on the query text and computes the change and percentage change for each query.
    
3.  #### Claude summarizes what changed
    
    You get the comparison table plus a short read of it: which queries grew, which shrank, and which appear in only one of the two quarters. Search Console cannot produce this table anymore, because one half of it is gone from Google.
    

### Outcome

A year-over-year view of a quarter Google has already deleted, built from your own daily rows instead of exports someone remembered to take. The same prompt works for any window your archive covers, and that coverage grows by one day for every day you stay connected.

### Where to take it next

-   Follow a single query across the whole archive with historical_position_trend, for example to see whether its position started slipping before or after a site change.
-   For two windows that are both still inside Google's 16 months, compare_periods runs the same kind of diff against live Search Console data.
-   There is no backfill to trigger. The archive page in your account (/account/archive) shows per-site coverage, and its manual backfill is still there if you ever want it.

## Frequently asked questions

### Can I see Search Console data older than 16 months?

Not in Search Console. The Performance report and the API both stop at 16 months, and older days are deleted. You can only see older data if it was saved before it expired: in your own exports, in a BigQuery bulk export, or in an archive such as GSC PAP's.

### Does the BigQuery bulk export include past Search Console data?

No. It exports from the day you set it up onward, with daily exports starting within 48 hours of a successful setup. The 16 months already in Search Console are not copied, so if you want them too, save them through the API or an archive that backfills.

### How far back will GSC PAP go for my site?

The full 16 months Google still has on the day you sign in, then forward from there, one day at a time. Ask your AI client to run archive_status to see the earliest and latest date stored for each property.

### How do I see my top queries for the last 16 months?

In Search Console, open Performance, then Search results, set the date range to the last 16 months and open the Queries table. It lists up to 1,000 queries. For more rows, use the Search Analytics API, or ask GSC PAP from your AI client.

### Does the old version of Search Console have older data?

No. The old Search Analytics report kept less history, not more: Google introduced the 16-month window with the new Performance report in January 2018, after users asked for more data. Google began retiring the old interface in 2019.

## Other guides

[All guides](https://gscpap.com/guides)

[

### AI queries in Google Search Console: how to tell people, AI Mode and agents apart

Search Console mixes AI Mode follow-ups, AI agent searches and scripts into your query report. How to spot each one, with regex filters and real data.

14 min read

](https://gscpap.com/guides/ai-queries-in-google-search-console)[

### Good position, no clicks: find the SERP features eating your CTR

Ranking third and getting no clicks usually means something sits above you: an AI Overview, a featured snippet or a map pack. How to check which, query by query.

7 min read

](https://gscpap.com/guides/low-ctr-at-good-position-serp-features)[

### Find the pages quietly losing organic traffic, before the rankings go

Content decay is slow enough to miss on a dashboard. How to find the pages whose clicks keep sliding, tell decay from seasonality, and decide what to refresh.

7 min read

](https://gscpap.com/guides/find-pages-losing-organic-traffic)[

### Traffic changed: how to compare two Search Console periods and find out why

Clicks are down 18% and nobody knows why. How to compare two periods properly, avoid the three traps that fake a drop, and find the queries and pages behind it.

7 min read

](https://gscpap.com/guides/compare-search-console-date-ranges)[

### Google Search Console anonymized queries: measure the traffic you can't see

Search Console hides anonymized queries from query rows but counts them in totals. Learn what they are, why no tool reveals them, and how to measure them.

6 min read

](https://gscpap.com/guides/google-search-console-anonymized-queries)[

### GSC clicks vs GA4 sessions: why they differ and how to tie clicks to conversions

A Search Console click and a GA4 session measure different things. Why the numbers never match, what gap is normal, and how to compare and combine them page by page.

11 min read

](https://gscpap.com/guides/correlate-organic-clicks-to-ga4-conversions)[

### Audit Core Web Vitals across your site with AI

Audit Core Web Vitals with Claude through a hosted PageSpeed Insights MCP server: Lighthouse lab data and real-user CrUX field data for your top pages.

7 min read

](https://gscpap.com/guides/audit-core-web-vitals-with-ai)[

### Build a weekly SEO health report with Claude

Automate a weekly SEO report with Claude: one saved prompt pulls Search Console changes, quick wins, decaying pages, GA4 conversions and Core Web Vitals.

8 min read

](https://gscpap.com/guides/weekly-seo-health-report-via-claude)[

### Bulk URL inspection in Google Search Console: diagnose indexing issues at scale

Search Console inspects one URL at a time. The URL Inspection API allows 2,000 checks a day per property. How to inspect in bulk and find indexing issues.

8 min read

](https://gscpap.com/guides/diagnose-indexing-issues-bulk-url-inspection)[

### Track keyword rankings in Google Search Console, past the 16-month limit

See a keyword's position history in Google Search Console, what that average really measures, and how to keep ranking history past the 16-month limit.

6 min read

](https://gscpap.com/guides/track-keyword-rankings-over-years)[

### How to find striking distance keywords in Google Search Console

Striking distance keywords rank just off page one of Google. Find them in Search Console, pick the ones worth fixing, and learn what to change on the page.

8 min read

](https://gscpap.com/guides/find-seo-quick-wins)[

### How to find keyword cannibalization in Google Search Console

Check for keyword cannibalization in Google Search Console: find queries where your pages compete, judge whether it hurts, and fix the cases that do.

8 min read

](https://gscpap.com/guides/detect-keyword-cannibalization)

### Tools that automate this workflow

The MCP exposes 36 tools across 9 categories. These are the ones most relevant to this page:

-   [search_analytics_archive](https://gscpap.com/tools#search_analytics_archive) · Query your full GSC history beyond the 16-month limit. Same dimensions and filters as the live API, but unlocked for long-term trend analysis.
-   [archive_status](https://gscpap.com/tools#archive_status) · Check archive coverage per site: earliest date, latest date, row count, last successful run.
-   [historical_position_trend](https://gscpap.com/tools#historical_position_trend) · Plot a query's position over the last N days to see whether you're trending up, down, or volatile.
-   [compare_periods](https://gscpap.com/tools#compare_periods) · Diff any two date ranges (e.g. last 28 days vs prior 28) to spot wins and losses across queries, pages, or countries.

[Browse all 36 tools](https://gscpap.com/tools)

### Skip the GCP project. Just sign in.

GSC PAP is hosted, free, and read-only. No service account JSON, no Python venv, no API keys. Sign in with Google, mint a bearer token, paste it into Claude / Cursor / Claude Code. About 60 seconds end to end.

[Sign in with Google](https://app.gscpap.com/login) Read-only Search Console scope, revoke anytime

Want a guide for a workflow we have not covered? Email [support@gscpap.com](mailto:support@gscpap.com).
