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.

referencespagespeed-crux-api.md

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

PageSpeed Insights v5 + CrUX API Reference

Table of Contents

  1. PageSpeed Insights v5
  2. CrUX API (Daily)
  3. CrUX History API (Weekly)
  4. Core Web Vitals Thresholds

PageSpeed Insights v5

Endpoint: GET https://www.googleapis.com/pagespeedonline/v5/runPagespeed

Parameters

Param Type Description
url string Required. URL to analyze.
category string ACCESSIBILITY, BEST_PRACTICES, PERFORMANCE, SEO. Can specify multiple.
strategy string DESKTOP or MOBILE (default).
locale string Locale for text (e.g., en).
key string API key. Optional but recommended for quota.

Response Structure

{
  "id": "https://example.com/",
  "loadingExperience": { ... },        // URL-level CrUX data
  "originLoadingExperience": { ... },  // Origin-level CrUX data
  "lighthouseResult": {
    "categories": {
      "performance": { "score": 0.85 },
      "accessibility": { "score": 0.92 },
      "best-practices": { "score": 0.88 },
      "seo": { "score": 0.95 }
    },
    "audits": { ... }                  // Individual audit results
  },
  "analysisUTCTimestamp": "2026-03-27T..."
}

Field Data Metrics (in loadingExperience)

PSI Key CrUX Metric Unit
LARGEST_CONTENTFUL_PAINT_MS LCP ms
INTERACTION_TO_NEXT_PAINT INP ms
CUMULATIVE_LAYOUT_SHIFT_SCORE CLS unitless
FIRST_CONTENTFUL_PAINT_MS FCP ms
EXPERIMENTAL_TIME_TO_FIRST_BYTE TTFB ms

Each metric contains: percentile (p75), distributions[] ({min, max, proportion}), category (FAST/AVERAGE/SLOW/NONE).

Key Lighthouse Audit IDs

first-contentful-paint, largest-contentful-paint, total-blocking-time, cumulative-layout-shift, speed-index, interactive

Rate Limits

  • 25,000 QPD with API key
  • 240 QPM
  • Free, no billing required

Note on Field Data Migration

Google is migrating CrUX field data out of PSI. For field data, prefer the CrUX API directly. Use PSI primarily for Lighthouse lab data.


CrUX API (Daily)

Endpoint: POST https://chromeuxreport.googleapis.com/v1/records:queryRecord

Send the API key in the X-Goog-Api-Key header, not in the URL.

Request

{
  "origin": "https://example.com",
  "formFactor": "PHONE",
  "metrics": ["largest_contentful_paint", "interaction_to_next_paint", "cumulative_layout_shift"]
}
Field Description
origin Origin URL (mutually exclusive with url)
url Specific page URL (mutually exclusive with origin)
formFactor DESKTOP, PHONE, TABLET (optional, omit for all)
metrics Array of metric names (optional, omit for all)

Available Metrics

Metric Type Notes
largest_contentful_paint int (ms) Core Web Vital
largest_contentful_paint_resource_type fractions LCP resource type, added January 2025
largest_contentful_paint_image_time_to_first_byte int (ms) LCP image subpart, added January 2025
largest_contentful_paint_image_resource_load_delay int (ms) LCP image subpart, added January 2025
largest_contentful_paint_image_resource_load_duration int (ms) LCP image subpart, added January 2025
largest_contentful_paint_image_element_render_delay int (ms) LCP image subpart, added January 2025
interaction_to_next_paint int (ms) Core Web Vital (replaced FID)
cumulative_layout_shift string Core Web Vital. String-encoded! Parse carefully.
first_contentful_paint int (ms)
experimental_time_to_first_byte int (ms)
round_trip_time int (ms) Replaced effectiveConnectionType (Feb 2025)
navigation_types fractions navigate, navigate_cache, reload, etc.
form_factors fractions desktop/phone/tablet distribution

Response

{
  "record": {
    "key": { "origin": "https://example.com" },
    "metrics": {
      "largest_contentful_paint": {
        "histogram": [
          { "start": 0, "end": 2500, "density": 0.72 },
          { "start": 2500, "end": 4000, "density": 0.18 },
          { "start": 4000, "density": 0.10 }
        ],
        "percentiles": { "p75": 2100 }
      },
      "cumulative_layout_shift": {
        "percentiles": { "p75": "0.05" }
      }
    },
    "collectionPeriod": {
      "firstDate": { "year": 2026, "month": 2, "day": 27 },
      "lastDate": { "year": 2026, "month": 3, "day": 26 }
    }
  }
}

Important

  • CLS p75 is a string (e.g., "0.05" not 0.05). Always parse as float from string.
  • Last histogram bin has no end (extends to infinity).
  • Densities sum to approximately 1.0.
  • 404 = no data (insufficient Chrome traffic). Not an auth error.
  • Updated daily ~04:00 UTC with ~2 day lag.

Rate Limits

  • 150 QPM shared between CrUX and CrUX History APIs
  • Free, no paid increase available

CrUX History API (weekly) and Core Web Vitals thresholds: crux-history-api.md.

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