← AI Crawl Control / ai-crawl-control / reference
GraphQL API
Аналитика 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: [...] |
Фильтр по Detection ID. Надёжно верифицировано Cloudflare. | Bot Management |
Примеры запросов
Получение запросов ИИ-краулеров в динамике с использованием ID обнаружения
{
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
{
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
}
}
}
}
}Получение данных о реферальном трафике от ИИ
{
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
}
}
}
}
}См. также
- Справочник по ботам, идентификаторы обнаружения и заголовки User-Agent
- GraphQL Analytics API, полная документация по API