Breakdowns
curl --request GET \
--url https://taap.it/api/v1/radar/breakdowns \
--header 'Authorization: <authorization>'import requests
url = "https://taap.it/api/v1/radar/breakdowns"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://taap.it/api/v1/radar/breakdowns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://taap.it/api/v1/radar/breakdowns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://taap.it/api/v1/radar/breakdowns"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://taap.it/api/v1/radar/breakdowns")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://taap.it/api/v1/radar/breakdowns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"pages.top": [
{}
],
"sources.referrer": [
{}
],
"locations.countries": [
{}
],
"devices.browsers": [
{}
],
"devices.os": [
{}
],
"events": [
{}
],
"hostnames": [
{}
]
}
}Radar API
Breakdowns
Retrieve top pages, sources, locations and devices
GET
/
api
/
v1
/
radar
/
breakdowns
Breakdowns
curl --request GET \
--url https://taap.it/api/v1/radar/breakdowns \
--header 'Authorization: <authorization>'import requests
url = "https://taap.it/api/v1/radar/breakdowns"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://taap.it/api/v1/radar/breakdowns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://taap.it/api/v1/radar/breakdowns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://taap.it/api/v1/radar/breakdowns"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://taap.it/api/v1/radar/breakdowns")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://taap.it/api/v1/radar/breakdowns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"pages.top": [
{}
],
"sources.referrer": [
{}
],
"locations.countries": [
{}
],
"devices.browsers": [
{}
],
"devices.os": [
{}
],
"events": [
{}
],
"hostnames": [
{}
]
}
}Returns the top breakdowns (pages, sources, locations and devices) for the project bound to your
API key over the requested date range.
Request:
Response:
cURL
curl -X GET 'https://taap.it/api/v1/radar/breakdowns?start=2026-01-01T00:00:00Z&end=2026-01-31T23:59:59Z&limit=20' \
-H 'Authorization: Bearer taapit_your_api_key_here'
{
"data": {
"pages": {
"top": [
{ "pathname": "/", "people": 320 },
{ "pathname": "/pricing", "people": 110 }
]
},
"sources": {
"referrer": [
{ "name": "Direct", "people": 210 },
{ "name": "Google", "people": 180 }
]
},
"locations": {
"countries": [
{ "name": "France", "people": 240, "countryCode": "FR", "revenue": 980.0 },
{ "name": "Belgium", "people": 90, "countryCode": "BE", "revenue": 120.0 }
]
},
"devices": {
"browsers": [
{ "name": "Chrome", "people": 410 },
{ "name": "Safari", "people": 220 }
],
"os": [
{ "name": "Windows", "people": 300 },
{ "name": "iOS", "people": 180 }
]
},
"events": [
{ "event_name": "signup_click", "people": 40, "events": 52, "completion_rate": 0 }
],
"hostnames": ["www.example.com"]
}
}
Authorization
string
required
Bearer token with your Radar API key. Format:
Bearer taapit_...Query Parameters
string
required
Start of the range, ISO 8601 (UTC). Example:
2026-01-01T00:00:00Z.string
required
End of the range, ISO 8601 (UTC). Example:
2026-01-31T23:59:59Z.integer
default:"50"
Maximum number of rows per breakdown. Must be a positive number. Defaults to
50.Response Fields
object
required
Each section is optional and omitted when there is no data.
Hide Breakdowns
Hide Breakdowns
array
Top pages, each with
pathname and people.array
Top referrers, each with
name and people.array
Top countries, each with
name, people, countryCode and revenue.array
Top browsers, each with
name and people.array
Top operating systems, each with
name and people.array
Top custom events, each with
event_name, people and events.array
Hostnames seen for the project in the range.
⌘I