Google Search Console Skill
Fetch and process data from the Google Search Console API.
Quick Start
All scripts:
- Save raw JSON and processed CSV to
./output/under the current working directory - Return JSON with
{"output_files": [...], "summary": "..."}
Core Operations
Search Analytics
Fetch performance data with flexible dimensions:
python skills/gsc/scripts/fetch_analytics.py \
--site-url "https://example.com" \
--start-date "2024-01-01" \
--end-date "2024-01-31" \
--dimensions query,page \
--row-limit 1000
Common dimension combinations:
query- Top search queriespage- Top landing pagesquery,page- Queries per pagepage,country- Pages by countryquery,device- Queries by device typecountry,device- Geographic and device breakdown
Optional filters:
--filter 'page contains /blog/' \
--filter 'query notContains brand' \
--filter 'country equals USA'
Time period comparison:
--compare-start "2025-12-01" \
--compare-end "2025-12-31"
This adds comparison metrics (change %, growth) to the output.
URL Inspection
Check indexation status for specific URLs:
python skills/gsc/scripts/inspect_url.py \
--site-url "https://example.com" \
--inspect-url "https://example.com/page-to-check"
Returns coverage status, indexability, mobile usability, AMP status, and structured data.
Site Management
List all verified sites:
python skills/gsc/scripts/list_sites.py
Get site details:
python skills/gsc/scripts/get_site.py \
--site-url "https://example.com"
Sitemaps
List sitemaps for a site:
python skills/gsc/scripts/list_sitemaps.py \
--site-url "https://example.com"
Get sitemap details:
python skills/gsc/scripts/get_sitemap.py \
--site-url "https://example.com" \
--sitemap-url "https://example.com/sitemap.xml"
Advanced Topics
For detailed API parameters, filtering syntax, and dimension combinations, see:
- API Reference - Complete GSC API documentation
- Examples - Common query patterns and use cases
Authentication
Scripts authenticate to Google via the shared lib/google_auth helper. Provide
OAuth2 credentials through environment variables (or a .env file at the repo root):
GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETGOOGLE_REFRESH_TOKEN
Alternatively, place a token file under secrets/ at the repo root
(e.g. secrets/gsc_token.json or a unified token). The GSC scopes are
https://www.googleapis.com/auth/webmasters.readonly (read) and
https://www.googleapis.com/auth/webmasters (write, used by sitemap submit).
Output Format
All scripts return:
{
"output_files": [
"output/gsc_analytics_raw.json",
"output/gsc_analytics.csv"
],
"summary": "Fetched 1,247 rows: 847 queries across 156 pages"
}
CSV includes all requested dimensions plus metrics:
clicks- Number of clicksimpressions- Number of impressionsctr- Click-through rateposition- Average position
When comparison enabled, adds:
clicks_compare- Clicks in comparison periodclicks_change- Absolute changeclicks_change_pct- Percentage change- (same for impressions, ctr, position)