# Robots TXT # Top ## Get top domain categories by robots.txt files parsed `client.Radar.RobotsTXT.Top.DomainCategories(ctx, query) (*RobotsTXTTopDomainCategoriesResponse, error)` **get** `/radar/robots_txt/top/domain_categories` Retrieves the top domain categories by the number of robots.txt files parsed. ### Parameters - `query RobotsTXTTopDomainCategoriesParams` - `Date param.Field[[]Time]` Filters results by the specified array of dates. - `Format param.Field[RobotsTXTTopDomainCategoriesParamsFormat]` Format in which results will be returned. - `const RobotsTXTTopDomainCategoriesParamsFormatJson RobotsTXTTopDomainCategoriesParamsFormat = "JSON"` - `const RobotsTXTTopDomainCategoriesParamsFormatCsv RobotsTXTTopDomainCategoriesParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `UserAgentCategory param.Field[RobotsTXTTopDomainCategoriesParamsUserAgentCategory]` Filters results by user agent category. - `const RobotsTXTTopDomainCategoriesParamsUserAgentCategoryAI RobotsTXTTopDomainCategoriesParamsUserAgentCategory = "AI"` ### Returns - `type RobotsTXTTopDomainCategoriesResponse struct{…}` - `Meta RobotsTXTTopDomainCategoriesResponseMeta` Metadata for the results. - `ConfidenceInfo RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfo` - `Annotations []RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotation` - `DataSource RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceAll RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceBots RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceCT RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDos RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceFw RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceNet RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "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 []RobotsTXTTopDomainCategoriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization RobotsTXTTopDomainCategoriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationPercentage RobotsTXTTopDomainCategoriesResponseMetaNormalization = "PERCENTAGE"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationMin0Max RobotsTXTTopDomainCategoriesResponseMetaNormalization = "MIN0_MAX"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationMinMax RobotsTXTTopDomainCategoriesResponseMetaNormalization = "MIN_MAX"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationRawValues RobotsTXTTopDomainCategoriesResponseMetaNormalization = "RAW_VALUES"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationPercentageChange RobotsTXTTopDomainCategoriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationRollingAverage RobotsTXTTopDomainCategoriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationOverlappedPercentage RobotsTXTTopDomainCategoriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationRatio RobotsTXTTopDomainCategoriesResponseMetaNormalization = "RATIO"` - `Units []RobotsTXTTopDomainCategoriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []RobotsTXTTopDomainCategoriesResponseTop0` - `Name string` - `Value int64` ### 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.RobotsTXT.Top.DomainCategories(context.TODO(), radar.RobotsTXTTopDomainCategoriesParams{ }) 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" } ] }, "top_0": [ { "name": "News & Media", "value": 273 } ] }, "success": true } ``` # User Agents ## Get top user agents on robots.txt files `client.Radar.RobotsTXT.Top.UserAgents.Directive(ctx, query) (*RobotsTXTTopUserAgentDirectiveResponse, error)` **get** `/radar/robots_txt/top/user_agents/directive` Retrieves the top user agents on robots.txt files. ### Parameters - `query RobotsTXTTopUserAgentDirectiveParams` - `Date param.Field[[]Time]` Filters results by the specified array of dates. - `Directive param.Field[RobotsTXTTopUserAgentDirectiveParamsDirective]` Filters results by robots.txt directive. - `const RobotsTXTTopUserAgentDirectiveParamsDirectiveAllow RobotsTXTTopUserAgentDirectiveParamsDirective = "ALLOW"` - `const RobotsTXTTopUserAgentDirectiveParamsDirectiveDisallow RobotsTXTTopUserAgentDirectiveParamsDirective = "DISALLOW"` - `DomainCategory param.Field[[]string]` Filters results by domain category. - `Format param.Field[RobotsTXTTopUserAgentDirectiveParamsFormat]` Format in which results will be returned. - `const RobotsTXTTopUserAgentDirectiveParamsFormatJson RobotsTXTTopUserAgentDirectiveParamsFormat = "JSON"` - `const RobotsTXTTopUserAgentDirectiveParamsFormatCsv RobotsTXTTopUserAgentDirectiveParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `UserAgentCategory param.Field[RobotsTXTTopUserAgentDirectiveParamsUserAgentCategory]` Filters results by user agent category. - `const RobotsTXTTopUserAgentDirectiveParamsUserAgentCategoryAI RobotsTXTTopUserAgentDirectiveParamsUserAgentCategory = "AI"` ### Returns - `type RobotsTXTTopUserAgentDirectiveResponse struct{…}` - `Meta RobotsTXTTopUserAgentDirectiveResponseMeta` Metadata for the results. - `ConfidenceInfo RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfo` - `Annotations []RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotation` - `DataSource RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceAll RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceAIBots RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceBGP RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceBots RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceCT RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceDNS RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceDos RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceFw RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceFwPg RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceHTTP RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceIQI RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceNet RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceSpeed RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypeEvent RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypeGeneral RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypeOutage RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypePipeline RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "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 []RobotsTXTTopUserAgentDirectiveResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization RobotsTXTTopUserAgentDirectiveResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationPercentage RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "PERCENTAGE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationMin0Max RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "MIN0_MAX"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationMinMax RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "MIN_MAX"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationRawValues RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "RAW_VALUES"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationPercentageChange RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationRollingAverage RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "ROLLING_AVERAGE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationOverlappedPercentage RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationRatio RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "RATIO"` - `Units []RobotsTXTTopUserAgentDirectiveResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []RobotsTXTTopUserAgentDirectiveResponseTop0` - `Name string` - `Value int64` - `Fully int64` - `Partially int64` ### 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.RobotsTXT.Top.UserAgents.Directive(context.TODO(), radar.RobotsTXTTopUserAgentDirectiveParams{ }) 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" } ] }, "top_0": [ { "name": "GPTBot", "value": 273, "fully": 235, "partially": 38 } ] }, "success": true } ```