# Google Search Console (GSC) GSC is the only **first-party** data source on this list — what the user's verified site actually rendered impressions / clicks for in Google. Estimates from Semrush, Ahrefs, and DataForSEO are modelled; GSC is observed. Two entry points to GSC for this skill: 1. **`our research search-console` CLI** — OurSEO Agent's GSC integration (recommended; cached). 2. **Ahrefs `gsc-keywords`** — only if the site is connected as an Ahrefs project AND the user is already in Ahrefs context. ## CLI commands (`our research search-console`) See `our research search-console --help` for the current command surface. Typical patterns: ```bash # Queries the site actually ranks for, last 28 days our research search-console queries --site sc-domain:example.com --days 28 # Top pages by impressions our research search-console pages --site sc-domain:example.com --days 28 # Query/page combinations our research search-console combined --site sc-domain:example.com --days 28 ``` The `sc-domain:` prefix is required for Domain-verified properties. URL-prefix properties use the plain URL (`https://example.com/`). See gotcha note: `our-claude-skills/custom-skills/15-seo-search-console/code/gotcha/gsc-cli-integration.md`. ## Ahrefs GSC tools When the user is already working in Ahrefs: ``` mcp__ahrefs__gsc-keywords(project_id="", limit=100) mcp__ahrefs__gsc-keyword-history(project_id="...", keyword="...") mcp__ahrefs__gsc-pages(project_id="...") mcp__ahrefs__gsc-performance-history(project_id="...") mcp__ahrefs__gsc-ctr-by-position(project_id="...") ``` Requires the Ahrefs project to be connected to the GSC property. Confirm with the user before assuming the link exists. ## When to bring GSC into keyword work - **Validation step**: after generating a keyword list from Semrush / Ahrefs / DataForSEO, intersect with GSC queries to see which are already driving impressions. - **Pruning**: drop keywords from the list that have zero GSC impressions over the last 90 days for a mature site (signals the site doesn't compete on them despite the model's volume estimate). - **Cannibalization detection**: GSC `query × page` lets you find queries where multiple URLs share impressions. - **Anonymous-query analysis**: `mcp__ahrefs__gsc-anonymous-queries` surfaces queries Google hides from the standard report — sometimes reveals brand variants. ## Configuration | Variable | Purpose | |---|---| | `SEO_AGENT_GSC_SERVICE_ACCOUNT` | Path to the GSC service-account JSON for the OurSEO CLI | | `GSC_CACHE_TTL` | GSC cache TTL in seconds (default 3600) | ## When NOT to use GSC for this skill - Discovery of keywords the site does **not** yet rank for — GSC by definition only shows queries that already triggered impressions. Use Semrush / Ahrefs / DataForSEO for net-new discovery. - Competitive keyword pulls — GSC is single-site.