Endpoint REST API
GET /v1/pulse
Andamento di oggi, confronto con ieri e curve intraday a intervalli di 15 minuti.
Richiesta
GET
https://api.nowmetrix.com/v1/pulse?site=TRACKER_ID
Pulse aiuta a rispondere a una domanda più utile di «Quanto traffico abbiamo?»: oggi siamo sopra o sotto l'andamento normale per questo giorno della settimana e a quest'ora?
Autenticazione
È necessaria una chiave API nell'header Authorization: Authorization: Bearer nm_YOUR_KEY.
Parametri della 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/pulse?site=TRACKER_ID"
Esempio di risposta
{
"site": "TRACKER_ID",
"updated_at": "2026-06-26T12:24:30Z",
"timezone": "Europe/Zurich",
"pulse": {
"available": true,
"reason": null,
"delta_percent": 12,
"days_counted": 8,
"is_provisional": false,
"minute_of_day": 865,
"metrics": {
"pageviews": {
"today": 48215,
"avg": 43040,
"delta_percent": 12
},
"visitors": {
"today": 31890,
"avg": 29620,
"delta_percent": 8
},
"active_users": {
"today": 128,
"avg": 104,
"delta_percent": 23
}
},
"baseline": {
"snapshot_time": "14:25",
"aggregation": "median",
"combination": "mean_of_deltas",
"days_counted": 8,
"samples": [
{
"date": "2026-06-19",
"pageviews": 42110,
"visitors": 29100,
"active_users": 98
}
]
}
},
"yesterday_vs_day_before": {
"yesterday": {
"date": "2026-06-25",
"pageviews": 77480,
"visitors": 50195
},
"day_before": {
"date": "2026-06-24",
"pageviews": 81240,
"visitors": 53210
},
"delta_percent": {
"pageviews": -5,
"visitors": -6
}
},
"chart": {
"interval_minutes": 15,
"today_date": "2026-06-26",
"yesterday_date": "2026-06-25",
"average_basis_days": 8,
"average_method": "median_same_weekday",
"pageviews": {
"today": [
{
"time": "08:00",
"value": 920
},
{
"time": "08:15",
"value": 1110
}
],
"yesterday": [
{
"time": "08:00",
"value": 870
}
],
"average": [
{
"time": "08:00",
"value": 810
}
]
},
"visitors": {
"today": [
{
"time": "08:00",
"value": 620
}
],
"yesterday": [
{
"time": "08:00",
"value": 580
}
],
"average": [
{
"time": "08:00",
"value": 540
}
]
}
}
}
Campi della risposta
| Campo | Tipo | Descrizione |
|---|---|---|
site |
string |
ID del tracker utilizzato per la richiesta. |
updated_at |
string |
Timestamp UTC dell'istante in cui è stato generato il payload. |
timezone |
string |
Fuso orario del tracker utilizzato per determinare le date locali. |
pulse.available |
boolean |
Indica se è disponibile una cronologia sufficiente per calcolare Pulse. |
pulse.reason |
string|null |
Motivo per cui Pulse non è disponibile. |
pulse.delta_percent |
integer|null |
Differenza percentuale complessiva rispetto alla baseline. |
pulse.days_counted |
integer |
Numero di giorni della baseline inclusi nel calcolo. |
pulse.is_provisional |
boolean |
Indica se il risultato di Pulse è provvisorio. |
pulse.minute_of_day |
integer |
Minuto corrente del giorno locale utilizzato per il confronto. |
pulse.metrics.pageviews |
object |
Pageview di oggi, media e delta_percent. |
pulse.metrics.visitors |
object |
Visitatori di oggi, media e delta_percent. |
pulse.metrics.active_users |
object |
Utenti attivi di oggi, media e delta_percent. |
pulse.baseline |
object |
Metadati della baseline e giorni campione utilizzati per il calcolo di Pulse. |
yesterday_vs_day_before |
object |
Confronto tra giorni completi per Pageview e visitatori. |
chart |
object |
Serie a intervalli di 15 minuti per oggi, ieri e la media, suddivise tra Pageview e visitatori. |
Aggiornamento e caching
Le risposte vengono memorizzate in una microcache per tracker per 30 secondi, con una finestra di 90 secondi per servire dati obsoleti e proteggere dai picchi di richieste.
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 è temporaneamente non disponibile. |
{
"error": {
"code": "invalid_token",
"message": "Bearer token is invalid or revoked."
}
}