All skills
agricidaniel avatar

/seo-google

@4460b8d
by Agrici.Danielagricidaniel/claude-seo18k stars
2,665

Google SEO APIs: Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, and GA4 organic traffic. Provides real Google field data for Core Web Vitals, indexation status, search performance, and organic traffic trends. Use when user says "search console", "GSC", "PageSpeed", "CrUX", "field data", "indexing API", "GA4 organic", "URL inspection", or "real CWV data".

Use this Skill: https://skilld.dev/gh/agricidaniel/claude-seo/seo-google

This session only. Nothing lands on disk.

referencessearch-console-api.md

≈1.4k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Google Search Console API Reference

Table of Contents

  1. Search Analytics API
  2. URL Inspection API
  3. Sitemaps API
  4. Sites API

Search Analytics API

Endpoint: POST https://www.googleapis.com/webmasters/v3/sites/{siteUrl}/searchAnalytics/query

Request Body

Field Type Description
startDate string Required. YYYY-MM-DD format.
endDate string Required. YYYY-MM-DD format.
dimensions string[] query, page, country, device, date, searchAppearance
type string web (default), image, video, news, discover, googleNews
dimensionFilterGroups object[] Array of filter groups (see below)
aggregationType string auto (default), byPage, byProperty, byNewsShowcasePanel
rowLimit int 1-25000 (default: 1000)
startRow int Pagination offset (default: 0)
dataState string final (default), all, hourly_all

Dimension Filters

{
  "dimensionFilterGroups": [{
    "filters": [{
      "dimension": "query",
      "operator": "contains",
      "expression": "seo"
    }]
  }]
}

Operators: contains, equals, notContains, notEquals, includingRegex, excludingRegex

  • Regex uses RE2 syntax, max 4096 characters

Response

{
  "rows": [
    {
      "keys": ["seo tools", "https://example.com/tools"],
      "clicks": 150,
      "impressions": 5000,
      "ctr": 0.03,
      "position": 4.2
    }
  ],
  "responseAggregationType": "byPage"
}

Important Notes

  • Data has a 2-3 day lag. Available for approximately 16 months.
  • If a date range overlaps 2025-05-13 to 2026-04-27, clicks remain usable but impressions, CTR, and average position require caution due to the confirmed GSC impressions logging error.
  • discover and googleNews types do not support query dimension or position metric.
  • The multimodal search type (Lens, Circle to Search, image uploads; rolling out since 2026-09-24) is a Search Console UI filter with export. No API type value for it has been verified; do not pass one.
  • Country codes are ISO 3166-1 alpha-3 (e.g., USA, GBR, DEU).
  • Pagination: increment startRow by rowLimit until fewer rows returned.
  • rowLimit is per API request. The claude-seo --limit option is a total result cap and requests are paged internally at up to 25,000 rows.
  • For accurate site totals, omit query and page dimensions. Query rows can omit anonymized low-volume traffic and must not be summed as site totals.
  • Only present totals as authoritative when the script returns "totals_complete": true.

Rate Limits

  • 1,200 QPM per user
  • 1,200 QPM per site
  • 40,000 QPM / 30,000,000 QPD per project

URL Inspection API

Endpoint: POST https://searchconsole.googleapis.com/v1/urlInspection/index:inspect

Request

{
  "inspectionUrl": "https://example.com/page",
  "siteUrl": "sc-domain:example.com",
  "languageCode": "en"
}

Response Fields

indexStatusResult:

Field Values
verdict PASS, FAIL, NEUTRAL, PARTIAL, VERDICT_UNSPECIFIED
coverageState Human-readable coverage description
robotsTxtState ALLOWED, DISALLOWED
indexingState INDEXING_ALLOWED, BLOCKED_BY_META_TAG, BLOCKED_BY_HTTP_HEADER
pageFetchState SUCCESSFUL, SOFT_404, BLOCKED_ROBOTS_TXT, NOT_FOUND, ACCESS_DENIED, SERVER_ERROR, REDIRECT_ERROR, ACCESS_FORBIDDEN, BLOCKED_4XX, INTERNAL_CRAWL_ERROR, INVALID_URL
lastCrawlTime ISO 8601 timestamp
googleCanonical URL Google selected as canonical
userCanonical URL declared canonical by the page
crawledAs DESKTOP, MOBILE

richResultsResult: Verdict + detected rich result types (e.g. Product, Breadcrumb, Review snippet, Event). Note: FAQPage and HowTo no longer produce rich results (FAQ retired 2026-05-07; HowTo retired 2023), so don't expect them as current rich-result types.

Rate Limits

  • 2,000 QPD / 600 QPM per site
  • 10,000,000 QPD / 15,000 QPM per project

Sitemaps API

Base: https://www.googleapis.com/webmasters/v3/sites/{siteUrl}/sitemaps

Method Endpoint Description
GET /sitemaps List all sitemaps
GET /sitemaps/{feedpath} Get specific sitemap
PUT /sitemaps/{feedpath} Submit a sitemap
DELETE /sitemaps/{feedpath} Delete a sitemap

Sitemap Resource

Field Description
path URL of the sitemap
lastSubmitted Last submission timestamp
isPending Whether processing is incomplete
isSitemapsIndex Whether this is a sitemap index
type sitemap, atomFeed, rssFeed, urlList, notSitemap
warnings Warning count
errors Error count
contents[] Array with type (web, image, video, news) and submitted count

Sites API

Base: https://www.googleapis.com/webmasters/v3/sites

Method Endpoint Description
GET /sites List all verified properties
GET /sites/{siteUrl} Get property info
PUT /sites/{siteUrl} Add a property
DELETE /sites/{siteUrl} Remove a property

Property Resource

Field Values
siteUrl Property URL (e.g., sc-domain:example.com)
permissionLevel siteOwner, siteFullUser, siteRestrictedUser, siteUnverifiedUser

Source: SKILL.md on GitHub

2 warnings2d4 checks · Risk MEDIUM
  • Gen Agent Trust Hub2d

    The skill provides a suite of tools for Google SEO analysis, including Search Console, GA4, and PageSpeed Insights. It is designed to work with user-provided Google Cloud credentials stored in local configuration files. A security concern is that the skill's documentation contains misleading "future" dates and speculative feature descriptions (ranging into 2026), which could lead to confusion about its provenance. Additionally, the skill's ability to process external data like YouTube comments and web content makes it susceptible to indirect prompt injection attacks, where malicious instructions hidden in that data could influence the agent's behavior.

  • Socket2d

    No alerts

  • Snyk2d

    Risk: MEDIUM · 1 issue

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 4460b8d. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 days ago.

Activeupdated 3 days ago
user-invocable
true
argument-hint
[command] [url|property]
metadata
{
  "author": "AgriciDaniel",
  "version": "2.4.1",
  "category": "seo"
}

README badge

README badge for agricidaniel/claude-seo/seo-google