Skip to content

Netflows

Netflows shows network traffic data from end users collected from Cloudflare's edge routers. Netflows' data also feeds the Internet traffic change chart.

Netflows includes all types of traffic from Cloudflare's routers, not just traffic to websites served by Cloudflare's CDN.

List of endpoints

Timeseries

Example: filtering by product

Besides comparing time series across locations or date ranges (discussed in Make comparisons), we can also examine ALL traffic versus only HTTP traffic using the product filter. For more information, refer to the API reference for this endpoint.

In the following example, we will examine both ALL and HTTP traffic in two autonomous systems. First, we will examine AS3243, a Portuguese local Internet Service Provider (ISP). The parameters for all traffic are name=AS3243_all&product=ALL&dateRange=1d&asn=3243, and for just the HTTP traffic are name=AS3243_http&product=HTTP&dateRange=1d&asn=3243):

Terminal window
curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=meo_all&product=ALL&dateRange=1d&asn=3243&name=meo_http&product=HTTP&dateRange=1d&asn=3243&format=json&aggInterval=1h" \
--header "Authorization: Bearer <API_TOKEN>"

This is the abbreviated response:

"AS3243_all": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.565885", "0.586434", "..."]
},
"AS3243_http": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.548564", "0.568329", "..."]
},

HTTP traffic values are similar to ALL traffic values. This means that most traffic Cloudflare receives from this AS is traffic to websites served by Cloudflare's CDN product.

In this other example, we will examine AS174, another autonomous system that is not an ISP:

Terminal window
curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=AS174_all&product=ALL&dateRange=1d&asn=174&name=AS174_http&product=HTTP&dateRange=1d&asn=174&format=json&aggInterval=1h" \
--header "Authorization: Bearer <API_TOKEN>"

The abbreviated response is:

"AS174_all": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.917348", "1.0", "..."]
},
"AS174_http": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.381777", "0.408091", "..."]
}

Here, there is less HTTP traffic compared to other types of traffic — which makes sense, since this is not an ISP serving end-users.

Note that here we made two separate requests since we are only interested in whether HTTP comprises the majority of the traffic in each AS or not. If we wanted to actually compare the traffic values between them to, for example, examine who has more traffic, we would have to make a single request including all series. Here is how we could do that:

Terminal window
curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=AS174_all&product=ALL&dateRange=1d&asn=174&name=AS174_http&product=HTTP&dateRange=1d&asn=174&name=AS3243_all&product=ALL&dateRange=1d&asn=3243&name=AS3243_http&product=HTTP&dateRange=1d&asn=3243&format=json&aggInterval=1h" \
--header "Authorization: Bearer <API_TOKEN>"

which would lead to a response like this:

"AS174_all": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.917348", "1.0", "..."]
},
"AS174_http": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.381777", "0.408091", "..."]
},
"AS3243_all": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.317136", "0.328652", "..."]
},
"AS3243_http": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.307429", "0.318505", "..."]
}

This response shows how Cloudflare receives more traffic from AS174 than from AS3243.

Next steps

Refer to HTTP requests for more information about requests from end users.