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.
Coba di API PlaygroundAutentikasi
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": []
}
],
"pageviews_last60": [
[
1782476550,
125
],
[
1782476610,
142
],
[
1782476670,
38
]
]
}
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. |
pageviews_last60 |
array<[integer, integer]> |
Hingga 60 pasangan [timestamp Unix dalam detik, tayangan halaman per menit], dari yang paling lama. Mencakup menit saat ini yang belum selesai. Menit yang tidak tersedia dihilangkan; deret yang tidak tersedia berupa array kosong. Timestamp mempertahankan bagian detik dari waktu pembuatan respons, seperti pada Legacy API. |
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."
}
}