Endpoint REST API
GET /v1/recap
Dati di Recap, metriche riepilogative e Pagine principali per i preset o per un intervallo di date personalizzato.
Richiesta
GET
https://api.nowmetrix.com/v1/recap?site=TRACKER_ID&preset=last30&limit=25
Usare Recap quando l’integrazione deve analizzare dati storici: report, esportazioni delle Pagine principali, intervalli di date personalizzati o risultati filtrati in base alla ricerca.
Autenticazione
È richiesta una chiave API nell’header Authorization: Authorization: Bearer nm_YOUR_KEY.
Parametri della query
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
site |
string |
obbligatorio | ID del tracker. La chiave API deve avere accesso a questo tracker. |
preset |
string |
facoltativo | Preset per l’intervallo di date. Uno tra today, yesterday, last7, last14, last30, last90, this_month, last_month, custom. Valore predefinito: last30. |
start |
date |
facoltativo | Data di inizio per preset=custom. Formato: YYYY-MM-DD. |
end |
date |
facoltativo | Data di fine per preset=custom. Formato: YYYY-MM-DD. |
limit |
integer |
facoltativo | Numero massimo di Pagine principali da restituire. I valori vengono ricondotti all’intervallo 1-100. Valore predefinito: 100. |
q |
string |
facoltativo | Termine di ricerca per le Pagine principali. Corrisponde all’URL, al titolo o all’autore. Alias: search. |
search |
string |
facoltativo | Alias di q. |
Esempio cURL
curl -H "Authorization: Bearer nm_YOUR_KEY" \
"https://api.nowmetrix.com/v1/recap?site=TRACKER_ID&preset=last30&limit=25"
Esempio di risposta
{
"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"
}
Campi della risposta
| Campo | Tipo | Descrizione |
|---|---|---|
site |
string |
ID del tracker utilizzato per la richiesta. |
preset |
string |
Preset effettivamente utilizzato per la risposta. |
timezone |
string |
Fuso orario del tracker utilizzato per determinare le date locali. |
range |
object |
Intervallo di date determinato, con data iniziale, data finale, etichetta e numero di giorni. |
limits |
object |
Limiti dello storico disponibile per il tracker. |
search.query |
string |
Query di ricerca normalizzata utilizzata per filtrare le Pagine principali. |
daily[] |
array<object> |
Pageview e visite giornalieri per l’intervallo determinato. |
summary.total_pageviews |
integer |
Totale dei Pageview nell’intervallo determinato. |
summary.total_visits |
integer |
Totale delle visite nell’intervallo determinato. |
summary.pages_per_visitor |
number |
Pageview diviso per il numero di visite, arrotondato a una cifra decimale. |
top_pages[] |
array<object> |
Pagine principali ordinate per Pageview. |
top_pages[].rank |
integer |
Posizione nella lista restituita delle Pagine principali. |
top_pages[].title |
string |
Titolo della pagina. |
top_pages[].author |
string |
Autore, se disponibile. |
top_pages[].pubdate |
string |
Data di pubblicazione, se disponibile. |
top_pages[].url |
string |
Percorso o URL abbreviato. |
top_pages[].url_full |
string |
URL assoluto, se disponibile. |
top_pages[].url_id |
string |
Identificatore stabile dell’URL. |
top_pages[].thumbnail |
string |
URL della miniatura, se disponibile. |
top_pages[].pageviews |
integer |
Pageview nell’intervallo determinato. |
generated_at |
string |
Timestamp UTC di generazione del payload. |
Aggiornamento e caching
Le risposte vengono memorizzate in microcache per 60 secondi per ciascun tracker, preset, intervallo personalizzato, limite e termine di ricerca normalizzato.
Errori
| HTTP | Codice | Descrizione |
|---|---|---|
| 400 | site_required |
Manca il parametro obbligatorio site. |
| 401 | missing_token |
Manca l’header Authorization. |
| 401 | invalid_token |
Il token non è valido o è stato revocato. |
| 403 | site_not_authorized |
La chiave API non ha accesso a questo tracker. |
| 429 | rate_limit_exceeded |
È stato superato il limite di richieste. |
| 503 | redis_unavailable |
Il backend realtime non è temporaneamente disponibile. |
| 503 | clickhouse_unavailable |
I dati storici non sono temporaneamente disponibili. |
| 500 | encoding_failed |
Non è stato possibile codificare la risposta di Recap. |
{
"error": {
"code": "invalid_token",
"message": "Bearer token is invalid or revoked."
}
}