Endpoint de l’API REST

GET /v1/realtime

Instantané en direct : utilisateurs actifs, pages vues, pages principales, appareils, pays, villes et sources.

Requête

GET https://api.nowmetrix.com/v1/realtime?site=TRACKER_ID

Utilisez cet endpoint lorsqu’un tableau de bord, un écran de rédaction, une alerte ou une intégration légère doit accéder à l’état en direct d’un tracker.

Essayer dans API Playground

Authentification

L’en-tête Authorization doit contenir une clé API : Authorization: Bearer nm_YOUR_KEY.

Paramètres de requête

Nom Type Obligatoire Description
site string obligatoire Identifiant du tracker. La clé API doit avoir accès à ce tracker.

Exemple cURL

curl -H "Authorization: Bearer nm_YOUR_KEY" \
  "https://api.nowmetrix.com/v1/realtime?site=TRACKER_ID"

Exemple de réponse

{
  "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
    ]
  ]
}

Champs de réponse

Champ Type Description
site string Identifiant du tracker utilisé pour la requête.
updated_at string Horodatage UTC de la génération des données.
total_realtime integer Nombre d’utilisateurs actifs pendant la fenêtre en direct actuelle.
total_pageviews_today integer Nombre total de pages vues aujourd’hui pour le tracker.
total_unique_visitors_today integer Nombre approximatif de visiteurs uniques comptabilisés aujourd’hui.
devices.mobile integer Utilisateurs actifs identifiés comme utilisant un appareil mobile.
devices.desktop integer Utilisateurs actifs identifiés comme utilisant un ordinateur.
top_pages[] array<object> Jusqu’à 50 pages en direct, triées selon le nombre d’utilisateurs en temps réel.
top_pages[].url string Chemin de la page.
top_pages[].host string Nom d’hôte associé à la page.
top_pages[].title string Titre de la page ; à défaut, le chemin est utilisé.
top_pages[].og_image string URL de la miniature de la page.
top_pages[].realtime_users integer Utilisateurs actuellement actifs sur cette page.
top_pages[].pageviews_today integer Nombre de pages vues aujourd’hui pour cette page.
top_pages[].sources[] array<object> Répartition des sources de trafic pour cette page, selon le même format de ligne que /v1/sources.
countries[] array<object> Principaux pays avec leur code, leur nom en anglais et leur nombre d’utilisateurs.
cities[] array<object> Principales villes avec leur nom et leur nombre d’utilisateurs.
sources_top5[] array<object> Cinq principales sources de trafic globales pour la fenêtre en direct.
pageviews_last60 array<[integer, integer]> Jusqu’à 60 paires [horodatage Unix en secondes, pages vues par minute], de la plus ancienne à la plus récente. Inclut la minute en cours, incomplète. Les minutes manquantes sont omises ; une série indisponible est un tableau vide. Les horodatages conservent les secondes de l’heure de génération de la réponse, comme dans la Legacy API.

Actualisation et mise en cache

Les réponses sont mises en microcache par tracker pendant 8 secondes. La réponse inclut également X-NowMetrix-Microcache avec la valeur HIT ou MISS.

Erreurs

HTTP Code Description
400 site_required Le paramètre site obligatoire est manquant.
401 missing_token L’en-tête Authorization est manquant.
401 invalid_token Le token n’est pas valide ou a été révoqué.
403 site_not_authorized La clé API n’a pas accès à ce tracker.
429 rate_limit_exceeded La limite de débit a été dépassée.
503 redis_unavailable Le backend en temps réel est temporairement indisponible.
{
  "error": {
    "code": "invalid_token",
    "message": "Bearer token is invalid or revoked."
  }
}