queryAnalytics
Query NextDNS analytics to get metrics on query status, devices, protocols, and more. Use filters to analyze traffic by time, device, or specific metric.
Instructions
Query NextDNS analytics metrics.
Metrics:
- status: Query resolution status (default, blocked, allowed, relayed).
- devices: Queries per device.
- protocols: DNS transport protocol (DoH, DoT, Do53 UDP/TCP, DoQ).
- queryTypes: DNS record types requested (A, AAAA, CNAME, etc.).
- ipVersions: IPv4 vs IPv6 queries.
- dnssec: DNSSEC validation results.
- encryption: Encrypted vs unencrypted queries.
- reasons: Why queries were blocked or allowed.
- ips: Top source IPs.
- destinations: Top destinations; requires destination_type such as
countries or gafam.
Set series=true to fetch time-series data instead of aggregate totals.
Time values can be Unix timestamps or relative strings like -1d.
Note: series=true is not supported when metric="domains".
Optional filters:
- cursor: Pagination cursor from a previous response.
- device: Filter analytics to a single device id.
- status: For the domains metric, filter by resolution status.
- root: For the domains metric, group results by root domain (boolean).
Examples:
- totals: queryAnalytics(metric="status", profile_id="abc123", from_time="-1d")
- time series: queryAnalytics(metric="status", profile_id="abc123", from_time="-1d", series=true)
- destinations: queryAnalytics(metric="destinations", profile_id="abc123", from_time="-1d", destination_type="countries")
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | ||
| limit | No | ||
| cursor | No | ||
| device | No | ||
| metric | Yes | ||
| series | No | ||
| status | No | ||
| to_time | No | ||
| interval | No | ||
| partials | No | ||
| timezone | No | ||
| alignment | No | ||
| from_time | No | ||
| profile_id | Yes | ||
| destination_type | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||