Skip to content
Start here

Get HTTP requests time series

client.Radar.HTTP.Timeseries(ctx, query) (*HTTPTimeseriesResponse, error)
GET/radar/http/timeseries

Retrieves the HTTP requests over time.

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 HTTPTimeseriesParams
AggInterval param.Field[HTTPTimeseriesParamsAggInterval]Optional

Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to Aggregation intervals. When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected.

const HTTPTimeseriesParamsAggInterval15m HTTPTimeseriesParamsAggInterval = "15m"
const HTTPTimeseriesParamsAggInterval1h HTTPTimeseriesParamsAggInterval = "1h"
const HTTPTimeseriesParamsAggInterval1d HTTPTimeseriesParamsAggInterval = "1d"
const HTTPTimeseriesParamsAggInterval1w HTTPTimeseriesParamsAggInterval = "1w"
APITraffic param.Field[[]HTTPTimeseriesParamsAPITraffic]Optional

Filters results by API traffic classification. API traffic is identified by JSON or XML response content types on dynamic (non-cacheable) HTTP requests. Incompatible with the browserFamily, deviceType, httpProtocol, httpVersion, ipVersion, os, and tlsVersion filters/dimensions. When set, results can only be further filtered by location, continent, or Autonomous System.

const HTTPTimeseriesParamsAPITrafficAPI HTTPTimeseriesParamsAPITraffic = "API"
const HTTPTimeseriesParamsAPITrafficNonAPI HTTPTimeseriesParamsAPITraffic = "NON_API"
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.

BotClass param.Field[[]HTTPTimeseriesParamsBotClass]Optional

Filters results by bot class. Refer to Bot classes.

const HTTPTimeseriesParamsBotClassLikelyAutomated HTTPTimeseriesParamsBotClass = "LIKELY_AUTOMATED"
const HTTPTimeseriesParamsBotClassLikelyHuman HTTPTimeseriesParamsBotClass = "LIKELY_HUMAN"
BrowserFamily param.Field[[]HTTPTimeseriesParamsBrowserFamily]Optional

Filters results by browser family.

const HTTPTimeseriesParamsBrowserFamilyChrome HTTPTimeseriesParamsBrowserFamily = "CHROME"
const HTTPTimeseriesParamsBrowserFamilyEdge HTTPTimeseriesParamsBrowserFamily = "EDGE"
const HTTPTimeseriesParamsBrowserFamilyFirefox HTTPTimeseriesParamsBrowserFamily = "FIREFOX"
const HTTPTimeseriesParamsBrowserFamilySafari HTTPTimeseriesParamsBrowserFamily = "SAFARI"
ContentType param.Field[[]HTTPTimeseriesParamsContentType]Optional

Filters results by content type category. When set, results can only be further filtered by location, continent, or Autonomous System.

const HTTPTimeseriesParamsContentTypeHTML HTTPTimeseriesParamsContentType = "HTML"
const HTTPTimeseriesParamsContentTypeImages HTTPTimeseriesParamsContentType = "IMAGES"
const HTTPTimeseriesParamsContentTypeJson HTTPTimeseriesParamsContentType = "JSON"
const HTTPTimeseriesParamsContentTypeJavascript HTTPTimeseriesParamsContentType = "JAVASCRIPT"
const HTTPTimeseriesParamsContentTypeCSS HTTPTimeseriesParamsContentType = "CSS"
const HTTPTimeseriesParamsContentTypePlainText HTTPTimeseriesParamsContentType = "PLAIN_TEXT"
const HTTPTimeseriesParamsContentTypeFonts HTTPTimeseriesParamsContentType = "FONTS"
const HTTPTimeseriesParamsContentTypeXml HTTPTimeseriesParamsContentType = "XML"
const HTTPTimeseriesParamsContentTypeYaml HTTPTimeseriesParamsContentType = "YAML"
const HTTPTimeseriesParamsContentTypeVideo HTTPTimeseriesParamsContentType = "VIDEO"
const HTTPTimeseriesParamsContentTypeAudio HTTPTimeseriesParamsContentType = "AUDIO"
const HTTPTimeseriesParamsContentTypeMarkdown HTTPTimeseriesParamsContentType = "MARKDOWN"
const HTTPTimeseriesParamsContentTypeDocuments HTTPTimeseriesParamsContentType = "DOCUMENTS"
const HTTPTimeseriesParamsContentTypeBinary HTTPTimeseriesParamsContentType = "BINARY"
const HTTPTimeseriesParamsContentTypeSerialization HTTPTimeseriesParamsContentType = "SERIALIZATION"
const HTTPTimeseriesParamsContentTypeOther HTTPTimeseriesParamsContentType = "OTHER"
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). Alternative to dateRange; provide together with dateStart. When requesting comparison series, every series must resolve to the same duration as the main series. Each dateStart/dateEnd is floored to the nearest 15 minutes before evaluation, so windows whose durations match only before alignment may be rejected.

DateRange param.Field[[]string]Optional

Filters results by relative date range ending at the current time, with each value producing a separate series. Use <n>d for days (up to 364d) or <n>w for weeks (up to 52w). Append control to request the equivalent previous period for comparison: the comparison window is shifted back by the current window’s length rounded up to a whole number of weeks, so it keeps the same weekday alignment and does not overlap the current window (e.g. 7dcontrol covers days -14 to -7, 10dcontrol covers days -24 to -14). For example, pass 7d and 7dcontrol to compare this week with the previous week. All series must resolve to the same duration as the main series; relative ranges (including control) satisfy this automatically. Use this parameter or set specific start and end dates (dateStart and dateEnd parameters).

DateStart param.Field[[]Time]Optional

Start of the date range. Alternative to dateRange; provide together with dateEnd. When requesting comparison series, every series must resolve to the same duration as the main series. Each dateStart/dateEnd is floored to the nearest 15 minutes before evaluation, so windows whose durations match only before alignment may be rejected.

DeviceType param.Field[[]HTTPTimeseriesParamsDeviceType]Optional

Filters results by device type.

const HTTPTimeseriesParamsDeviceTypeDesktop HTTPTimeseriesParamsDeviceType = "DESKTOP"
const HTTPTimeseriesParamsDeviceTypeMobile HTTPTimeseriesParamsDeviceType = "MOBILE"
const HTTPTimeseriesParamsDeviceTypeOther HTTPTimeseriesParamsDeviceType = "OTHER"
Format param.Field[HTTPTimeseriesParamsFormat]Optional

Format in which results will be returned.

const HTTPTimeseriesParamsFormatJson HTTPTimeseriesParamsFormat = "JSON"
const HTTPTimeseriesParamsFormatCsv HTTPTimeseriesParamsFormat = "CSV"
GeoID param.Field[[]string]Optional

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 param.Field[[]HTTPTimeseriesParamsHTTPProtocol]Optional

Filters results by HTTP protocol (HTTP vs. HTTPS).

const HTTPTimeseriesParamsHTTPProtocolHTTP HTTPTimeseriesParamsHTTPProtocol = "HTTP"
const HTTPTimeseriesParamsHTTPProtocolHTTPS HTTPTimeseriesParamsHTTPProtocol = "HTTPS"
HTTPVersion param.Field[[]HTTPTimeseriesParamsHTTPVersion]Optional

Filters results by HTTP version.

const HTTPTimeseriesParamsHTTPVersionHttPv1 HTTPTimeseriesParamsHTTPVersion = "HTTPv1"
const HTTPTimeseriesParamsHTTPVersionHttPv2 HTTPTimeseriesParamsHTTPVersion = "HTTPv2"
const HTTPTimeseriesParamsHTTPVersionHttPv3 HTTPTimeseriesParamsHTTPVersion = "HTTPv3"
IPVersion param.Field[[]HTTPTimeseriesParamsIPVersion]Optional

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

const HTTPTimeseriesParamsIPVersionIPv4 HTTPTimeseriesParamsIPVersion = "IPv4"
const HTTPTimeseriesParamsIPVersionIPv6 HTTPTimeseriesParamsIPVersion = "IPv6"
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.

Normalization param.Field[HTTPTimeseriesParamsNormalization]Optional

Normalization method applied to the results. Refer to Normalization methods. PERCENTAGE_CHANGE requires exactly one comparison series (e.g. a control date range).

const HTTPTimeseriesParamsNormalizationPercentageChange HTTPTimeseriesParamsNormalization = "PERCENTAGE_CHANGE"
const HTTPTimeseriesParamsNormalizationMin0Max HTTPTimeseriesParamsNormalization = "MIN0_MAX"
OS param.Field[[]HTTPTimeseriesParamsOS]Optional

Filters results by operating system.

const HTTPTimeseriesParamsOSWindows HTTPTimeseriesParamsOS = "WINDOWS"
const HTTPTimeseriesParamsOSMacosx HTTPTimeseriesParamsOS = "MACOSX"
const HTTPTimeseriesParamsOSIos HTTPTimeseriesParamsOS = "IOS"
const HTTPTimeseriesParamsOSAndroid HTTPTimeseriesParamsOS = "ANDROID"
const HTTPTimeseriesParamsOSChromeos HTTPTimeseriesParamsOS = "CHROMEOS"
const HTTPTimeseriesParamsOSLinux HTTPTimeseriesParamsOS = "LINUX"
const HTTPTimeseriesParamsOSSmartTv HTTPTimeseriesParamsOS = "SMART_TV"
TLSVersion param.Field[[]HTTPTimeseriesParamsTLSVersion]Optional

Filters results by TLS version.

const HTTPTimeseriesParamsTLSVersionTlSv1_0 HTTPTimeseriesParamsTLSVersion = "TLSv1_0"
const HTTPTimeseriesParamsTLSVersionTlSv1_1 HTTPTimeseriesParamsTLSVersion = "TLSv1_1"
const HTTPTimeseriesParamsTLSVersionTlSv1_2 HTTPTimeseriesParamsTLSVersion = "TLSv1_2"
const HTTPTimeseriesParamsTLSVersionTlSv1_3 HTTPTimeseriesParamsTLSVersion = "TLSv1_3"
const HTTPTimeseriesParamsTLSVersionTlSvQuic HTTPTimeseriesParamsTLSVersion = "TLSvQUIC"
ReturnsExpand Collapse
type HTTPTimeseriesResponse struct{…}
Meta HTTPTimeseriesResponseMeta

Metadata for the results.

AggInterval HTTPTimeseriesResponseMetaAggInterval

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

One of the following:
const HTTPTimeseriesResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"
const HTTPTimeseriesResponseMetaAggIntervalOneHour HTTPTimeseriesResponseMetaAggInterval = "ONE_HOUR"
const HTTPTimeseriesResponseMetaAggIntervalOneDay HTTPTimeseriesResponseMetaAggInterval = "ONE_DAY"
const HTTPTimeseriesResponseMetaAggIntervalOneWeek HTTPTimeseriesResponseMetaAggInterval = "ONE_WEEK"
const HTTPTimeseriesResponseMetaAggIntervalOneMonth HTTPTimeseriesResponseMetaAggInterval = "ONE_MONTH"
ConfidenceInfo HTTPTimeseriesResponseMetaConfidenceInfo
Annotations []HTTPTimeseriesResponseMetaConfidenceInfoAnnotation
DataSource HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource

Data source for annotations.

One of the following:
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"
Description string
EndDate Time
formatdate-time
EventType HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType

Event type for annotations.

One of the following:
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"
const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "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 []HTTPTimeseriesResponseMetaDateRange
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 HTTPTimeseriesResponseMetaNormalization

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

One of the following:
const HTTPTimeseriesResponseMetaNormalizationPercentage HTTPTimeseriesResponseMetaNormalization = "PERCENTAGE"
const HTTPTimeseriesResponseMetaNormalizationMin0Max HTTPTimeseriesResponseMetaNormalization = "MIN0_MAX"
const HTTPTimeseriesResponseMetaNormalizationMinMax HTTPTimeseriesResponseMetaNormalization = "MIN_MAX"
const HTTPTimeseriesResponseMetaNormalizationRawValues HTTPTimeseriesResponseMetaNormalization = "RAW_VALUES"
const HTTPTimeseriesResponseMetaNormalizationPercentageChange HTTPTimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"
const HTTPTimeseriesResponseMetaNormalizationRollingAverage HTTPTimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"
const HTTPTimeseriesResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"
const HTTPTimeseriesResponseMetaNormalizationRatio HTTPTimeseriesResponseMetaNormalization = "RATIO"
Units []HTTPTimeseriesResponseMetaUnit

Measurement units for the results.

Name string
Value string

Get HTTP requests time series

package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  response, err := client.Radar.HTTP.Timeseries(context.TODO(), radar.HTTPTimeseriesParams{

  })
  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"
        }
      ]
    }
  },
  "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"
        }
      ]
    }
  },
  "success": true
}