# Locations ## Get top locations by HTTP requests **get** `/radar/http/top/locations` Retrieves the top locations by HTTP requests. ### Query Parameters - `asn: optional array of 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. - `botClass: optional array of "LIKELY_AUTOMATED" or "LIKELY_HUMAN"` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `"LIKELY_AUTOMATED"` - `"LIKELY_HUMAN"` - `browserFamily: optional array of "CHROME" or "EDGE" or "FIREFOX" or "SAFARI"` Filters results by browser family. - `"CHROME"` - `"EDGE"` - `"FIREFOX"` - `"SAFARI"` - `continent: optional array of 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: optional array of string` End of the date range (inclusive). - `dateRange: optional array of 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: optional array of string` Start of the date range. - `deviceType: optional array of "DESKTOP" or "MOBILE" or "OTHER"` Filters results by device type. - `"DESKTOP"` - `"MOBILE"` - `"OTHER"` - `format: optional "JSON" or "CSV"` Format in which results will be returned. - `"JSON"` - `"CSV"` - `geoId: optional array of string` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `httpProtocol: optional array of "HTTP" or "HTTPS"` Filters results by HTTP protocol (HTTP vs. HTTPS). - `"HTTP"` - `"HTTPS"` - `httpVersion: optional array of "HTTPv1" or "HTTPv2" or "HTTPv3"` Filters results by HTTP version. - `"HTTPv1"` - `"HTTPv2"` - `"HTTPv3"` - `ipVersion: optional array of "IPv4" or "IPv6"` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit: optional number` Limits the number of objects returned in the response. - `location: optional array of 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: optional array of string` Array of names used to label the series in the response. - `os: optional array of "WINDOWS" or "MACOSX" or "IOS" or 4 more` Filters results by operating system. - `"WINDOWS"` - `"MACOSX"` - `"IOS"` - `"ANDROID"` - `"CHROMEOS"` - `"LINUX"` - `"SMART_TV"` - `tlsVersion: optional array of "TLSv1_0" or "TLSv1_1" or "TLSv1_2" or 2 more` Filters results by TLS version. - `"TLSv1_0"` - `"TLSv1_1"` - `"TLSv1_2"` - `"TLSv1_3"` - `"TLSvQUIC"` ### Returns - `result: { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. - `success: boolean` ### Example ```http curl https://api.cloudflare.com/client/v4/radar/http/top/locations \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` ## Domain Types ### Location Get Response - `LocationGetResponse { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. # Bot Class ## Get top locations by HTTP requests for a bot class **get** `/radar/http/top/locations/bot_class/{bot_class}` Retrieves the top locations, by HTTP requests, of the requested bot class. ### Path Parameters - `bot_class: "LIKELY_AUTOMATED" or "LIKELY_HUMAN"` Bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `"LIKELY_AUTOMATED"` - `"LIKELY_HUMAN"` ### Query Parameters - `asn: optional array of 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. - `browserFamily: optional array of "CHROME" or "EDGE" or "FIREFOX" or "SAFARI"` Filters results by browser family. - `"CHROME"` - `"EDGE"` - `"FIREFOX"` - `"SAFARI"` - `continent: optional array of 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: optional array of string` End of the date range (inclusive). - `dateRange: optional array of 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: optional array of string` Start of the date range. - `deviceType: optional array of "DESKTOP" or "MOBILE" or "OTHER"` Filters results by device type. - `"DESKTOP"` - `"MOBILE"` - `"OTHER"` - `format: optional "JSON" or "CSV"` Format in which results will be returned. - `"JSON"` - `"CSV"` - `geoId: optional array of string` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `httpProtocol: optional array of "HTTP" or "HTTPS"` Filters results by HTTP protocol (HTTP vs. HTTPS). - `"HTTP"` - `"HTTPS"` - `httpVersion: optional array of "HTTPv1" or "HTTPv2" or "HTTPv3"` Filters results by HTTP version. - `"HTTPv1"` - `"HTTPv2"` - `"HTTPv3"` - `ipVersion: optional array of "IPv4" or "IPv6"` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit: optional number` Limits the number of objects returned in the response. - `location: optional array of 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: optional array of string` Array of names used to label the series in the response. - `os: optional array of "WINDOWS" or "MACOSX" or "IOS" or 4 more` Filters results by operating system. - `"WINDOWS"` - `"MACOSX"` - `"IOS"` - `"ANDROID"` - `"CHROMEOS"` - `"LINUX"` - `"SMART_TV"` - `tlsVersion: optional array of "TLSv1_0" or "TLSv1_1" or "TLSv1_2" or 2 more` Filters results by TLS version. - `"TLSv1_0"` - `"TLSv1_1"` - `"TLSv1_2"` - `"TLSv1_3"` - `"TLSvQUIC"` ### Returns - `result: { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. - `success: boolean` ### Example ```http curl https://api.cloudflare.com/client/v4/radar/http/top/locations/bot_class/$BOT_CLASS \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` ## Domain Types ### Bot Class Get Response - `BotClassGetResponse { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. # Device Type ## Get top locations by HTTP requests for a device type **get** `/radar/http/top/locations/device_type/{device_type}` Retrieves the top locations, by HTTP requests, of the requested device type. ### Path Parameters - `device_type: "DESKTOP" or "MOBILE" or "OTHER"` Device type. - `"DESKTOP"` - `"MOBILE"` - `"OTHER"` ### Query Parameters - `asn: optional array of 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. - `botClass: optional array of "LIKELY_AUTOMATED" or "LIKELY_HUMAN"` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `"LIKELY_AUTOMATED"` - `"LIKELY_HUMAN"` - `browserFamily: optional array of "CHROME" or "EDGE" or "FIREFOX" or "SAFARI"` Filters results by browser family. - `"CHROME"` - `"EDGE"` - `"FIREFOX"` - `"SAFARI"` - `continent: optional array of 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: optional array of string` End of the date range (inclusive). - `dateRange: optional array of 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: optional array of string` Start of the date range. - `format: optional "JSON" or "CSV"` Format in which results will be returned. - `"JSON"` - `"CSV"` - `geoId: optional array of string` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `httpProtocol: optional array of "HTTP" or "HTTPS"` Filters results by HTTP protocol (HTTP vs. HTTPS). - `"HTTP"` - `"HTTPS"` - `httpVersion: optional array of "HTTPv1" or "HTTPv2" or "HTTPv3"` Filters results by HTTP version. - `"HTTPv1"` - `"HTTPv2"` - `"HTTPv3"` - `ipVersion: optional array of "IPv4" or "IPv6"` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit: optional number` Limits the number of objects returned in the response. - `location: optional array of 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: optional array of string` Array of names used to label the series in the response. - `os: optional array of "WINDOWS" or "MACOSX" or "IOS" or 4 more` Filters results by operating system. - `"WINDOWS"` - `"MACOSX"` - `"IOS"` - `"ANDROID"` - `"CHROMEOS"` - `"LINUX"` - `"SMART_TV"` - `tlsVersion: optional array of "TLSv1_0" or "TLSv1_1" or "TLSv1_2" or 2 more` Filters results by TLS version. - `"TLSv1_0"` - `"TLSv1_1"` - `"TLSv1_2"` - `"TLSv1_3"` - `"TLSvQUIC"` ### Returns - `result: { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. - `success: boolean` ### Example ```http curl https://api.cloudflare.com/client/v4/radar/http/top/locations/device_type/$DEVICE_TYPE \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` ## Domain Types ### Device Type Get Response - `DeviceTypeGetResponse { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. # HTTP Protocol ## Get top locations by HTTP requests for an HTTP protocol **get** `/radar/http/top/locations/http_protocol/{http_protocol}` Retrieves the top locations, by HTTP requests, of the requested HTTP protocol. ### Path Parameters - `http_protocol: "HTTP" or "HTTPS"` HTTP protocol (HTTP vs. HTTPS). - `"HTTP"` - `"HTTPS"` ### Query Parameters - `asn: optional array of 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. - `botClass: optional array of "LIKELY_AUTOMATED" or "LIKELY_HUMAN"` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `"LIKELY_AUTOMATED"` - `"LIKELY_HUMAN"` - `browserFamily: optional array of "CHROME" or "EDGE" or "FIREFOX" or "SAFARI"` Filters results by browser family. - `"CHROME"` - `"EDGE"` - `"FIREFOX"` - `"SAFARI"` - `continent: optional array of 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: optional array of string` End of the date range (inclusive). - `dateRange: optional array of 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: optional array of string` Start of the date range. - `deviceType: optional array of "DESKTOP" or "MOBILE" or "OTHER"` Filters results by device type. - `"DESKTOP"` - `"MOBILE"` - `"OTHER"` - `format: optional "JSON" or "CSV"` Format in which results will be returned. - `"JSON"` - `"CSV"` - `geoId: optional array of string` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `httpVersion: optional array of "HTTPv1" or "HTTPv2" or "HTTPv3"` Filters results by HTTP version. - `"HTTPv1"` - `"HTTPv2"` - `"HTTPv3"` - `ipVersion: optional array of "IPv4" or "IPv6"` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit: optional number` Limits the number of objects returned in the response. - `location: optional array of 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: optional array of string` Array of names used to label the series in the response. - `os: optional array of "WINDOWS" or "MACOSX" or "IOS" or 4 more` Filters results by operating system. - `"WINDOWS"` - `"MACOSX"` - `"IOS"` - `"ANDROID"` - `"CHROMEOS"` - `"LINUX"` - `"SMART_TV"` - `tlsVersion: optional array of "TLSv1_0" or "TLSv1_1" or "TLSv1_2" or 2 more` Filters results by TLS version. - `"TLSv1_0"` - `"TLSv1_1"` - `"TLSv1_2"` - `"TLSv1_3"` - `"TLSvQUIC"` ### Returns - `result: { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. - `success: boolean` ### Example ```http curl https://api.cloudflare.com/client/v4/radar/http/top/locations/http_protocol/$HTTP_PROTOCOL \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` ## Domain Types ### HTTP Protocol Get Response - `HTTPProtocolGetResponse { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. # HTTP Method ## Get top locations by HTTP requests for an HTTP version **get** `/radar/http/top/locations/http_version/{http_version}` Retrieves the top locations, by HTTP requests, of the requested HTTP version. ### Path Parameters - `http_version: "HTTPv1" or "HTTPv2" or "HTTPv3"` HTTP version. - `"HTTPv1"` - `"HTTPv2"` - `"HTTPv3"` ### Query Parameters - `asn: optional array of 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. - `botClass: optional array of "LIKELY_AUTOMATED" or "LIKELY_HUMAN"` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `"LIKELY_AUTOMATED"` - `"LIKELY_HUMAN"` - `browserFamily: optional array of "CHROME" or "EDGE" or "FIREFOX" or "SAFARI"` Filters results by browser family. - `"CHROME"` - `"EDGE"` - `"FIREFOX"` - `"SAFARI"` - `continent: optional array of 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: optional array of string` End of the date range (inclusive). - `dateRange: optional array of 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: optional array of string` Start of the date range. - `deviceType: optional array of "DESKTOP" or "MOBILE" or "OTHER"` Filters results by device type. - `"DESKTOP"` - `"MOBILE"` - `"OTHER"` - `format: optional "JSON" or "CSV"` Format in which results will be returned. - `"JSON"` - `"CSV"` - `geoId: optional array of string` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `httpProtocol: optional array of "HTTP" or "HTTPS"` Filters results by HTTP protocol (HTTP vs. HTTPS). - `"HTTP"` - `"HTTPS"` - `ipVersion: optional array of "IPv4" or "IPv6"` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit: optional number` Limits the number of objects returned in the response. - `location: optional array of 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: optional array of string` Array of names used to label the series in the response. - `os: optional array of "WINDOWS" or "MACOSX" or "IOS" or 4 more` Filters results by operating system. - `"WINDOWS"` - `"MACOSX"` - `"IOS"` - `"ANDROID"` - `"CHROMEOS"` - `"LINUX"` - `"SMART_TV"` - `tlsVersion: optional array of "TLSv1_0" or "TLSv1_1" or "TLSv1_2" or 2 more` Filters results by TLS version. - `"TLSv1_0"` - `"TLSv1_1"` - `"TLSv1_2"` - `"TLSv1_3"` - `"TLSvQUIC"` ### Returns - `result: { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. - `success: boolean` ### Example ```http curl https://api.cloudflare.com/client/v4/radar/http/top/locations/http_version/$HTTP_VERSION \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` ## Domain Types ### HTTP Method Get Response - `HTTPMethodGetResponse { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. # IP Version ## Get top locations by HTTP requests for an IP version **get** `/radar/http/top/locations/ip_version/{ip_version}` Retrieves the top locations, by HTTP requests, of the requested IP version. ### Path Parameters - `ip_version: "IPv4" or "IPv6"` IP version. - `"IPv4"` - `"IPv6"` ### Query Parameters - `asn: optional array of 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. - `botClass: optional array of "LIKELY_AUTOMATED" or "LIKELY_HUMAN"` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `"LIKELY_AUTOMATED"` - `"LIKELY_HUMAN"` - `browserFamily: optional array of "CHROME" or "EDGE" or "FIREFOX" or "SAFARI"` Filters results by browser family. - `"CHROME"` - `"EDGE"` - `"FIREFOX"` - `"SAFARI"` - `continent: optional array of 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: optional array of string` End of the date range (inclusive). - `dateRange: optional array of 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: optional array of string` Start of the date range. - `deviceType: optional array of "DESKTOP" or "MOBILE" or "OTHER"` Filters results by device type. - `"DESKTOP"` - `"MOBILE"` - `"OTHER"` - `format: optional "JSON" or "CSV"` Format in which results will be returned. - `"JSON"` - `"CSV"` - `geoId: optional array of string` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `httpProtocol: optional array of "HTTP" or "HTTPS"` Filters results by HTTP protocol (HTTP vs. HTTPS). - `"HTTP"` - `"HTTPS"` - `httpVersion: optional array of "HTTPv1" or "HTTPv2" or "HTTPv3"` Filters results by HTTP version. - `"HTTPv1"` - `"HTTPv2"` - `"HTTPv3"` - `limit: optional number` Limits the number of objects returned in the response. - `location: optional array of 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: optional array of string` Array of names used to label the series in the response. - `os: optional array of "WINDOWS" or "MACOSX" or "IOS" or 4 more` Filters results by operating system. - `"WINDOWS"` - `"MACOSX"` - `"IOS"` - `"ANDROID"` - `"CHROMEOS"` - `"LINUX"` - `"SMART_TV"` - `tlsVersion: optional array of "TLSv1_0" or "TLSv1_1" or "TLSv1_2" or 2 more` Filters results by TLS version. - `"TLSv1_0"` - `"TLSv1_1"` - `"TLSv1_2"` - `"TLSv1_3"` - `"TLSvQUIC"` ### Returns - `result: { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. - `success: boolean` ### Example ```http curl https://api.cloudflare.com/client/v4/radar/http/top/locations/ip_version/$IP_VERSION \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` ## Domain Types ### IP Version Get Response - `IPVersionGetResponse { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. # OS ## Get top locations by HTTP requests for an OS **get** `/radar/http/top/locations/os/{os}` Retrieves the top locations, by HTTP requests, of the requested operating system. ### Path Parameters - `os: "WINDOWS" or "MACOSX" or "IOS" or 4 more` Operating system. - `"WINDOWS"` - `"MACOSX"` - `"IOS"` - `"ANDROID"` - `"CHROMEOS"` - `"LINUX"` - `"SMART_TV"` ### Query Parameters - `asn: optional array of 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. - `botClass: optional array of "LIKELY_AUTOMATED" or "LIKELY_HUMAN"` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `"LIKELY_AUTOMATED"` - `"LIKELY_HUMAN"` - `browserFamily: optional array of "CHROME" or "EDGE" or "FIREFOX" or "SAFARI"` Filters results by browser family. - `"CHROME"` - `"EDGE"` - `"FIREFOX"` - `"SAFARI"` - `continent: optional array of 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: optional array of string` End of the date range (inclusive). - `dateRange: optional array of 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: optional array of string` Start of the date range. - `deviceType: optional array of "DESKTOP" or "MOBILE" or "OTHER"` Filters results by device type. - `"DESKTOP"` - `"MOBILE"` - `"OTHER"` - `format: optional "JSON" or "CSV"` Format in which results will be returned. - `"JSON"` - `"CSV"` - `geoId: optional array of string` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `httpProtocol: optional array of "HTTP" or "HTTPS"` Filters results by HTTP protocol (HTTP vs. HTTPS). - `"HTTP"` - `"HTTPS"` - `httpVersion: optional array of "HTTPv1" or "HTTPv2" or "HTTPv3"` Filters results by HTTP version. - `"HTTPv1"` - `"HTTPv2"` - `"HTTPv3"` - `ipVersion: optional array of "IPv4" or "IPv6"` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit: optional number` Limits the number of objects returned in the response. - `location: optional array of 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: optional array of string` Array of names used to label the series in the response. - `tlsVersion: optional array of "TLSv1_0" or "TLSv1_1" or "TLSv1_2" or 2 more` Filters results by TLS version. - `"TLSv1_0"` - `"TLSv1_1"` - `"TLSv1_2"` - `"TLSv1_3"` - `"TLSvQUIC"` ### Returns - `result: { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. - `success: boolean` ### Example ```http curl https://api.cloudflare.com/client/v4/radar/http/top/locations/os/$OS \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` ## Domain Types ### OS Get Response - `OSGetResponse { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. # TLS Version ## Get top locations by HTTP requests for a TLS version **get** `/radar/http/top/locations/tls_version/{tls_version}` Retrieves the top locations, by HTTP requests, of the requested TLS protocol version. ### Path Parameters - `tls_version: "TLSv1_0" or "TLSv1_1" or "TLSv1_2" or 2 more` TLS version. - `"TLSv1_0"` - `"TLSv1_1"` - `"TLSv1_2"` - `"TLSv1_3"` - `"TLSvQUIC"` ### Query Parameters - `asn: optional array of 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. - `botClass: optional array of "LIKELY_AUTOMATED" or "LIKELY_HUMAN"` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `"LIKELY_AUTOMATED"` - `"LIKELY_HUMAN"` - `browserFamily: optional array of "CHROME" or "EDGE" or "FIREFOX" or "SAFARI"` Filters results by browser family. - `"CHROME"` - `"EDGE"` - `"FIREFOX"` - `"SAFARI"` - `continent: optional array of 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: optional array of string` End of the date range (inclusive). - `dateRange: optional array of 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: optional array of string` Start of the date range. - `deviceType: optional array of "DESKTOP" or "MOBILE" or "OTHER"` Filters results by device type. - `"DESKTOP"` - `"MOBILE"` - `"OTHER"` - `format: optional "JSON" or "CSV"` Format in which results will be returned. - `"JSON"` - `"CSV"` - `geoId: optional array of string` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `httpProtocol: optional array of "HTTP" or "HTTPS"` Filters results by HTTP protocol (HTTP vs. HTTPS). - `"HTTP"` - `"HTTPS"` - `httpVersion: optional array of "HTTPv1" or "HTTPv2" or "HTTPv3"` Filters results by HTTP version. - `"HTTPv1"` - `"HTTPv2"` - `"HTTPv3"` - `ipVersion: optional array of "IPv4" or "IPv6"` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit: optional number` Limits the number of objects returned in the response. - `location: optional array of 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: optional array of string` Array of names used to label the series in the response. - `os: optional array of "WINDOWS" or "MACOSX" or "IOS" or 4 more` Filters results by operating system. - `"WINDOWS"` - `"MACOSX"` - `"IOS"` - `"ANDROID"` - `"CHROMEOS"` - `"LINUX"` - `"SMART_TV"` ### Returns - `result: { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. - `success: boolean` ### Example ```http curl https://api.cloudflare.com/client/v4/radar/http/top/locations/tls_version/$TLS_VERSION \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` ## Domain Types ### TLS Version Get Response - `TLSVersionGetResponse { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. # Browser Family ## Get top locations by HTTP requests for a browser family **get** `/radar/http/top/locations/browser_family/{browser_family}` Retrieves the top locations, by HTTP requests, of the requested browser family. ### Path Parameters - `browser_family: "CHROME" or "EDGE" or "FIREFOX" or "SAFARI"` Browser family. - `"CHROME"` - `"EDGE"` - `"FIREFOX"` - `"SAFARI"` ### Query Parameters - `asn: optional array of 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. - `botClass: optional array of "LIKELY_AUTOMATED" or "LIKELY_HUMAN"` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `"LIKELY_AUTOMATED"` - `"LIKELY_HUMAN"` - `continent: optional array of 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: optional array of string` End of the date range (inclusive). - `dateRange: optional array of 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: optional array of string` Start of the date range. - `deviceType: optional array of "DESKTOP" or "MOBILE" or "OTHER"` Filters results by device type. - `"DESKTOP"` - `"MOBILE"` - `"OTHER"` - `format: optional "JSON" or "CSV"` Format in which results will be returned. - `"JSON"` - `"CSV"` - `geoId: optional array of string` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `httpProtocol: optional array of "HTTP" or "HTTPS"` Filters results by HTTP protocol (HTTP vs. HTTPS). - `"HTTP"` - `"HTTPS"` - `httpVersion: optional array of "HTTPv1" or "HTTPv2" or "HTTPv3"` Filters results by HTTP version. - `"HTTPv1"` - `"HTTPv2"` - `"HTTPv3"` - `ipVersion: optional array of "IPv4" or "IPv6"` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit: optional number` Limits the number of objects returned in the response. - `location: optional array of 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: optional array of string` Array of names used to label the series in the response. - `os: optional array of "WINDOWS" or "MACOSX" or "IOS" or 4 more` Filters results by operating system. - `"WINDOWS"` - `"MACOSX"` - `"IOS"` - `"ANDROID"` - `"CHROMEOS"` - `"LINUX"` - `"SMART_TV"` - `tlsVersion: optional array of "TLSv1_0" or "TLSv1_1" or "TLSv1_2" or 2 more` Filters results by TLS version. - `"TLSv1_0"` - `"TLSv1_1"` - `"TLSv1_2"` - `"TLSv1_3"` - `"TLSvQUIC"` ### Returns - `result: { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string. - `success: boolean` ### Example ```http curl https://api.cloudflare.com/client/v4/radar/http/top/locations/browser_family/$BROWSER_FAMILY \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` ## Domain Types ### Browser Family Get Response - `BrowserFamilyGetResponse { meta, top_0 }` - `meta: { confidenceInfo, dateRange, lastUpdated, 2 more }` Metadata for the results. - `confidenceInfo: { annotations, level }` - `annotations: array of { dataSource, description, endDate, 4 more }` - `dataSource: "ALL" or "AI_BOTS" or "AI_GATEWAY" or 22 more` Data source for annotations. - `"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` - `eventType: "EVENT" or "GENERAL" or "OUTAGE" or 3 more` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `isInstantaneous: boolean` Whether event is a single point in time or a time range. - `linkedUrl: string` - `startDate: string` - `level: number` Provides an indication of how much confidence Cloudflare has in the data. - `dateRange: array of { endTime, startTime }` - `endTime: string` Adjusted end of date range. - `startTime: string` Adjusted start of date range. - `lastUpdated: string` Timestamp of the last dataset update. - `normalization: "PERCENTAGE" or "MIN0_MAX" or "MIN_MAX" or 5 more` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: array of { name, value }` Measurement units for the results. - `name: string` - `value: string` - `top_0: array of { clientCountryAlpha2, clientCountryName, value }` - `clientCountryAlpha2: string` - `clientCountryName: string` - `value: string` A numeric string.