REST API-Endpoint
GET /v1/pulse
Pulse für den heutigen Tag, Vergleich mit gestern und Intraday-Kurven im 15-Minuten-Takt.
Anfrage
GET
https://api.nowmetrix.com/v1/pulse?site=TRACKER_ID
Mit Pulse beantworten Sie eine nützlichere Frage als 'Wie viel Traffic haben wir?': Liegt der heutige Traffic für diesen Wochentag und diese Uhrzeit über oder unter dem normalen Muster?
Authentifizierung
Erfordert einen API-Schlüssel im Authorization-Header: Authorization: Bearer nm_YOUR_KEY.
Query-Parameter
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
site |
string |
erforderlich | Tracker-ID. Der API-Schlüssel muss Zugriff auf diesen Tracker haben. |
cURL-Beispiel
curl -H "Authorization: Bearer nm_YOUR_KEY" \
"https://api.nowmetrix.com/v1/pulse?site=TRACKER_ID"
Beispielantwort
{
"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
}
]
}
}
}
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
site |
string |
Für die Anfrage verwendete Tracker-ID. |
updated_at |
string |
UTC-Zeitstempel der Payload-Erstellung. |
timezone |
string |
Zeitzone des trackers, anhand derer lokale Daten bestimmt werden. |
pulse.available |
boolean |
Gibt an, ob genügend Verlaufsdaten für die Pulse-Berechnung verfügbar sind. |
pulse.reason |
string|null |
Grund, falls Pulse nicht verfügbar ist. |
pulse.delta_percent |
integer|null |
Gesamte prozentuale Abweichung von der Basis. |
pulse.days_counted |
integer |
Anzahl der berücksichtigten Basistage. |
pulse.is_provisional |
boolean |
Gibt an, ob das Pulse-Ergebnis vorläufig ist. |
pulse.minute_of_day |
integer |
Aktuelle Minute des lokalen Tages, die für den Vergleich verwendet wird. |
pulse.metrics.pageviews |
object |
Heutiger Wert, Durchschnitt und delta_percent für Pageviews. |
pulse.metrics.visitors |
object |
Heutiger Wert, Durchschnitt und delta_percent für Besucher. |
pulse.metrics.active_users |
object |
Heutiger Wert, Durchschnitt und delta_percent für Live-Leser. |
pulse.baseline |
object |
Metadaten zur Basis sowie die für die Pulse-Berechnung verwendeten Beispieltage. |
yesterday_vs_day_before |
object |
Vergleich abgeschlossener Tage für Pageviews und Besucher. |
chart |
object |
15-Minuten-Zeitreihen für heute, gestern und den Durchschnitt, aufgeteilt nach Pageviews und Besuchern. |
Aktualität und Caching
Antworten werden pro Tracker 30 Sekunden lang im Microcache vorgehalten. Zum Schutz vor Lastspitzen können sie weitere 90 Sekunden als veraltet ausgeliefert werden.
Fehlermeldungen
| HTTP | Code | Beschreibung |
|---|---|---|
| 400 | site_required |
Der erforderliche site-Parameter fehlt. |
| 401 | missing_token |
Der Authorization-Header fehlt. |
| 401 | invalid_token |
Der Token ist ungültig oder wurde widerrufen. |
| 403 | site_not_authorized |
Der API-Schlüssel hat keinen Zugriff auf diesen Tracker. |
| 429 | rate_limit_exceeded |
Das Rate-Limit wurde überschritten. |
| 503 | redis_unavailable |
Das Realtime-Backend ist vorübergehend nicht verfügbar. |
{
"error": {
"code": "invalid_token",
"message": "Bearer token is invalid or revoked."
}
}