## Get bots HTTP requests distribution by dimension `client.Radar.Bots.Summary(ctx, dimension, query) (*BotSummaryResponse, error)` **get** `/radar/bots/summary/{dimension}` Retrieves an aggregated summary of bots HTTP requests grouped by the specified dimension. ### Parameters - `dimension BotSummaryParamsDimension` Specifies the attribute by which to group the results. - `const BotSummaryParamsDimensionBot BotSummaryParamsDimension = "BOT"` - `const BotSummaryParamsDimensionBotKind BotSummaryParamsDimension = "BOT_KIND"` - `const BotSummaryParamsDimensionBotOperator BotSummaryParamsDimension = "BOT_OPERATOR"` - `const BotSummaryParamsDimensionBotCategory BotSummaryParamsDimension = "BOT_CATEGORY"` - `query BotSummaryParams` - `ASN param.Field[[]string]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `Bot param.Field[[]string]` Filters results by bot name. - `BotCategory param.Field[[]BotSummaryParamsBotCategory]` Filters results by bot category. - `const BotSummaryParamsBotCategorySearchEngineCrawler BotSummaryParamsBotCategory = "SEARCH_ENGINE_CRAWLER"` - `const BotSummaryParamsBotCategorySearchEngineOptimization BotSummaryParamsBotCategory = "SEARCH_ENGINE_OPTIMIZATION"` - `const BotSummaryParamsBotCategoryMonitoringAndAnalytics BotSummaryParamsBotCategory = "MONITORING_AND_ANALYTICS"` - `const BotSummaryParamsBotCategoryAdvertisingAndMarketing BotSummaryParamsBotCategory = "ADVERTISING_AND_MARKETING"` - `const BotSummaryParamsBotCategorySocialMediaMarketing BotSummaryParamsBotCategory = "SOCIAL_MEDIA_MARKETING"` - `const BotSummaryParamsBotCategoryPagePreview BotSummaryParamsBotCategory = "PAGE_PREVIEW"` - `const BotSummaryParamsBotCategoryAcademicResearch BotSummaryParamsBotCategory = "ACADEMIC_RESEARCH"` - `const BotSummaryParamsBotCategorySecurity BotSummaryParamsBotCategory = "SECURITY"` - `const BotSummaryParamsBotCategoryAccessibility BotSummaryParamsBotCategory = "ACCESSIBILITY"` - `const BotSummaryParamsBotCategoryWebhooks BotSummaryParamsBotCategory = "WEBHOOKS"` - `const BotSummaryParamsBotCategoryFeedFetcher BotSummaryParamsBotCategory = "FEED_FETCHER"` - `const BotSummaryParamsBotCategoryAICrawler BotSummaryParamsBotCategory = "AI_CRAWLER"` - `const BotSummaryParamsBotCategoryAggregator BotSummaryParamsBotCategory = "AGGREGATOR"` - `const BotSummaryParamsBotCategoryAIAssistant BotSummaryParamsBotCategory = "AI_ASSISTANT"` - `const BotSummaryParamsBotCategoryAISearch BotSummaryParamsBotCategory = "AI_SEARCH"` - `const BotSummaryParamsBotCategoryArchiver BotSummaryParamsBotCategory = "ARCHIVER"` - `BotKind param.Field[[]BotSummaryParamsBotKind]` Filters results by bot kind. - `const BotSummaryParamsBotKindAgent BotSummaryParamsBotKind = "AGENT"` - `const BotSummaryParamsBotKindBot BotSummaryParamsBotKind = "BOT"` - `BotOperator param.Field[[]string]` Filters results by bot operator. - `BotVerificationStatus param.Field[[]BotSummaryParamsBotVerificationStatus]` Filters results by bot verification status (Verified vs. Unverified). - `const BotSummaryParamsBotVerificationStatusVerified BotSummaryParamsBotVerificationStatus = "VERIFIED"` - `Continent param.Field[[]string]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[BotSummaryParamsFormat]` Format in which results will be returned. - `const BotSummaryParamsFormatJson BotSummaryParamsFormat = "JSON"` - `const BotSummaryParamsFormatCsv BotSummaryParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` Limits the number of objects per group to the top items within the specified time range. When item count exceeds the limit, extra items appear grouped under an "other" category. - `Location param.Field[[]string]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type BotSummaryResponse struct{…}` - `Meta BotSummaryResponseMeta` Metadata for the results. - `ConfidenceInfo BotSummaryResponseMetaConfidenceInfo` - `Annotations []BotSummaryResponseMetaConfidenceInfoAnnotation` - `DataSource BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType BotSummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []BotSummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization BotSummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const BotSummaryResponseMetaNormalizationPercentage BotSummaryResponseMetaNormalization = "PERCENTAGE"` - `const BotSummaryResponseMetaNormalizationMin0Max BotSummaryResponseMetaNormalization = "MIN0_MAX"` - `const BotSummaryResponseMetaNormalizationMinMax BotSummaryResponseMetaNormalization = "MIN_MAX"` - `const BotSummaryResponseMetaNormalizationRawValues BotSummaryResponseMetaNormalization = "RAW_VALUES"` - `const BotSummaryResponseMetaNormalizationPercentageChange BotSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const BotSummaryResponseMetaNormalizationRollingAverage BotSummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const BotSummaryResponseMetaNormalizationOverlappedPercentage BotSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const BotSummaryResponseMetaNormalizationRatio BotSummaryResponseMetaNormalization = "RATIO"` - `Units []BotSummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Bots.Summary( context.TODO(), radar.BotSummaryParamsDimensionBot, radar.BotSummaryParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "Facebook": "10.274394", "GPTBot": "63.40249", "GoogleBot": "8.381743" } }, "success": true } ```