Endpoint de l’API REST
GET /v1/realtime
Instantané en direct : utilisateurs actifs, pages vues, pages principales, appareils, pays, villes et sources.
Requête
GET
https://api.nowmetrix.com/v1/realtime?site=TRACKER_ID
Utilisez cet endpoint lorsqu’un tableau de bord, un écran de rédaction, une alerte ou une intégration légère doit accéder à l’état en direct d’un tracker.
Authentification
L’en-tête Authorization doit contenir une clé API : Authorization: Bearer nm_YOUR_KEY.
Paramètres de requête
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
site |
string |
obligatoire | Identifiant du tracker. La clé API doit avoir accès à ce tracker. |
Exemple cURL
curl -H "Authorization: Bearer nm_YOUR_KEY" \
"https://api.nowmetrix.com/v1/realtime?site=TRACKER_ID"
Exemple de réponse
{
"site": "TRACKER_ID",
"updated_at": "2026-06-26T12:24:30+00:00",
"total_realtime": 128,
"total_pageviews_today": 48215,
"total_unique_visitors_today": 31890,
"devices": {
"mobile": 91,
"desktop": 37
},
"top_pages": [
{
"url": "/news/global-market-update",
"host": "example-media.test",
"title": "Global market update: what changed today",
"og_image": "https://thumbs.nowmetrix.com/thumbnails/example.jpg",
"realtime_users": 34,
"pageviews_today": 6240,
"sources": [
{
"medium": "social",
"source": "social.example",
"count": 18,
"percent": 53,
"children": []
},
{
"medium": "search",
"source": "Google Search",
"count": 9,
"percent": 26,
"children": [
{
"label": "google.com",
"count": 9
}
]
}
]
}
],
"countries": [
{
"code": "CH",
"name": "Switzerland",
"count": 52
},
{
"code": "DE",
"name": "Germany",
"count": 31
}
],
"cities": [
{
"name": "Zurich",
"count": 21
},
{
"name": "Berlin",
"count": 13
}
],
"sources_top5": [
{
"medium": "(none)",
"source": "(direct)",
"count": 44,
"percent": 34,
"children": []
}
]
}
Champs de réponse
| Champ | Type | Description |
|---|---|---|
site |
string |
Identifiant du tracker utilisé pour la requête. |
updated_at |
string |
Horodatage UTC de la génération des données. |
total_realtime |
integer |
Nombre d’utilisateurs actifs pendant la fenêtre en direct actuelle. |
total_pageviews_today |
integer |
Nombre total de pages vues aujourd’hui pour le tracker. |
total_unique_visitors_today |
integer |
Nombre approximatif de visiteurs uniques comptabilisés aujourd’hui. |
devices.mobile |
integer |
Utilisateurs actifs identifiés comme utilisant un appareil mobile. |
devices.desktop |
integer |
Utilisateurs actifs identifiés comme utilisant un ordinateur. |
top_pages[] |
array<object> |
Jusqu’à 50 pages en direct, triées selon le nombre d’utilisateurs en temps réel. |
top_pages[].url |
string |
Chemin de la page. |
top_pages[].host |
string |
Nom d’hôte associé à la page. |
top_pages[].title |
string |
Titre de la page ; à défaut, le chemin est utilisé. |
top_pages[].og_image |
string |
URL de la miniature de la page. |
top_pages[].realtime_users |
integer |
Utilisateurs actuellement actifs sur cette page. |
top_pages[].pageviews_today |
integer |
Nombre de pages vues aujourd’hui pour cette page. |
top_pages[].sources[] |
array<object> |
Répartition des sources de trafic pour cette page, selon le même format de ligne que /v1/sources. |
countries[] |
array<object> |
Principaux pays avec leur code, leur nom en anglais et leur nombre d’utilisateurs. |
cities[] |
array<object> |
Principales villes avec leur nom et leur nombre d’utilisateurs. |
sources_top5[] |
array<object> |
Cinq principales sources de trafic globales pour la fenêtre en direct. |
Actualisation et mise en cache
Les réponses sont mises en microcache par tracker pendant 8 secondes. La réponse inclut également X-NowMetrix-Microcache avec la valeur HIT ou MISS.
Erreurs
| HTTP | Code | Description |
|---|---|---|
| 400 | site_required |
Le paramètre site obligatoire est manquant. |
| 401 | missing_token |
L’en-tête Authorization est manquant. |
| 401 | invalid_token |
Le token n’est pas valide ou a été révoqué. |
| 403 | site_not_authorized |
La clé API n’a pas accès à ce tracker. |
| 429 | rate_limit_exceeded |
La limite de débit a été dépassée. |
| 503 | redis_unavailable |
Le backend en temps réel est temporairement indisponible. |
{
"error": {
"code": "invalid_token",
"message": "Bearer token is invalid or revoked."
}
}