Skip to content
Start here

Get top origin locations of layer 7 attacks

client.Radar.Attacks.Layer7.Top.Locations.Origin(ctx, query) (*AttackLayer7TopLocationOriginResponse, error)
GET/radar/attacks/layer7/top/locations/origin

Retrieves the top origin locations of layer 7 attacks. Values are percentages of the total layer 7 attacks, with the origin location determined by the client IP address.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
User Details WriteUser Details Read
ParametersExpand Collapse
query AttackLayer7TopLocationOriginParams
ASN param.Field[[]string]Optional

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.

Continent param.Field[[]string]Optional

Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with - to exclude continents from results. For example, -EU,NA excludes results from EU, but includes results from NA.

DateEnd param.Field[[]Time]Optional

End of the date range (inclusive).

DateRange param.Field[[]string]Optional

Filters results by date range. For example, use 7d and 7dcontrol to compare this week with the previous week. Use this parameter or set specific start and end dates (dateStart and dateEnd parameters).

DateStart param.Field[[]Time]Optional

Start of the date range.

Format param.Field[AttackLayer7TopLocationOriginParamsFormat]Optional

Format in which results will be returned.

const AttackLayer7TopLocationOriginParamsFormatJson AttackLayer7TopLocationOriginParamsFormat = "JSON"
const AttackLayer7TopLocationOriginParamsFormatCsv AttackLayer7TopLocationOriginParamsFormat = "CSV"
HTTPMethod param.Field[[]AttackLayer7TopLocationOriginParamsHTTPMethod]Optional

Filters results by HTTP method.

const AttackLayer7TopLocationOriginParamsHTTPMethodGet AttackLayer7TopLocationOriginParamsHTTPMethod = "GET"
const AttackLayer7TopLocationOriginParamsHTTPMethodPost AttackLayer7TopLocationOriginParamsHTTPMethod = "POST"
const AttackLayer7TopLocationOriginParamsHTTPMethodDelete AttackLayer7TopLocationOriginParamsHTTPMethod = "DELETE"
const AttackLayer7TopLocationOriginParamsHTTPMethodPut AttackLayer7TopLocationOriginParamsHTTPMethod = "PUT"
const AttackLayer7TopLocationOriginParamsHTTPMethodHead AttackLayer7TopLocationOriginParamsHTTPMethod = "HEAD"
const AttackLayer7TopLocationOriginParamsHTTPMethodPurge AttackLayer7TopLocationOriginParamsHTTPMethod = "PURGE"
const AttackLayer7TopLocationOriginParamsHTTPMethodOptions AttackLayer7TopLocationOriginParamsHTTPMethod = "OPTIONS"
const AttackLayer7TopLocationOriginParamsHTTPMethodPropfind AttackLayer7TopLocationOriginParamsHTTPMethod = "PROPFIND"
const AttackLayer7TopLocationOriginParamsHTTPMethodMkcol AttackLayer7TopLocationOriginParamsHTTPMethod = "MKCOL"
const AttackLayer7TopLocationOriginParamsHTTPMethodPatch AttackLayer7TopLocationOriginParamsHTTPMethod = "PATCH"
const AttackLayer7TopLocationOriginParamsHTTPMethodACL AttackLayer7TopLocationOriginParamsHTTPMethod = "ACL"
const AttackLayer7TopLocationOriginParamsHTTPMethodBcopy AttackLayer7TopLocationOriginParamsHTTPMethod = "BCOPY"
const AttackLayer7TopLocationOriginParamsHTTPMethodBdelete AttackLayer7TopLocationOriginParamsHTTPMethod = "BDELETE"
const AttackLayer7TopLocationOriginParamsHTTPMethodBmove AttackLayer7TopLocationOriginParamsHTTPMethod = "BMOVE"
const AttackLayer7TopLocationOriginParamsHTTPMethodBpropfind AttackLayer7TopLocationOriginParamsHTTPMethod = "BPROPFIND"
const AttackLayer7TopLocationOriginParamsHTTPMethodBproppatch AttackLayer7TopLocationOriginParamsHTTPMethod = "BPROPPATCH"
const AttackLayer7TopLocationOriginParamsHTTPMethodCheckin AttackLayer7TopLocationOriginParamsHTTPMethod = "CHECKIN"
const AttackLayer7TopLocationOriginParamsHTTPMethodCheckout AttackLayer7TopLocationOriginParamsHTTPMethod = "CHECKOUT"
const AttackLayer7TopLocationOriginParamsHTTPMethodConnect AttackLayer7TopLocationOriginParamsHTTPMethod = "CONNECT"
const AttackLayer7TopLocationOriginParamsHTTPMethodCopy AttackLayer7TopLocationOriginParamsHTTPMethod = "COPY"
const AttackLayer7TopLocationOriginParamsHTTPMethodLabel AttackLayer7TopLocationOriginParamsHTTPMethod = "LABEL"
const AttackLayer7TopLocationOriginParamsHTTPMethodLock AttackLayer7TopLocationOriginParamsHTTPMethod = "LOCK"
const AttackLayer7TopLocationOriginParamsHTTPMethodMerge AttackLayer7TopLocationOriginParamsHTTPMethod = "MERGE"
const AttackLayer7TopLocationOriginParamsHTTPMethodMkactivity AttackLayer7TopLocationOriginParamsHTTPMethod = "MKACTIVITY"
const AttackLayer7TopLocationOriginParamsHTTPMethodMkworkspace AttackLayer7TopLocationOriginParamsHTTPMethod = "MKWORKSPACE"
const AttackLayer7TopLocationOriginParamsHTTPMethodMove AttackLayer7TopLocationOriginParamsHTTPMethod = "MOVE"
const AttackLayer7TopLocationOriginParamsHTTPMethodNotify AttackLayer7TopLocationOriginParamsHTTPMethod = "NOTIFY"
const AttackLayer7TopLocationOriginParamsHTTPMethodOrderpatch AttackLayer7TopLocationOriginParamsHTTPMethod = "ORDERPATCH"
const AttackLayer7TopLocationOriginParamsHTTPMethodPoll AttackLayer7TopLocationOriginParamsHTTPMethod = "POLL"
const AttackLayer7TopLocationOriginParamsHTTPMethodProppatch AttackLayer7TopLocationOriginParamsHTTPMethod = "PROPPATCH"
const AttackLayer7TopLocationOriginParamsHTTPMethodReport AttackLayer7TopLocationOriginParamsHTTPMethod = "REPORT"
const AttackLayer7TopLocationOriginParamsHTTPMethodSearch AttackLayer7TopLocationOriginParamsHTTPMethod = "SEARCH"
const AttackLayer7TopLocationOriginParamsHTTPMethodSubscribe AttackLayer7TopLocationOriginParamsHTTPMethod = "SUBSCRIBE"
const AttackLayer7TopLocationOriginParamsHTTPMethodTrace AttackLayer7TopLocationOriginParamsHTTPMethod = "TRACE"
const AttackLayer7TopLocationOriginParamsHTTPMethodUncheckout AttackLayer7TopLocationOriginParamsHTTPMethod = "UNCHECKOUT"
const AttackLayer7TopLocationOriginParamsHTTPMethodUnlock AttackLayer7TopLocationOriginParamsHTTPMethod = "UNLOCK"
const AttackLayer7TopLocationOriginParamsHTTPMethodUnsubscribe AttackLayer7TopLocationOriginParamsHTTPMethod = "UNSUBSCRIBE"
const AttackLayer7TopLocationOriginParamsHTTPMethodUpdate AttackLayer7TopLocationOriginParamsHTTPMethod = "UPDATE"
const AttackLayer7TopLocationOriginParamsHTTPMethodVersioncontrol AttackLayer7TopLocationOriginParamsHTTPMethod = "VERSIONCONTROL"
const AttackLayer7TopLocationOriginParamsHTTPMethodBaselinecontrol AttackLayer7TopLocationOriginParamsHTTPMethod = "BASELINECONTROL"
const AttackLayer7TopLocationOriginParamsHTTPMethodXmsenumatts AttackLayer7TopLocationOriginParamsHTTPMethod = "XMSENUMATTS"
const AttackLayer7TopLocationOriginParamsHTTPMethodRpcOutData AttackLayer7TopLocationOriginParamsHTTPMethod = "RPC_OUT_DATA"
const AttackLayer7TopLocationOriginParamsHTTPMethodRpcInData AttackLayer7TopLocationOriginParamsHTTPMethod = "RPC_IN_DATA"
const AttackLayer7TopLocationOriginParamsHTTPMethodJson AttackLayer7TopLocationOriginParamsHTTPMethod = "JSON"
const AttackLayer7TopLocationOriginParamsHTTPMethodCook AttackLayer7TopLocationOriginParamsHTTPMethod = "COOK"
const AttackLayer7TopLocationOriginParamsHTTPMethodTrack AttackLayer7TopLocationOriginParamsHTTPMethod = "TRACK"
HTTPVersion param.Field[[]AttackLayer7TopLocationOriginParamsHTTPVersion]Optional

Filters results by HTTP version.

const AttackLayer7TopLocationOriginParamsHTTPVersionHttPv1 AttackLayer7TopLocationOriginParamsHTTPVersion = "HTTPv1"
const AttackLayer7TopLocationOriginParamsHTTPVersionHttPv2 AttackLayer7TopLocationOriginParamsHTTPVersion = "HTTPv2"
const AttackLayer7TopLocationOriginParamsHTTPVersionHttPv3 AttackLayer7TopLocationOriginParamsHTTPVersion = "HTTPv3"
IPVersion param.Field[[]AttackLayer7TopLocationOriginParamsIPVersion]Optional

Filters results by IP version (Ipv4 vs. IPv6).

const AttackLayer7TopLocationOriginParamsIPVersionIPv4 AttackLayer7TopLocationOriginParamsIPVersion = "IPv4"
const AttackLayer7TopLocationOriginParamsIPVersionIPv6 AttackLayer7TopLocationOriginParamsIPVersion = "IPv6"
Limit param.Field[int64]Optional

Limits the number of objects returned in the response.

exclusiveMinimum
minimum0
MitigationProduct param.Field[[]AttackLayer7TopLocationOriginParamsMitigationProduct]Optional

Filters the results by layer 7 mitigation product.

const AttackLayer7TopLocationOriginParamsMitigationProductDDoS AttackLayer7TopLocationOriginParamsMitigationProduct = "DDOS"
const AttackLayer7TopLocationOriginParamsMitigationProductWAF AttackLayer7TopLocationOriginParamsMitigationProduct = "WAF"
const AttackLayer7TopLocationOriginParamsMitigationProductBotManagement AttackLayer7TopLocationOriginParamsMitigationProduct = "BOT_MANAGEMENT"
const AttackLayer7TopLocationOriginParamsMitigationProductAccessRules AttackLayer7TopLocationOriginParamsMitigationProduct = "ACCESS_RULES"
const AttackLayer7TopLocationOriginParamsMitigationProductIPReputation AttackLayer7TopLocationOriginParamsMitigationProduct = "IP_REPUTATION"
const AttackLayer7TopLocationOriginParamsMitigationProductAPIShield AttackLayer7TopLocationOriginParamsMitigationProduct = "API_SHIELD"
const AttackLayer7TopLocationOriginParamsMitigationProductDataLossPrevention AttackLayer7TopLocationOriginParamsMitigationProduct = "DATA_LOSS_PREVENTION"
Name param.Field[[]string]Optional

Array of names used to label the series in the response.

ReturnsExpand Collapse
type AttackLayer7TopLocationOriginResponse struct{…}
Meta AttackLayer7TopLocationOriginResponseMeta

Metadata for the results.

ConfidenceInfo AttackLayer7TopLocationOriginResponseMetaConfidenceInfo
Annotations []AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotation
DataSource AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource

Data source for annotations.

One of the following:
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "CT"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "FW"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "NET"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"
Description string
EndDate Time
formatdate-time
EventType AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType

Event type for annotations.

One of the following:
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"
const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"
IsInstantaneous bool

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

LinkedURL string
formaturi
StartDate Time
formatdate-time
Tags []stringOptional
Level int64

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

DateRange []AttackLayer7TopLocationOriginResponseMetaDateRange
EndTime Time

Adjusted end of date range.

formatdate-time
StartTime Time

Adjusted start of date range.

formatdate-time
LastUpdated Time

Timestamp of the last dataset update.

formatdate-time
Normalization AttackLayer7TopLocationOriginResponseMetaNormalization

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

One of the following:
const AttackLayer7TopLocationOriginResponseMetaNormalizationPercentage AttackLayer7TopLocationOriginResponseMetaNormalization = "PERCENTAGE"
const AttackLayer7TopLocationOriginResponseMetaNormalizationMin0Max AttackLayer7TopLocationOriginResponseMetaNormalization = "MIN0_MAX"
const AttackLayer7TopLocationOriginResponseMetaNormalizationMinMax AttackLayer7TopLocationOriginResponseMetaNormalization = "MIN_MAX"
const AttackLayer7TopLocationOriginResponseMetaNormalizationRawValues AttackLayer7TopLocationOriginResponseMetaNormalization = "RAW_VALUES"
const AttackLayer7TopLocationOriginResponseMetaNormalizationPercentageChange AttackLayer7TopLocationOriginResponseMetaNormalization = "PERCENTAGE_CHANGE"
const AttackLayer7TopLocationOriginResponseMetaNormalizationRollingAverage AttackLayer7TopLocationOriginResponseMetaNormalization = "ROLLING_AVERAGE"
const AttackLayer7TopLocationOriginResponseMetaNormalizationOverlappedPercentage AttackLayer7TopLocationOriginResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"
const AttackLayer7TopLocationOriginResponseMetaNormalizationRatio AttackLayer7TopLocationOriginResponseMetaNormalization = "RATIO"
Units []AttackLayer7TopLocationOriginResponseMetaUnit

Measurement units for the results.

Name string
Value string
Top0 []AttackLayer7TopLocationOriginResponseTop0
OriginCountryAlpha2 string
OriginCountryName string
Rank float64
Value string

Get top origin locations of layer 7 attacks

package main

import (
  "context"
  "fmt"

  "github.com/stainless-sdks/cloudflare-go"
  "github.com/stainless-sdks/cloudflare-go/option"
  "github.com/stainless-sdks/cloudflare-go/radar"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  response, err := client.Radar.Attacks.Layer7.Top.Locations.Origin(context.TODO(), radar.AttackLayer7TopLocationOriginParams{

  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Meta)
}
{
  "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",
            "tags": [
              "BOT_CLASS"
            ]
          }
        ],
        "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": [
      {
        "originCountryAlpha2": "FR",
        "originCountryName": "France",
        "rank": 1,
        "value": "4.323214"
      }
    ]
  },
  "success": true
}
Returns Examples
{
  "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",
            "tags": [
              "BOT_CLASS"
            ]
          }
        ],
        "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": [
      {
        "originCountryAlpha2": "FR",
        "originCountryName": "France",
        "rank": 1,
        "value": "4.323214"
      }
    ]
  },
  "success": true
}