Link Stats Summary
curl --request GET \
--url https://api.taap.it/v1/stats/links/{link_id}/summary \
--header 'Authorization: <authorization>'import requests
url = "https://api.taap.it/v1/stats/links/{link_id}/summary"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.taap.it/v1/stats/links/{link_id}/summary', 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://api.taap.it/v1/stats/links/{link_id}/summary",
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://api.taap.it/v1/stats/links/{link_id}/summary"
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://api.taap.it/v1/stats/links/{link_id}/summary")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.taap.it/v1/stats/links/{link_id}/summary")
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{
"link_id": "<string>",
"total_clicks": 123,
"top_countries": [
{
"name": "<string>",
"count": 123
}
],
"top_devices": [
{
"name": "<string>",
"count": 123
}
],
"top_browsers": [
{
"name": "<string>",
"count": 123
}
],
"qr_code_usage": 123,
"date_range": {
"start": "<string>",
"end": "<string>"
}
}Stats API
Link Stats Summary
Get aggregated statistics for a link
GET
/
v1
/
stats
/
links
/
{link_id}
/
summary
Link Stats Summary
curl --request GET \
--url https://api.taap.it/v1/stats/links/{link_id}/summary \
--header 'Authorization: <authorization>'import requests
url = "https://api.taap.it/v1/stats/links/{link_id}/summary"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.taap.it/v1/stats/links/{link_id}/summary', 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://api.taap.it/v1/stats/links/{link_id}/summary",
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://api.taap.it/v1/stats/links/{link_id}/summary"
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://api.taap.it/v1/stats/links/{link_id}/summary")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.taap.it/v1/stats/links/{link_id}/summary")
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{
"link_id": "<string>",
"total_clicks": 123,
"top_countries": [
{
"name": "<string>",
"count": 123
}
],
"top_devices": [
{
"name": "<string>",
"count": 123
}
],
"top_browsers": [
{
"name": "<string>",
"count": 123
}
],
"qr_code_usage": 123,
"date_range": {
"start": "<string>",
"end": "<string>"
}
}Request:
Response:
cURL
curl -X GET 'https://api.taap.it/v1/stats/links/link_987654321/summary?start_date=2024-01-01&end_date=2024-01-31' \
-H 'Authorization: Bearer taapit_your_api_key_here'
{
"link_id": "link_987654321",
"total_clicks": 1250,
"top_countries": [
{"name": "US", "count": 650},
{"name": "CA", "count": 280},
{"name": "UK", "count": 180}
],
"top_devices": [
{"name": "mobile", "count": 750},
{"name": "desktop", "count": 400},
{"name": "tablet", "count": 100}
],
"top_browsers": [
{"name": "Chrome", "count": 800},
{"name": "Safari", "count": 300},
{"name": "Firefox", "count": 100}
],
"qr_code_usage": 45,
"date_range": {
"start": "2024-01-01",
"end": "2024-01-31"
}
}
Authorization
string
required
Bearer token for API authentication. Format:
Bearer YOUR_API_KEYPath Parameters
string
required
Unique identifier for the link
Query Parameters
string
Start date for statistics (YYYY-MM-DD format)
string
End date for statistics (YYYY-MM-DD format)
Response Fields
string
required
Unique identifier for the link
integer
required
Total number of clicks on the link
array
required
array
required
array
required
integer
required
Number of times the QR code was scanned
⌘I