Google Search Console
Read Search Console performance, trends, opportunities, sitemaps and URL inspection with the gsc CLI in read-only mode.
What it covers
Search Console shows how a site performs in Google Search: clicks, impressions, CTR and position by query, page, country and device, trends over time, computed opportunities such as striking-distance queries, sitemaps, and whether a URL is indexed.
Connect
Search Console has no environments, so make one shared connection:
reckon connect gsc --org acme --provider gscThe simplest setup is a browser login. Run it yourself in a terminal:
reckon login gscIt runs gsc auth login, which opens Google's consent page once and stores the
refresh token in the OS keychain. Reckon gives this CLI your real home
directory so the keychain works, and keeps its config per connection.
For automation, fill in ~/.reckon/orgs/acme/secrets/gsc.env instead with one
of:
GSC_CREDENTIALS=/path/to/service-account.json
GSC_ACCESS_TOKEN=replace_meGSC_SITE sets a default property. GSC_CLIENT_ID and GSC_CLIENT_SECRET
select your own OAuth client.
reckon verify gsc runs gsc auth status --verify -o json, which lists
properties with the credential.
Read-only contract
Reckon runs gsc with GSC_READ_ONLY=true and GSC_NO_INPUT=true, so the CLI
refuses sitemap submissions, property changes and every other remote write. It
also refuses --access-token, --credentials, --profile, --config,
--read-only and --no-input, and the auth login, auth logout,
auth use, config, sites use, update and export commands. The agent
picks a property per command with --site.
One write is supported: the agent prepares gsc.sitemap.submit (a property and a
sitemap URL inside it) and you apply it with reckon act apply <id>, which runs
gsc sitemaps submit once without read-only mode. A connection limited to
properties (--allow site=...) refuses sitemaps of other properties. The
credential needs write scope (a profile logged in with --scope readonly fails
with a clear error). See Agents.
Contract check
With gsc 0.1.8 or later, reckon run first asks gsc commands resolve -- <args>
what the arguments would run. Anything that is not a plain read, or that prints a
credential, is refused, whatever flags surround it. Older releases fall back to
Reckon's own argument checks.
Key commands
reckon run gsc -- sites list -o json
reckon run gsc -- performance --site sc-domain:example.com --last 28d --compare previous -o json
reckon run gsc -- trend --site sc-domain:example.com --last 3m --by week -o json
reckon run gsc -- top queries --site sc-domain:example.com --last 28d --limit 25 -o json
reckon run gsc -- top pages --site sc-domain:example.com --last 28d --limit 25 -o json
reckon run gsc -- insights striking-distance --site sc-domain:example.com --last 28d --min-impressions 100 -o json
reckon run gsc -- insights low-ctr --site sc-domain:example.com --last 28d -o json
reckon run gsc -- inspect https://www.example.com/pricing --site sc-domain:example.com -o json
reckon run gsc -- sitemaps list --site sc-domain:example.com -o jsonDates are inclusive Pacific-time days, and the last two or three days are
preliminary (reckon run gsc -- freshness --site <site> -o json shows which).
Google withholds anonymized queries, so query rows do not add up to the site
totals.