Endpoint REST API
GET /v1/realtime
Snapshot realtime terkini: pengguna aktif, pageviews, halaman teratas, perangkat, negara, kota, dan sumber.
Permintaan
GET
https://api.nowmetrix.com/v1/realtime?site=TRACKER_ID
Gunakan endpoint ini saat dasbor, layar ruang redaksi, alert, atau integrasi ringan memerlukan status realtime terkini dari satu tracker.
Autentikasi
API key wajib disertakan dalam header Authorization dengan nilai: Bearer nm_YOUR_KEY.
Parameter kueri
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
site |
string |
wajib | ID tracker. API key harus memiliki akses ke tracker ini. |
Contoh cURL
curl -H "Authorization: Bearer nm_YOUR_KEY" \
"https://api.nowmetrix.com/v1/realtime?site=TRACKER_ID"
Contoh respons
{
"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": []
}
]
}
Kolom respons
| Kolom | Tipe | Deskripsi |
|---|---|---|
site |
string |
ID tracker yang digunakan dalam permintaan. |
updated_at |
string |
Timestamp UTC saat payload dibuat. |
total_realtime |
integer |
Jumlah pengguna aktif dalam jendela realtime saat ini. |
total_pageviews_today |
integer |
Total pageviews yang dihitung hari ini untuk tracker. |
total_unique_visitors_today |
integer |
Perkiraan jumlah pengunjung unik yang dihitung hari ini. |
devices.mobile |
integer |
Pengguna aktif yang diklasifikasikan sebagai pengguna seluler. |
devices.desktop |
integer |
Pengguna aktif yang diklasifikasikan sebagai pengguna desktop. |
top_pages[] |
array<object> |
Maksimal 50 halaman live yang diurutkan berdasarkan jumlah pengguna realtime. |
top_pages[].url |
string |
Path halaman. |
top_pages[].host |
string |
Hostname yang dilaporkan untuk halaman tersebut. |
top_pages[].title |
string |
Judul halaman; jika tidak tersedia, path akan digunakan. |
top_pages[].og_image |
string |
URL thumbnail halaman. |
top_pages[].realtime_users |
integer |
Pengguna aktif yang sedang berada di halaman ini. |
top_pages[].pageviews_today |
integer |
Jumlah pageviews halaman ini hari ini. |
top_pages[].sources[] |
array<object> |
Rincian sumber traffic untuk halaman ini dengan format baris yang sama seperti /v1/sources. |
countries[] |
array<object> |
Negara teratas beserta kode, nama dalam bahasa Inggris, dan jumlahnya. |
cities[] |
array<object> |
Kota teratas beserta nama dan jumlahnya. |
sources_top5[] |
array<object> |
Lima sumber traffic global teratas dalam jendela realtime. |
Kebaruan data dan caching
Respons menggunakan microcache per tracker selama 8 detik. Respons juga menyertakan X-NowMetrix-Microcache dengan nilai HIT atau MISS.
Error
| HTTP | Kode | Deskripsi |
|---|---|---|
| 400 | site_required |
Parameter site yang wajib belum disertakan. |
| 401 | missing_token |
Header Authorization belum disertakan. |
| 401 | invalid_token |
Token tidak valid atau telah dicabut. |
| 403 | site_not_authorized |
API key tidak memiliki akses ke tracker ini. |
| 429 | rate_limit_exceeded |
Batas permintaan telah terlampaui. |
| 503 | redis_unavailable |
Backend realtime untuk sementara tidak tersedia. |
{
"error": {
"code": "invalid_token",
"message": "Bearer token is invalid or revoked."
}
}