Skip to content
Start here

Get Internet Quality Index (IQI) time series

client.Radar.Quality.IQI.TimeseriesGroups(ctx, query) (*QualityIQITimeseriesGroupsResponse, error)
GET/radar/quality/iqi/timeseries_groups

Retrieves a time series (percentiles) of bandwidth, latency, or DNS response time from the Radar Internet Quality Index (IQI).

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 QualityIQITimeseriesGroupsParams

Defines which metric to return (bandwidth, latency, or DNS response time).

const QualityIQITimeseriesGroupsParamsMetricBandwidth QualityIQITimeseriesGroupsParamsMetric = "BANDWIDTH"
const QualityIQITimeseriesGroupsParamsMetricDNS QualityIQITimeseriesGroupsParamsMetric = "DNS"
const QualityIQITimeseriesGroupsParamsMetricLatency QualityIQITimeseriesGroupsParamsMetric = "LATENCY"
AggInterval param.Field[QualityIQITimeseriesGroupsParamsAggInterval]Optional

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

const QualityIQITimeseriesGroupsParamsAggInterval15m QualityIQITimeseriesGroupsParamsAggInterval = "15m"
const QualityIQITimeseriesGroupsParamsAggInterval1h QualityIQITimeseriesGroupsParamsAggInterval = "1h"
const QualityIQITimeseriesGroupsParamsAggInterval1d QualityIQITimeseriesGroupsParamsAggInterval = "1d"
const QualityIQITimeseriesGroupsParamsAggInterval1w QualityIQITimeseriesGroupsParamsAggInterval = "1w"
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[QualityIQITimeseriesGroupsParamsFormat]Optional

Format in which results will be returned.

const QualityIQITimeseriesGroupsParamsFormatJson QualityIQITimeseriesGroupsParamsFormat = "JSON"
const QualityIQITimeseriesGroupsParamsFormatCsv QualityIQITimeseriesGroupsParamsFormat = "CSV"
Interpolation param.Field[bool]Optional

Enables interpolation for all series (using the average).

Location param.Field[[]string]Optional

Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with - to exclude locations from results. For example, -US,PT excludes results from the US, but includes results from PT.

Name param.Field[[]string]Optional

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

ReturnsExpand Collapse
type QualityIQITimeseriesGroupsResponse struct{…}
Meta QualityIQITimeseriesGroupsResponseMeta

Metadata for the results.

AggInterval QualityIQITimeseriesGroupsResponseMetaAggInterval

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

One of the following:
const QualityIQITimeseriesGroupsResponseMetaAggIntervalFifteenMinutes QualityIQITimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"
const QualityIQITimeseriesGroupsResponseMetaAggIntervalOneHour QualityIQITimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"
const QualityIQITimeseriesGroupsResponseMetaAggIntervalOneDay QualityIQITimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"
const QualityIQITimeseriesGroupsResponseMetaAggIntervalOneWeek QualityIQITimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"
const QualityIQITimeseriesGroupsResponseMetaAggIntervalOneMonth QualityIQITimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"
ConfidenceInfo QualityIQITimeseriesGroupsResponseMetaConfidenceInfo
Annotations []QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotation
DataSource QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource

Data source for annotations.

One of the following:
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"
Description string
EndDate Time
formatdate-time
EventType QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType

Event type for annotations.

One of the following:
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"
const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "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 []QualityIQITimeseriesGroupsResponseMetaDateRange
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 QualityIQITimeseriesGroupsResponseMetaNormalization

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

One of the following:
const QualityIQITimeseriesGroupsResponseMetaNormalizationPercentage QualityIQITimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"
const QualityIQITimeseriesGroupsResponseMetaNormalizationMin0Max QualityIQITimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"
const QualityIQITimeseriesGroupsResponseMetaNormalizationMinMax QualityIQITimeseriesGroupsResponseMetaNormalization = "MIN_MAX"
const QualityIQITimeseriesGroupsResponseMetaNormalizationRawValues QualityIQITimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"
const QualityIQITimeseriesGroupsResponseMetaNormalizationPercentageChange QualityIQITimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"
const QualityIQITimeseriesGroupsResponseMetaNormalizationRollingAverage QualityIQITimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"
const QualityIQITimeseriesGroupsResponseMetaNormalizationOverlappedPercentage QualityIQITimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"
const QualityIQITimeseriesGroupsResponseMetaNormalizationRatio QualityIQITimeseriesGroupsResponseMetaNormalization = "RATIO"
Units []QualityIQITimeseriesGroupsResponseMetaUnit

Measurement units for the results.

Name string
Value string
Serie0 QualityIQITimeseriesGroupsResponseSerie0
Timestamps []Time

Get Internet Quality Index (IQI) time series

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.Quality.IQI.TimeseriesGroups(context.TODO(), radar.QualityIQITimeseriesGroupsParams{
    Metric: cloudflare.F(radar.QualityIQITimeseriesGroupsParamsMetricBandwidth),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Meta)
}
{
  "result": {
    "meta": {
      "aggInterval": "FIFTEEN_MINUTES",
      "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"
        }
      ]
    },
    "serie_0": {
      "timestamps": [
        "2023-08-08T10:15:00Z"
      ]
    }
  },
  "success": true
}
Returns Examples
{
  "result": {
    "meta": {
      "aggInterval": "FIFTEEN_MINUTES",
      "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"
        }
      ]
    },
    "serie_0": {
      "timestamps": [
        "2023-08-08T10:15:00Z"
      ]
    }
  },
  "success": true
}