INTEGRITY Dokumentace

GraphQL API

Analytika AI Crawl Control je dostupná prostřednictvím Cloudflare GraphQL Analytics API. Stejná data zobrazená na dashboardu můžete dotazovat a vytvářet z nich vlastní přehledy, integrovat je s monitorovacími systémy nebo je exportovat k analýze. Otestujte dotazy pomocí GraphQL API Explorer ↗, nebo zachyťte přesné dotazy, které dashboard používá, pomocí Chrome DevTools.

Klíčové filtry

Filtr Popis Dostupnost
requestSource: "eyeball" Pouze skutečné požadavky klientů. Nezahrnuje interní provoz Cloudflare. Všechny plány
userAgent_like: "%...%" Filtrovat podle user agent. Lze podvrhnout. Všechny plány
edgeResponseStatus_geq / _lt Filtrujte podle rozsahu stavových kódů HTTP. Všechny plány
clientRequestPath_like: "%...%" Filtrujte podle vzoru cesty URL. Všechny plány
clientRefererHost_like: "%...%" Filtrovat podle doména referreru. Pouze placené plány
botDetectionIds_hasany: [...] Filtrovat podle ID detekcí. Spolehlivě ověřeno Cloudflare. Bot Management

Příklady dotazů

Získání požadavků AI prohledávačů v čase podle ID detekce

{
	viewer {
		zones(filter: { zoneTag: "<ZONE_ID>" }) {
			httpRequestsAdaptiveGroups(
				filter: {
					datetime_geq: "2027-01-01T00:00:00Z"
					datetime_leq: "2027-01-02T00:00:00Z"
					requestSource: "eyeball"
					# 123815556 = GPTBot, 132995013 = ChatGPT-User, 126255384 = OAI-SearchBot
					botDetectionIds_hasany: [123815556, 132995013, 126255384]
				}
				limit: 5000
			) {
				count
				dimensions {
					datetimeHour
					botDetectionIds
					clientRequestHTTPHost
				}
				sum {
					edgeResponseBytes
				}
			}
		}
	}
}

Získání požadavků AI prohledávačů v čase podle user agenta

{
	viewer {
		zones(filter: { zoneTag: "<ZONE_ID>" }) {
			httpRequestsAdaptiveGroups(
				filter: {
					datetime_geq: "2027-01-01T00:00:00Z"
					datetime_leq: "2027-01-02T00:00:00Z"
					requestSource: "eyeball"
					userAgent_like: "%GPTBot%"
				}
				limit: 5000
			) {
				count
				dimensions {
					datetimeHour
					userAgent
					clientRequestHTTPHost
				}
				sum {
					edgeResponseBytes
				}
			}
		}
	}
}

Získání nejčastěji prohledávaných cest

{
	viewer {
		zones(filter: { zoneTag: "<ZONE_ID>" }) {
			httpRequestsAdaptiveGroups(
				filter: {
					datetime_geq: "2027-01-01T00:00:00Z"
					datetime_leq: "2027-01-02T00:00:00Z"
					requestSource: "eyeball"
					edgeResponseStatus_geq: 200
					edgeResponseStatus_lt: 400
					userAgent_like: "%GPTBot%"
				}
				limit: 5000
				orderBy: [count_DESC]
			) {
				count
				dimensions {
					clientRequestPath
					clientRequestHTTPHost
				}
			}
		}
	}
}

Získání návštěvnosti odkazované AI

{
	viewer {
		zones(filter: { zoneTag: "<ZONE_ID>" }) {
			httpRequestsAdaptiveGroups(
				filter: {
					datetime_geq: "2027-01-01T00:00:00Z"
					datetime_leq: "2027-01-02T00:00:00Z"
					requestSource: "eyeball"
					OR: [
						{ clientRefererHost_like: "%.chatgpt.com%" }
						{ clientRefererHost: "chatgpt.com" }
						{ clientRefererHost_like: "%.perplexity.ai%" }
						{ clientRefererHost: "perplexity.ai" }
					]
				}
				limit: 5000
				orderBy: [count_DESC]
			) {
				count
				dimensions {
					datetimeHour
					clientRefererHost
				}
			}
		}
	}
}

Získání přenosu dat podle prohledávače

{
	viewer {
		zones(filter: { zoneTag: "<ZONE_ID>" }) {
			httpRequestsAdaptiveGroups(
				filter: {
					datetime_geq: "2027-01-01T00:00:00Z"
					datetime_leq: "2027-01-02T00:00:00Z"
					requestSource: "eyeball"
					userAgent_like: "%GPTBot%"
				}
				limit: 5000
				orderBy: [sum_edgeResponseBytes_DESC]
			) {
				count
				dimensions {
					userAgent
				}
				sum {
					edgeResponseBytes
				}
			}
		}
	}
}