跳转到内容
搜索文档

GraphQL API

最后更新 查看 MarkdownAgent 设置

AI Crawl Control 分析数据可以通过 Cloudflare 的 GraphQL Analytics API 获取。您可以查询与仪表板中显示的相同数据,以构建自定义报告、与监控系统集成或导出以进行分析。使用 GraphQL API Explorer 测试查询,或通过 Chrome DevTools 获取仪表板使用的确切查询。

关键筛选器

筛选器 描述 可用性
requestSource: "eyeball" 仅限真实客户端请求。排除 Cloudflare 内部流量。 所有计划
userAgent_like: "%...%" User Agent 进行筛选。可能被伪造。 所有计划
edgeResponseStatus_geq / _lt 按 HTTP 状态码范围进行筛选。 所有计划
clientRequestPath_like: "%...%" 按 URL 路径模式进行筛选。 所有计划
clientRefererHost_like: "%...%" 引流域名 进行筛选。 仅限付费计划
botDetectionIds_hasany: [...] 检测 ID 进行筛选。由 Cloudflare 可靠地进行验证。 Bot Management

查询示例

使用检测 ID 获取随时间推移的 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"
					# 123815556 = GPTBot, 132995013 = ChatGPT-User, 126255384 = OAI-SearchBot
					botDetectionIds_hasany: [123815556, 132995013, 126255384]
				}
				limit: 5000
			) {
				count
				dimensions {
					datetimeHour
					botDetectionIds
					clientRequestHTTPHost
				}
				sum {
					edgeResponseBytes
				}
			}
		}
	}
}

使用 User Agent 获取随时间推移的 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"
					userAgent_like: "%GPTBot%"
				}
				limit: 5000
			) {
				count
				dimensions {
					datetimeHour
					userAgent
					clientRequestHTTPHost
				}
				sum {
					edgeResponseBytes
				}
			}
		}
	}
}

获取被爬取最多的路径

{
	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
				}
			}
		}
	}
}

获取 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
				}
			}
		}
	}
}

按爬虫获取数据传输量

{
	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
				}
			}
		}
	}
}

相关

这篇文档对您有帮助吗?