Web Analytics

GET /v1/applications/{uuid}/analytics

Privacy-friendly, cookie-free pageview analytics for an application. It is a read-only aggregation over the request traffic already logged at the edge — there is no tracking script, no cookie, and no per-visitor identity. Unique visitors are counted as distinct source IP addresses.

Nothing to enable per app: because all traffic is already logged, the Analytics tab (and this endpoint) light up as soon as your plan carries the web_analytics entitlement. Without it the request returns 403.

Query parameters

range string
The time window to aggregate: 24h, 7d, 30d, or 90d. Default 24h.

Response (200 OK)

pageviews int
Total page requests served in the range.
visitors int
Unique visitors — distinct source IP addresses (cookie-free, no per-visitor identity).
top_pages array
The most-requested paths with their pageview counts.
top_countries array
Visitor countries with their counts.
devices array
A breakdown by device type (desktop / mobile / tablet).
timeseries array
Pageviews and visitors bucketed over time across the range (for the chart).

Errors

403
The plan lacks the web_analytics entitlement.
404
Unknown application.
Request
curl "https://api.ngris.com/v1/applications/019be838-d261-7d9b-9499-71995a3a91c6/analytics?range=7d" \ -H "X-API-KEY: <your_api_key>"
Response — 200 OK
{ "pageviews": 18422, "visitors": 4103, "top_pages": [ { "path": "/", "views": 9120 }, { "path": "/pricing", "views": 2841 } ], "top_countries": [ { "country": "US", "views": 7311 }, { "country": "DE", "views": 2044 } ], "devices": [ { "device": "desktop", "views": 11380 }, { "device": "mobile", "views": 6510 } ], "timeseries": [ { "t": "2026-09-14T00:00:00Z", "pageviews": 2510, "visitors": 690 }, { "t": "2026-09-15T00:00:00Z", "pageviews": 2733, "visitors": 712 } ] }
On this page
Web Analytics