Use Google Search Console

After connecting a site, use tenant-scoped GSC endpoints to discover properties, inspect public URLs, query search analytics, verify sitemaps, and build release baselines.

Permissions: read operations require gsc.read; indexing submissions require gsc.submit. Every request includes a configured CrawlKit site_id.

Discover the property

curl "https://api.crawlkit.app/api/v1/gsc/properties?site_id=$SITE_ID" \
  -H "Authorization: Bearer $CRAWLKIT_API_KEY"

curl "https://api.crawlkit.app/api/v1/gsc/property?site_id=$SITE_ID" \
  -H "Authorization: Bearer $CRAWLKIT_API_KEY"

CrawlKit normalizes the configured site URL to its host and prefers a matching sc-domain: property, then HTTPS, www, and HTTP URL-prefix properties. The browser callback attempts this match automatically.

Inspect a canonical URL

curl -X POST https://api.crawlkit.app/api/v1/gsc/inspect \
  -H "Authorization: Bearer $CRAWLKIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"site_id\":\"$SITE_ID\",\"url\":\"https://example.com/important-page/\"}"

Use the canonical production URL when you want the submitted/indexed verdict. Inspection can return coverage, indexing state, fetch status, canonical selection, crawler, and last crawl time. Use /gsc/inspect/batch for up to 50 URLs or /gsc/inspect/analyze for issue analysis.

Query search analytics

curl -X POST https://api.crawlkit.app/api/v1/gsc/analytics \
  -H "Authorization: Bearer $CRAWLKIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "site_id":"YOUR_SITE_UUID",
    "start_date":"2026-06-01",
    "end_date":"2026-06-30",
    "dimensions":["query","page"],
    "row_limit":1000
  }'

Rows contain requested dimension keys plus clicks, impressions, CTR, and average position. Evaluate CTR and position alongside impression volume and query mix; one metric alone is not proof of improvement.

Verify sitemaps

curl "https://api.crawlkit.app/api/v1/gsc/sitemaps?site_id=$SITE_ID" \
  -H "Authorization: Bearer $CRAWLKIT_API_KEY"

The endpoint uses the stored GSC property URL, including domain properties such as sc-domain:example.com. Review submission time, processing status, errors, and warnings.

Get a seven-day snapshot

curl "https://api.crawlkit.app/api/v1/gsc/snapshot?site_id=$SITE_ID" \
  -H "Authorization: Bearer $CRAWLKIT_API_KEY"

The snapshot combines seven-day clicks, impressions, CTR, average position, and sitemap count. Use analytics dimensions for deeper diagnosis.

Indexing requests

curl -X POST https://api.crawlkit.app/api/v1/gsc/index \
  -H "Authorization: Bearer $CRAWLKIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"site_id\":\"$SITE_ID\",\"url\":\"https://example.com/eligible-page/\"}"

Google restricts the Indexing API to eligible content types. It is not a replacement for crawlable internal links, valid sitemaps, or normal discovery.

Recommended operating loop

  1. Capture a snapshot and analytics baseline.
  2. Inspect canonical URLs affected by the release.
  3. Check sitemap health.
  4. Make verified, policy-compliant changes.
  5. Recheck after Google recrawls.
  6. Record the measurement window and changed URLs with the release.

Send only public site URLs and aggregate search-performance dimensions. Never place patient data, private user data, or application secrets in GSC requests.

PreviousGSC Setup NextAuthorization Pattern