Skip to content
Start here

Bots

List bots
client.radar.bots.list(BotListParams { botCategory, botOperator, botVerificationStatus, 4 more } query?, RequestOptionsoptions?): BotListResponse { bots }
GET/radar/bots
Get bot details
client.radar.bots.get(stringbotSlug, BotGetParams { format } query?, RequestOptionsoptions?): BotGetResponse { bot }
GET/radar/bots/{bot_slug}
Get bots HTTP requests distribution by dimension
client.radar.bots.summary("BOT" | "BOT_KIND" | "BOT_OPERATOR" | "BOT_CATEGORY"dimension, BotSummaryParams { asn, bot, botCategory, 11 more } query?, RequestOptionsoptions?): BotSummaryResponse { meta, summary_0 }
GET/radar/bots/summary/{dimension}
Get bots HTTP requests time series
client.radar.bots.timeseries(BotTimeseriesParams { aggInterval, asn, bot, 11 more } query?, RequestOptionsoptions?): BotTimeseriesResponse { meta }
GET/radar/bots/timeseries
Get time series distribution of bots HTTP requests by dimension.
client.radar.bots.timeseriesGroups("BOT" | "BOT_KIND" | "BOT_OPERATOR" | "BOT_CATEGORY"dimension, BotTimeseriesGroupsParams { aggInterval, asn, bot, 12 more } query?, RequestOptionsoptions?): BotTimeseriesGroupsResponse { meta, serie_0 }
GET/radar/bots/timeseries_groups/{dimension}
ModelsExpand Collapse
BotListResponse { bots }
bots: Array<Bot>
category: string

The category of the bot.

description: string

A summary for the bot (e.g., purpose).

kind: string

The kind of the bot.

name: string

The name of the bot.

operator: string

The organization that owns and operates the bot.

slug: string

A kebab-case identifier derived from the bot name.

userAgentPatterns: Array<string>
BotGetResponse { bot }
bot: Bot { category, description, kind, 6 more }
category: string

The category of the bot.

description: string

A summary for the bot (e.g., purpose).

kind: string

The kind of the bot.

name: string

The name of the bot.

operator: string

The organization that owns and operates the bot.

operatorUrl: string

The link to the bot documentation.

slug: string

A kebab-case identifier derived from the bot name.

userAgentPatterns: Array<string>
userAgents: Array<string>
BotSummaryResponse { meta, summary_0 }
meta: Meta { confidenceInfo, dateRange, lastUpdated, 2 more }

Metadata for the results.

confidenceInfo: ConfidenceInfo { annotations, level }
annotations: Array<Annotation>
dataSource: "ALL" | "AI_BOTS" | "AI_GATEWAY" | 22 more

Data source for annotations.

One of the following:
"ALL"
"AI_BOTS"
"AI_GATEWAY"
"BGP"
"BOTS"
"CONNECTION_ANOMALY"
"CT"
"DNS"
"DNS_MAGNITUDE"
"DNS_AS112"
"DOS"
"EMAIL_ROUTING"
"EMAIL_SECURITY"
"FW"
"FW_PG"
"HTTP"
"HTTP_CONTROL"
"HTTP_CRAWLER_REFERER"
"HTTP_ORIGINS"
"IQI"
"LEAKED_CREDENTIALS"
"NET"
"ROBOTS_TXT"
"SPEED"
"WORKERS_AI"
description: string
endDate: string
formatdate-time
eventType: "EVENT" | "GENERAL" | "OUTAGE" | 3 more

Event type for annotations.

One of the following:
"EVENT"
"GENERAL"
"OUTAGE"
"PARTIAL_PROJECTION"
"PIPELINE"
"TRAFFIC_ANOMALY"
isInstantaneous: boolean

Whether event is a single point in time or a time range.

linkedUrl: string
formaturi
startDate: string
formatdate-time
level: number

Provides an indication of how much confidence Cloudflare has in the data.

dateRange: Array<DateRange>
endTime: string

Adjusted end of date range.

formatdate-time
startTime: string

Adjusted start of date range.

formatdate-time
lastUpdated: string

Timestamp of the last dataset update.

formatdate-time
normalization: "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | 5 more

Normalization method applied to the results. Refer to Normalization methods.

One of the following:
"PERCENTAGE"
"MIN0_MAX"
"MIN_MAX"
"RAW_VALUES"
"PERCENTAGE_CHANGE"
"ROLLING_AVERAGE"
"OVERLAPPED_PERCENTAGE"
"RATIO"
units: Array<Unit>

Measurement units for the results.

name: string
value: string
summary_0: Record<string, string>
BotTimeseriesResponse { meta }
meta: Meta { aggInterval, confidenceInfo, dateRange, 3 more }

Metadata for the results.

aggInterval: "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | 2 more

Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to Aggregation intervals.

One of the following:
"FIFTEEN_MINUTES"
"ONE_HOUR"
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
confidenceInfo: ConfidenceInfo { annotations, level }
annotations: Array<Annotation>
dataSource: "ALL" | "AI_BOTS" | "AI_GATEWAY" | 22 more

Data source for annotations.

One of the following:
"ALL"
"AI_BOTS"
"AI_GATEWAY"
"BGP"
"BOTS"
"CONNECTION_ANOMALY"
"CT"
"DNS"
"DNS_MAGNITUDE"
"DNS_AS112"
"DOS"
"EMAIL_ROUTING"
"EMAIL_SECURITY"
"FW"
"FW_PG"
"HTTP"
"HTTP_CONTROL"
"HTTP_CRAWLER_REFERER"
"HTTP_ORIGINS"
"IQI"
"LEAKED_CREDENTIALS"
"NET"
"ROBOTS_TXT"
"SPEED"
"WORKERS_AI"
description: string
endDate: string
formatdate-time
eventType: "EVENT" | "GENERAL" | "OUTAGE" | 3 more

Event type for annotations.

One of the following:
"EVENT"
"GENERAL"
"OUTAGE"
"PARTIAL_PROJECTION"
"PIPELINE"
"TRAFFIC_ANOMALY"
isInstantaneous: boolean

Whether event is a single point in time or a time range.

linkedUrl: string
formaturi
startDate: string
formatdate-time
level: number

Provides an indication of how much confidence Cloudflare has in the data.

dateRange: Array<DateRange>
endTime: string

Adjusted end of date range.

formatdate-time
startTime: string

Adjusted start of date range.

formatdate-time
lastUpdated: string

Timestamp of the last dataset update.

formatdate-time
normalization: "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | 5 more

Normalization method applied to the results. Refer to Normalization methods.

One of the following:
"PERCENTAGE"
"MIN0_MAX"
"MIN_MAX"
"RAW_VALUES"
"PERCENTAGE_CHANGE"
"ROLLING_AVERAGE"
"OVERLAPPED_PERCENTAGE"
"RATIO"
units: Array<Unit>

Measurement units for the results.

name: string
value: string
BotTimeseriesGroupsResponse { meta, serie_0 }
meta: Meta { aggInterval, confidenceInfo, dateRange, 3 more }

Metadata for the results.

aggInterval: "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | 2 more

Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to Aggregation intervals.

One of the following:
"FIFTEEN_MINUTES"
"ONE_HOUR"
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
confidenceInfo: ConfidenceInfo { annotations, level }
annotations: Array<Annotation>
dataSource: "ALL" | "AI_BOTS" | "AI_GATEWAY" | 22 more

Data source for annotations.

One of the following:
"ALL"
"AI_BOTS"
"AI_GATEWAY"
"BGP"
"BOTS"
"CONNECTION_ANOMALY"
"CT"
"DNS"
"DNS_MAGNITUDE"
"DNS_AS112"
"DOS"
"EMAIL_ROUTING"
"EMAIL_SECURITY"
"FW"
"FW_PG"
"HTTP"
"HTTP_CONTROL"
"HTTP_CRAWLER_REFERER"
"HTTP_ORIGINS"
"IQI"
"LEAKED_CREDENTIALS"
"NET"
"ROBOTS_TXT"
"SPEED"
"WORKERS_AI"
description: string
endDate: string
formatdate-time
eventType: "EVENT" | "GENERAL" | "OUTAGE" | 3 more

Event type for annotations.

One of the following:
"EVENT"
"GENERAL"
"OUTAGE"
"PARTIAL_PROJECTION"
"PIPELINE"
"TRAFFIC_ANOMALY"
isInstantaneous: boolean

Whether event is a single point in time or a time range.

linkedUrl: string
formaturi
startDate: string
formatdate-time
level: number

Provides an indication of how much confidence Cloudflare has in the data.

dateRange: Array<DateRange>
endTime: string

Adjusted end of date range.

formatdate-time
startTime: string

Adjusted start of date range.

formatdate-time
lastUpdated: string

Timestamp of the last dataset update.

formatdate-time
normalization: "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | 5 more

Normalization method applied to the results. Refer to Normalization methods.

One of the following:
"PERCENTAGE"
"MIN0_MAX"
"MIN_MAX"
"RAW_VALUES"
"PERCENTAGE_CHANGE"
"ROLLING_AVERAGE"
"OVERLAPPED_PERCENTAGE"
"RATIO"
units: Array<Unit>

Measurement units for the results.

name: string
value: string
serie_0: Serie0 { timestamps }
timestamps: Array<string>

BotsWeb Crawlers

Get crawler HTTP request distribution by dimension
client.radar.bots.webCrawlers.summary("CLIENT_TYPE" | "USER_AGENT" | "REFERER" | 3 moredimension, WebCrawlerSummaryParams { botOperator, clientType, dateEnd, 7 more } query?, RequestOptionsoptions?): WebCrawlerSummaryResponse { meta, summary_0 }
GET/radar/bots/crawlers/summary/{dimension}
Get time series of crawler HTTP request distribution by dimension
client.radar.bots.webCrawlers.timeseriesGroups("CLIENT_TYPE" | "USER_AGENT" | "REFERER" | 3 moredimension, WebCrawlerTimeseriesGroupsParams { aggInterval, botOperator, clientType, 8 more } query?, RequestOptionsoptions?): WebCrawlerTimeseriesGroupsResponse { meta, serie_0 }
GET/radar/bots/crawlers/timeseries_groups/{dimension}
ModelsExpand Collapse
WebCrawlerSummaryResponse { meta, summary_0 }
meta: Meta { confidenceInfo, dateRange, lastUpdated, 2 more }

Metadata for the results.

confidenceInfo: ConfidenceInfo { annotations, level }
annotations: Array<Annotation>
dataSource: "ALL" | "AI_BOTS" | "AI_GATEWAY" | 22 more

Data source for annotations.

One of the following:
"ALL"
"AI_BOTS"
"AI_GATEWAY"
"BGP"
"BOTS"
"CONNECTION_ANOMALY"
"CT"
"DNS"
"DNS_MAGNITUDE"
"DNS_AS112"
"DOS"
"EMAIL_ROUTING"
"EMAIL_SECURITY"
"FW"
"FW_PG"
"HTTP"
"HTTP_CONTROL"
"HTTP_CRAWLER_REFERER"
"HTTP_ORIGINS"
"IQI"
"LEAKED_CREDENTIALS"
"NET"
"ROBOTS_TXT"
"SPEED"
"WORKERS_AI"
description: string
endDate: string
formatdate-time
eventType: "EVENT" | "GENERAL" | "OUTAGE" | 3 more

Event type for annotations.

One of the following:
"EVENT"
"GENERAL"
"OUTAGE"
"PARTIAL_PROJECTION"
"PIPELINE"
"TRAFFIC_ANOMALY"
isInstantaneous: boolean

Whether event is a single point in time or a time range.

linkedUrl: string
formaturi
startDate: string
formatdate-time
level: number

Provides an indication of how much confidence Cloudflare has in the data.

dateRange: Array<DateRange>
endTime: string

Adjusted end of date range.

formatdate-time
startTime: string

Adjusted start of date range.

formatdate-time
lastUpdated: string

Timestamp of the last dataset update.

formatdate-time
normalization: "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | 5 more

Normalization method applied to the results. Refer to Normalization methods.

One of the following:
"PERCENTAGE"
"MIN0_MAX"
"MIN_MAX"
"RAW_VALUES"
"PERCENTAGE_CHANGE"
"ROLLING_AVERAGE"
"OVERLAPPED_PERCENTAGE"
"RATIO"
units: Array<Unit>

Measurement units for the results.

name: string
value: string
summary_0: Record<string, string>
WebCrawlerTimeseriesGroupsResponse { meta, serie_0 }
meta: Meta { aggInterval, confidenceInfo, dateRange, 3 more }

Metadata for the results.

aggInterval: "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | 2 more

Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to Aggregation intervals.

One of the following:
"FIFTEEN_MINUTES"
"ONE_HOUR"
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
confidenceInfo: ConfidenceInfo { annotations, level }
annotations: Array<Annotation>
dataSource: "ALL" | "AI_BOTS" | "AI_GATEWAY" | 22 more

Data source for annotations.

One of the following:
"ALL"
"AI_BOTS"
"AI_GATEWAY"
"BGP"
"BOTS"
"CONNECTION_ANOMALY"
"CT"
"DNS"
"DNS_MAGNITUDE"
"DNS_AS112"
"DOS"
"EMAIL_ROUTING"
"EMAIL_SECURITY"
"FW"
"FW_PG"
"HTTP"
"HTTP_CONTROL"
"HTTP_CRAWLER_REFERER"
"HTTP_ORIGINS"
"IQI"
"LEAKED_CREDENTIALS"
"NET"
"ROBOTS_TXT"
"SPEED"
"WORKERS_AI"
description: string
endDate: string
formatdate-time
eventType: "EVENT" | "GENERAL" | "OUTAGE" | 3 more

Event type for annotations.

One of the following:
"EVENT"
"GENERAL"
"OUTAGE"
"PARTIAL_PROJECTION"
"PIPELINE"
"TRAFFIC_ANOMALY"
isInstantaneous: boolean

Whether event is a single point in time or a time range.

linkedUrl: string
formaturi
startDate: string
formatdate-time
level: number

Provides an indication of how much confidence Cloudflare has in the data.

dateRange: Array<DateRange>
endTime: string

Adjusted end of date range.

formatdate-time
startTime: string

Adjusted start of date range.

formatdate-time
lastUpdated: string

Timestamp of the last dataset update.

formatdate-time
normalization: "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | 5 more

Normalization method applied to the results. Refer to Normalization methods.

One of the following:
"PERCENTAGE"
"MIN0_MAX"
"MIN_MAX"
"RAW_VALUES"
"PERCENTAGE_CHANGE"
"ROLLING_AVERAGE"
"OVERLAPPED_PERCENTAGE"
"RATIO"
units: Array<Unit>

Measurement units for the results.

name: string
value: string
serie_0: Serie0 { timestamps }
timestamps: Array<string>