curl --request GET \
--url https://api.qonversion.io/v4/screens/{screen_id}/analytics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qonversion.io/v4/screens/{screen_id}/analytics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qonversion.io/v4/screens/{screen_id}/analytics', 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.qonversion.io/v4/screens/{screen_id}/analytics",
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: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.qonversion.io/v4/screens/{screen_id}/analytics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.qonversion.io/v4/screens/{screen_id}/analytics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.qonversion.io/v4/screens/{screen_id}/analytics")
.header("Authorization", "Bearer <token>")
.asString();{
"object": "screen_analytics",
"url": "/v4/screens/scr_abc123/analytics",
"data": {
"kpis": {
"purchases": {
"value": 42,
"prev": 38,
"sparkline": [
5,
6,
5,
7,
6,
6,
7
]
},
"trials": {
"value": 215,
"prev": 198,
"sparkline": [
28,
31,
30,
32,
31,
31,
32
]
},
"revenue": {
"value": 840.15,
"prev": 760.4,
"sparkline": [
105,
118,
112,
128,
120,
122,
135.15
]
},
"refunds": {
"value": 2,
"prev": 1,
"sparkline": [
0,
0,
1,
0,
0,
0,
1
]
},
"conversion_rate": {
"value": 0.195,
"prev": 0.192,
"sparkline": [
0.18,
0.19,
0.2,
0.19,
0.2,
0.2,
0.21
]
},
"cancel_rate": {
"value": 0.045,
"prev": 0.052,
"sparkline": [
0.06,
0.05,
0.05,
0.04,
0.04,
0.04,
0.04
]
}
},
"period": {
"from": 1776447033,
"to": 1777051833,
"unit": "day"
},
"screen": {
"uid": "scr_abc123",
"name": "Premium paywall",
"status": "published",
"type": "paywall"
}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}Get per-screen analytics
Deprecated — the Screens product surface has been removed; this API remains available for existing integrations only. Returns analytics metrics for a single screen. Supports optional time-range, environment, currency, and unit filters.
curl --request GET \
--url https://api.qonversion.io/v4/screens/{screen_id}/analytics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qonversion.io/v4/screens/{screen_id}/analytics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qonversion.io/v4/screens/{screen_id}/analytics', 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.qonversion.io/v4/screens/{screen_id}/analytics",
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: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.qonversion.io/v4/screens/{screen_id}/analytics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.qonversion.io/v4/screens/{screen_id}/analytics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.qonversion.io/v4/screens/{screen_id}/analytics")
.header("Authorization", "Bearer <token>")
.asString();{
"object": "screen_analytics",
"url": "/v4/screens/scr_abc123/analytics",
"data": {
"kpis": {
"purchases": {
"value": 42,
"prev": 38,
"sparkline": [
5,
6,
5,
7,
6,
6,
7
]
},
"trials": {
"value": 215,
"prev": 198,
"sparkline": [
28,
31,
30,
32,
31,
31,
32
]
},
"revenue": {
"value": 840.15,
"prev": 760.4,
"sparkline": [
105,
118,
112,
128,
120,
122,
135.15
]
},
"refunds": {
"value": 2,
"prev": 1,
"sparkline": [
0,
0,
1,
0,
0,
0,
1
]
},
"conversion_rate": {
"value": 0.195,
"prev": 0.192,
"sparkline": [
0.18,
0.19,
0.2,
0.19,
0.2,
0.2,
0.21
]
},
"cancel_rate": {
"value": 0.045,
"prev": 0.052,
"sparkline": [
0.06,
0.05,
0.05,
0.04,
0.04,
0.04,
0.04
]
}
},
"period": {
"from": 1776447033,
"to": 1777051833,
"unit": "day"
},
"screen": {
"uid": "scr_abc123",
"name": "Premium paywall",
"status": "published",
"type": "paywall"
}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}Authorizations
Bearer authentication using the project Secret Key (prefixed with sk_, or test_sk_ for sandbox). All v4 public endpoints require the Secret Key — see Authentication. Never expose the Secret Key in client-side code.
Path Parameters
Screen identifier.
256^[a-zA-Z0-9._-]+$Query Parameters
Start of the analytics period (ISO 8601 date or datetime).
"2025-01-01"
End of the analytics period (ISO 8601 date or datetime).
"2025-12-31"
Filter by environment.
Currency code for revenue metrics (ISO 4217).
"USD"
Time unit for grouping analytics data.
Response
Analytics data for the specified screen.
Analytics object wrapped in the standard v4 envelope (object, url, data). data.kpis uses snake_case keys (conversion_rate, cancel_rate) and each KPI carries value, previous-period value, and a sparkline.