con un clic
google-search-console
Google Search Console API for SEO and indexing data. Use when user mentions "Search Console", "GSC", "search analytics", "impressions/clicks", "keyword rankings", "sitemaps", "URL inspection", or "indexing status".
Menú
Google Search Console API for SEO and indexing data. Use when user mentions "Search Console", "GSC", "search analytics", "impressions/clicks", "keyword rankings", "sitemaps", "URL inspection", or "indexing status".
Basado en la clasificación ocupacional SOC
Google Maps Platform API for geocoding, places, routes, and distance matrices. Use when user mentions "Google Maps", "geocode", "directions", "places API", route matrix, or asks to look up an address, route, or place metadata.
A high-fashion editorial video style - cold desaturated grade, dramatic high-contrast light, monumental clean architecture or backdrop, deliberate model pose, strong silhouette, and luxury material texture. Applies to fashion, beauty, luxury, and personal-brand subjects. Trigger on /fashion-editorial, "Fashion Editorial", "luxury fashion campaign", "high fashion video", or "editorial model film".
A hand-drawn fantasy animation video style - painterly 2D backgrounds, expressive simple characters, lush nature, soft diffused light, warm storybook color, and gentle magical wonder. Applies to any fantasy, character, nature, or adventure subject. Trigger on /hand-drawn-fantasy-anime, "hand-drawn fantasy animation", "painterly 2D fantasy", "storybook anime", or "warm forest animation".
A dark luxury product macro video style - premium materials in extreme close-up, black studio, pinpoint specular highlights, ultra-shallow focus, engraved or mechanical detail, and refined reveal pacing. Applies to watches, jewelry, pens, cameras, fragrance caps, and other high-end objects. Trigger on /luxury-product, "Luxury Product", "premium product macro", "dark luxury product video", or "metal detail reveal".
A sports performance advertising video style - athlete effort, gear and body close-ups, impact rhythm, motion blur, Dutch or low angles, high-contrast desaturated grade, and dramatic rim light. Applies to any sport, athlete, training action, or performance product. Trigger on /sports-performance-ad, "sports performance ad", "athletic commercial", "training commercial", or "sports brand film".
Playful-editorial presentation look — saturated colour fields, scalloped sunburst badges and pill chips, oversized stacked headlines. Carnival palette · Archivo + Manrope · pill radius. The design system (visual language).
| name | google-search-console |
| description | Google Search Console API for SEO and indexing data. Use when user mentions "Search Console", "GSC", "search analytics", "impressions/clicks", "keyword rankings", "sitemaps", "URL inspection", or "indexing status". |
Read Search Console data for verified sites — search analytics (queries, clicks, impressions, CTR, position), sitemaps, and URL inspection (indexing status).
Official docs:
https://developers.google.com/webmaster-tools/v1/api_reference_index
Use this skill when you need to:
$GOOGLE_SEARCH_CONSOLE_TOKEN. Access is read-only (webmasters.readonly).Base URL: https://searchconsole.googleapis.com
siteUrl formats — must be URL-encoded in the path:
https://www.example.com/ → https%3A%2F%2Fwww.example.com%2Fsc-domain:example.com → sc-domain%3Aexample.comFind the exact siteUrl values you have access to (use one of these in later calls):
curl -s "https://searchconsole.googleapis.com/webmasters/v3/sites" --header "Authorization: Bearer $GOOGLE_SEARCH_CONSOLE_TOKEN" | jq '.siteEntry[] | {siteUrl, permissionLevel}'
The core report. Returns rows of metrics grouped by the requested dimensions. Dimensions: query, page, country, device, searchAppearance, date.
Write the request body to /tmp/gsc_query.json (top 25 queries by clicks for a date range):
{
"startDate": "2026-05-01",
"endDate": "2026-05-31",
"dimensions": ["query"],
"rowLimit": 25,
"orderBy": [{ "field": "clicks", "descending": true }]
}
Then run (replace <site-url-encoded> with a value from step 1):
curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/<site-url-encoded>/searchAnalytics/query" --header "Authorization: Bearer $GOOGLE_SEARCH_CONSOLE_TOKEN" --header "Content-Type: application/json" -d @/tmp/gsc_query.json | jq '.rows[] | {query: .keys[0], clicks, impressions, ctr, position}'
By page instead of query: set "dimensions": ["page"] and read page: .keys[0].
Filtering — add a dimensionFilterGroups block, e.g. only rows where the page contains /blog/:
{
"startDate": "2026-05-01",
"endDate": "2026-05-31",
"dimensions": ["query"],
"dimensionFilterGroups": [
{ "filters": [{ "dimension": "page", "operator": "contains", "expression": "/blog/" }] }
],
"rowLimit": 25
}
Note: Search Console data lags ~2-3 days and the most recent days may be incomplete.
See which sitemaps are submitted and whether Google has processed them:
curl -s "https://searchconsole.googleapis.com/webmasters/v3/sites/<site-url-encoded>/sitemaps" --header "Authorization: Bearer $GOOGLE_SEARCH_CONSOLE_TOKEN" | jq '.sitemap[] | {path, lastSubmitted, lastDownloaded, isPending, errors, warnings, contents}'
<feedpath> is the full sitemap URL, URL-encoded:
curl -s "https://searchconsole.googleapis.com/webmasters/v3/sites/<site-url-encoded>/sitemaps/<feedpath-encoded>" --header "Authorization: Bearer $GOOGLE_SEARCH_CONSOLE_TOKEN" | jq '{path, lastDownloaded, errors, warnings, contents}'
Check whether a specific URL is indexed, its coverage state, and last crawl time.
Write to /tmp/gsc_inspect.json (siteUrl here is the raw, un-encoded property; inspectionUrl must belong to that property):
{
"inspectionUrl": "https://www.example.com/blog/my-post",
"siteUrl": "https://www.example.com/"
}
Then run:
curl -s -X POST "https://searchconsole.googleapis.com/v1/urlInspection/index:inspect" --header "Authorization: Bearer $GOOGLE_SEARCH_CONSOLE_TOKEN" --header "Content-Type: application/json" -d @/tmp/gsc_inspect.json | jq '.inspectionResult.indexStatusResult | {verdict, coverageState, lastCrawlTime, googleCanonical, indexingState, robotsTxtState}'
webmasters scope, which this connector does not request.searchAnalytics/query caps at rowLimit 25000 per request; paginate with startRow for larger pulls.siteUrl string returned by step 1 — a trailing-slash or http/https mismatch returns 403.