Overview
Get Page Titles
Returns page-view metrics aggregated by HTML page title.
GET /api/sites/:site/page-titlesReturns page-view metrics aggregated by HTML page title.
Path Parameters
Prop
Type
Query Parameters
Accepts all Common Parameters (time and filters).
Prop
Type
Response
Prop
Type
When the page parameter is supplied, the response is paginated: data becomes an object { data: [...], totalCount: number }.
curl -X GET "https://app.rybbit.io/api/sites/123/page-titles?start_date=2024-01-01&end_date=2024-01-31&time_zone=America/New_York&limit=10" \
-H "Authorization: Bearer your_api_key_here"const response = await fetch(
'https://app.rybbit.io/api/sites/123/page-titles?start_date=2024-01-01&end_date=2024-01-31&time_zone=America/New_York&limit=10',
{
headers: {
'Authorization': 'Bearer your_api_key_here'
}
}
);
const data = await response.json();import requests
response = requests.get(
'https://app.rybbit.io/api/sites/123/page-titles',
params={
'start_date': '2024-01-01',
'end_date': '2024-01-31',
'time_zone': 'America/New_York',
'limit': 10
},
headers={
'Authorization': 'Bearer your_api_key_here'
}
)
data = response.json()$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.rybbit.io/api/sites/123/page-titles?start_date=2024-01-01&end_date=2024-01-31&time_zone=America/New_York&limit=10');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer your_api_key_here'
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);require 'net/http'
require 'json'
uri = URI('https://app.rybbit.io/api/sites/123/page-titles?start_date=2024-01-01&end_date=2024-01-31&time_zone=America/New_York&limit=10')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer your_api_key_here'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)req, _ := http.NewRequest("GET", "https://app.rybbit.io/api/sites/123/page-titles?start_date=2024-01-01&end_date=2024-01-31&time_zone=America/New_York&limit=10", nil)
req.Header.Set("Authorization", "Bearer your_api_key_here")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var data map[string]interface{}
json.NewDecoder(resp.Body).Decode(&data)let client = reqwest::Client::new();
let res = client
.get("https://app.rybbit.io/api/sites/123/page-titles?start_date=2024-01-01&end_date=2024-01-31&time_zone=America/New_York&limit=10")
.header("Authorization", "Bearer your_api_key_here")
.send()
.await?;
let data: serde_json::Value = res.json().await?;HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://app.rybbit.io/api/sites/123/page-titles?start_date=2024-01-01&end_date=2024-01-31&time_zone=America/New_York&limit=10"))
.header("Authorization", "Bearer your_api_key_here")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer your_api_key_here");
var response = await client.GetAsync("https://app.rybbit.io/api/sites/123/page-titles?start_date=2024-01-01&end_date=2024-01-31&time_zone=America/New_York&limit=10");
var data = await response.Content.ReadAsStringAsync();{
"data": [
{
"value": "Home | Acme",
"pathname": "/",
"count": 8200,
"percentage": 41.2,
"pageviews": 12400,
"bounce_rate": 38.5,
"time_on_page_seconds": 47.2
}
]
}