REST-API-Endpoint

GET /v1/recap

Recap-Date, Zämefassigsmetriken und Top-Siite für Presets oder en eigene Ziitruum.

Aafrag

GET https://api.nowmetrix.com/v1/recap?site=TRACKER_ID&preset=last30&limit=25

Verwänded Si Recap, wenn Ihri Integration zrugg luege muess: für historischi Berichte, Top-Siite-Exporte, eigeti Ziitrüüm oder Ergebnis, wo Si mit ere Suechi gfiltret händ.

Authentifizierig

Si bruuched en API-Key im Authorization-Header: Authorization: Bearer nm_YOUR_KEY.

Abfrageparameter

Name Typ Erforderlich Beschriibig
site string erforderlich Tracker-ID. De API-Key muess Zuegriff uf dä Tracker ha.
preset string optional Datums-Preset. Eis vo today, yesterday, last7, last14, last30, last90, this_month, last_month, all_time, custom. Standard: last30.
start date optional Startdatum für preset=custom. Format: YYYY-MM-DD.
end date optional Enddatum für preset=custom. Format: YYYY-MM-DD.
limit integer optional Maximali Anzahl Top-Siite pro Antwort, au bi paginierte Antworte. Wärte werded uf 1–100 begränzt. Standard: 100.
q string optional Suchbegriff für Top-Siite. Passt zu URL, Titel oder Autor. Alias: search.
search string optional Alias für q.
offset integer optional Started Si d Pagination mit offset=0. Ganzzahlig vo 0 bis 2000. Für spöteri Siite bruuched Si snapshot. Ohni Offset oder Snapshot bliibt d’bestehendi Antwort unverändert.
snapshot string optional Verwänded Si pagination.snapshot_id us de erschte Antwort. Wiederholed Si d’ursprüngliche Parameter site, preset, start, end und search. D’Siitegrössi darf sich ändere. Lönd Si snapshot wäg, zum en neue Durchlauf z’starte.

cURL-Biispil

curl -H "Authorization: Bearer nm_YOUR_KEY" \
  "https://api.nowmetrix.com/v1/recap?site=TRACKER_ID&preset=last30&limit=25"

Biispilantwort

{
  "site": "TRACKER_ID",
  "preset": "last30",
  "timezone": "Europe/Zurich",
  "range": {
    "from": "2026-05-28",
    "to": "2026-06-26",
    "label": "Last 30 Days",
    "days": 30
  },
  "limits": {
    "min_date": "2025-03-17",
    "max_date": "2026-06-26",
    "max_days": null
  },
  "search": {
    "query": ""
  },
  "daily": [
    {
      "date": "2026-06-25",
      "pageviews": 102400,
      "visits": 12800
    },
    {
      "date": "2026-06-26",
      "pageviews": 98450,
      "visits": 12130
    }
  ],
  "summary": {
    "total_pageviews": 3158127,
    "total_visits": 388450,
    "pages_per_visitor": 8.1
  },
  "top_pages": [
    {
      "rank": 1,
      "title": "Home page",
      "author": "",
      "pubdate": "",
      "url": "/",
      "url_full": "https://example-media.test/",
      "url_id": "5dc0a5883395e2a126e5239650d9268e",
      "thumbnail": "https://realtimemetadata.fra1.cdn.digitaloceanspaces.com/thumbnails/example.jpg",
      "pageviews": 159280
    },
    {
      "rank": 2,
      "title": "Culture desk live notes",
      "author": "Alex Morgan",
      "pubdate": "2026-06-24",
      "url": "/culture/live-notes",
      "url_full": "https://example-media.test/culture/live-notes",
      "url_id": "b35c1a5f2fd0cbb7f3c13b853c2a9d2c",
      "thumbnail": "https://realtimemetadata.fra1.cdn.digitaloceanspaces.com/thumbnails/example-2.jpg",
      "pageviews": 85632
    }
  ],
  "generated_at": "2026-06-26T12:30:00Z"
}

Pagination

Füeged Si offset=0 dezue, zum d’Pagination z’aktiviere. Jede Antwort enthält höchstens 100 Artikel; de Snapshot enthält höchstens 2000. Ohni Offset oder Snapshot blibed s’bestehendi Antwortformat und Limit unverändert.

Für jedi nöchschti Siite schicked Si pagination.next_offset als Offset und pagination.snapshot_id als Snapshot. Wiederholed Si d’ursprüngliche Parameter site, preset, start, end und search, inklusive eigete Date. Höred Si uf, wenn next_offset null isch. En Offset, wo gliich oder grösser als d’verfüegbari Anzahl isch, git es leeres top_pages-Array zrugg.

D’Reiefolg vo de Artikel, Pageviews, tägliche Wärte, Zämefassig und generated_at blibed über alli Siite fix, au bi Ziitruum, wo hüt enthalted. D’Zämefassigsmetriken beziehnd sich uf de ganze usgwählte Ziitruum; pagination.total zählt nur Artikel im begränzte Snapshot. Jede Aafrag bruucht wiiterhin e gültigi Autorisierig und zählt zum Rate-Limit vom Tracker.

Snapshots laufed nach 10 Minute ab. S Abrüefe vo Siite verlängert die Frist nöd. Bi HTTP 410 verwärfed Si de unvollständige Durchlauf und started Si neu mit offset=0 ohni Snapshot. D’Biispil unde zeiged d’erscht Aafrag, e Fortsetzig und s’zusätzliche Pagination-Objekt.

GET https://api.nowmetrix.com/v1/recap?site=TRACKER_ID&preset=last30&limit=100&offset=0
GET https://api.nowmetrix.com/v1/recap?site=TRACKER_ID&preset=last30&limit=100&offset=100&snapshot=0123456789abcdef0123456789abcdef0123456789abcdef
{
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 2000,
    "max_results": 2000,
    "has_more": true,
    "next_offset": 100,
    "snapshot_id": "0123456789abcdef0123456789abcdef0123456789abcdef",
    "expires_at": "2026-06-26T12:40:00Z"
  }
}

Antwortfelder

Feld Typ Beschriibig
site string Tracker-ID, wo für d’Aafrag verwendet worde isch.
preset string Uufglöstes Preset, wo für d’Antwort verwendet worde isch.
timezone string Tracker-Ziitzone, wo zum Uuflöse vo lokale Date verwendet worde isch.
range object Uufglöster Datumsziitruum mit from, to, label und Anzahl Täg.
limits object Verfüegbari Grenze für d’Historie vom Tracker.
search.query string Normalisierte Suechbegriff, wo zum Filtere vo de Top-Siite verwendet worde isch.
daily[] array<object> Täglichi Pageviews und Bsüech für de uufglöste Ziitruum.
summary.total_pageviews integer Total Pageviews über de uufglöste Ziitruum.
summary.total_visits integer Total Bsüech über de uufglöste Ziitruum.
summary.pages_per_visitor number Pageviews geteilt durch Bsüech, uf e Dezimalstell rundet.
top_pages[] array<object> Top-Siite, sortiert nach Pageviews.
top_pages[].rank integer Rang im vollständige Snapshot bi ere Pagination; d’Räng laufed über alli Siite wiiter.
top_pages[].title string Titel vo de Siite.
top_pages[].author string Autor, falls verfüegbar.
top_pages[].pubdate string Veröffentlichigsdatum, falls verfüegbar.
top_pages[].url string Pfad oder kompakti URL.
top_pages[].url_full string Absoluti URL, falls verfüegbar.
top_pages[].url_id string Stabili URL-Kennig.
top_pages[].thumbnail string Thumbnail-URL, falls verfüegbar.
top_pages[].pageviews integer Pageviews für de uufglöste Ziitruum.
generated_at string UTC-Ziitstempel, wo zeigt, wenn d’Payload erstellt worde isch.
pagination object Nur im Pagination-Modus vorhande. Über alli Siite sind höchstens 2000 Artikel verfüegbar.
pagination.limit integer Effektivi Siitegrössi vo 1 bis 100.
pagination.offset integer Nullbasierti Position vo de aagforderete Siite.
pagination.total integer Anzahl Artikel in dem Snapshot, begränzt uf 2000. Das isch nöd d’unbegränzti Anzahl passende URLs.
pagination.max_results integer Maximali Anzahl Artikel pro Snapshot: 2000.
pagination.has_more boolean Zeigt, öb innerhalb vo dem Snapshot no e wiiteri Siite verfüegbar isch.
pagination.next_offset integer|null Übergäbed Si dä Wert als Offset für d’nöchschti Siite. Null bedütet, dass s’Ändi erreicht isch.
pagination.snapshot_id string Nöd sprechendi ID für spöteri Aafrage mit em Snapshot-Parameter. A de authentifizierte Benutzer und de Tracker bunde.
pagination.expires_at string Fixes Ablaufdatum in UTC, 10 Minute nach em Speichere. S’Aaluege vo Siite verlängert die Ziit nöd.

Aktualität und Caching

Aafrage ohni Pagination verwänded de bestehende 60-Sekunde-Microcache und de historische Fallback. Bi ere Pagination wird en unveränderliche Snapshot im lokale Stats Redis für 600 Sekunde gspeicheret, mit automatischem Ablauf und ohni gleitendi Verlängerig. Identischi Starts vom gliiche User innerhalb vo 60 Sekunde chönd en Snapshot wiederverwände. Verwänded Si drum expires_at als Frist. Fortsetzige baued d’Date nöd nomal uf und verwänded au kei andere Snapshot als Fallback.

Fehler

HTTP Code Beschriibig
400 site_required De erforderliche site-Parameter fehlt.
401 missing_token De Authorization-Header fehlt.
401 invalid_token De Token isch ungültig oder widerruefe worde.
403 site_not_authorized De API-Key hät kei Zuegriff uf dä Tracker.
429 rate_limit_exceeded S’Rate-Limit isch überschritte worde.
503 redis_unavailable S’Realtime-Backend isch vorübergehend nöd verfüegbar.
503 clickhouse_unavailable Historischi Date sind vorübergehend nöd verfüegbar.
500 encoding_failed D’Recap-Antwort cha nöd codiert werde.
400 invalid_pagination Pagination-Abfrageparameter müend skalaari Wärte sii.
400 invalid_offset Offset muess e Ganzzahl vo 0 bis 2000 sii.
400 invalid_snapshot D’Snapshot-ID hät es ungültigs Format.
400 snapshot_required Offsets grösser als null bruuched e Snapshot-ID. Started Si mit offset=0.
400 snapshot_mismatch Das Preset, d’Date oder d’Suechi wiched vo de ursprüngliche Aafrag ab.
410 snapshot_expired De Snapshot isch abgloffe oder in dem User-/Tracker-Kontext nümme verfüegbar. Started Si neu mit offset=0 und ohni Snapshot.
503 snapshot_storage_unavailable De Snapshot-Speicher cha nöd glese oder gschribe werde. Versueched Si es nomal; e bestehendi Snapshot-ID muess unverändert bliibe.
503 recap_unavailable En vollständige neue Snapshot cha im Moment nöd erstellt werde. Versueched Si es i churzer Ziit nomal.
{
  "error": {
    "code": "invalid_token",
    "message": "Bearer token is invalid or revoked."
  }
}