Endpoint dell'API REST
GET /v1/realtime
Snapshot live aggiornato: utenti attivi, Pageview, pagine principali, dispositivi, paesi, città e fonti.
Richiesta
GET
https://api.nowmetrix.com/v1/realtime?site=TRACKER_ID
Usare questo endpoint quando una dashboard, uno schermo in redazione, un avviso o un'integrazione leggera richiede lo stato live corrente di un tracker.
Autenticazione
È necessaria una chiave API nell'header Authorization, nel formato Authorization: Bearer nm_YOUR_KEY.
Parametri di query
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
site |
string |
obbligatorio | ID del tracker. La chiave API deve avere accesso a questo tracker. |
Esempio cURL
curl -H "Authorization: Bearer nm_YOUR_KEY" \
"https://api.nowmetrix.com/v1/realtime?site=TRACKER_ID"
Esempio di risposta
{
"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": []
}
]
}
Campi della risposta
| Campo | Tipo | Descrizione |
|---|---|---|
site |
string |
ID del tracker usato per la richiesta. |
updated_at |
string |
Timestamp UTC che indica quando è stato generato il payload. |
total_realtime |
integer |
Numero di utenti attivi nella finestra live corrente. |
total_pageviews_today |
integer |
Totale dei Pageview conteggiati oggi per il tracker. |
total_unique_visitors_today |
integer |
Numero stimato di visitatori unici conteggiati oggi. |
devices.mobile |
integer |
Utenti attivi classificati come utenti da dispositivi mobili. |
devices.desktop |
integer |
Utenti attivi classificati come utenti da computer. |
top_pages[] |
array<object> |
Fino a 50 pagine live ordinate in base al numero di utenti live. |
top_pages[].url |
string |
Percorso della pagina. |
top_pages[].host |
string |
Nome host indicato per la pagina. |
top_pages[].title |
string |
Titolo della pagina; se non disponibile, viene usato il percorso. |
top_pages[].og_image |
string |
URL della miniatura della pagina. |
top_pages[].realtime_users |
integer |
Utenti attivi attualmente presenti su questa pagina. |
top_pages[].pageviews_today |
integer |
Pageview conteggiati oggi per questa pagina. |
top_pages[].sources[] |
array<object> |
Suddivisione delle fonti di traffico per questa pagina, con lo stesso formato delle righe di /v1/sources. |
countries[] |
array<object> |
Principali paesi con codice, nome in inglese e conteggio. |
cities[] |
array<object> |
Principali città con nome e conteggio. |
sources_top5[] |
array<object> |
Le cinque principali fonti di traffico globali nella finestra live. |
Aggiornamento e caching
Le risposte vengono memorizzate nella microcache per tracker per 8 secondi. La risposta include anche X-NowMetrix-Microcache con valore HIT o MISS.
Errori
| HTTP | Codice | Descrizione |
|---|---|---|
| 400 | site_required |
Manca il parametro site obbligatorio. |
| 401 | missing_token |
Manca l'header Authorization. |
| 401 | invalid_token |
Il token non è valido o è stato revocato. |
| 403 | site_not_authorized |
La chiave API non ha accesso a questo tracker. |
| 429 | rate_limit_exceeded |
È stato superato il limite di richieste. |
| 503 | redis_unavailable |
Il backend realtime non è temporaneamente disponibile. |
{
"error": {
"code": "invalid_token",
"message": "Bearer token is invalid or revoked."
}
}