# View DNS query statistics

> See how many DNS queries a hosted zone answered, by response code and by hour, on a website's Overview tab.

Source: https://www.coritan.com/docs/websites/dns-query-statistics/

In the dashboard:

- /dashboard/websites/…/overview: https://www.coritan.com/dashboard/websites

A website's **Overview** tab counts the DNS queries Coritan's nameservers answered for its zone over a period you choose. Use it to confirm that resolvers have found your zone after a nameserver change, and to spot names that do not exist or answers that fail.

## Before you begin

The domain's DNS must be hosted on Coritan. For a domain whose DNS is elsewhere, the tab shows **No query statistics**.

## Read the statistics

1. In the dashboard, go to [Websites](https://www.coritan.com/dashboard/websites) and select the domain. The **Overview** tab opens.
2. Choose a **Time range**: **1 hour**, **6 hours**, **24 hours**, **48 hours**, **7 days** or **30 days**. The tab opens on **24 hours**.
3. Read the four counters for that period:
   - **Total queries**: every query the zone received.
   - **NOERROR**: queries the zone answered.
   - **NXDOMAIN**: queries for a name that does not exist in the zone.
   - **SERVFAIL**: queries the nameserver could not answer.
4. Read the **Query analytics** chart, which draws the same four counts hour by hour.

The **Nameservers** card below the chart lists the domain's nameservers when Coritan is its registrar. For a domain registered elsewhere, it says you set the nameservers at the other registrar.

## Result

The counters and the chart cover the range you chose, in hourly steps. A zone that no resolver has asked about yet shows **No queries in this range**.

## Troubleshooting

**No queries in this range**
: No resolver asked for the zone in that period. Check that the registrar lists Coritan's nameservers ([Change a domain's nameservers](/docs/websites/domains/change-nameservers/)), then choose a longer range.

A high **NXDOMAIN** count
: Clients ask for names the zone does not have. Compare the names your services use with the zone's records on the **DNS** tab.

`Could not load the zone statistics`
: The request failed. Reload the page to try again.

## Related

- [How DNS hosting works](/docs/websites/dns/)
- [Add, edit and delete DNS records](/docs/websites/dns/manage-dns-records/)

## With the API

Read the statistics for the last `hours` hours, from 1 to 720 (24 when you leave it out):

```bash
curl "https://api.coritan.com/api/v1/dns/zones/42/stats?hours=168" \
  -H "Authorization: Bearer $CORITAN_TOKEN"
```

```json
{
  "zone_id": 42,
  "period_hours": 168,
  "total_queries": 18250,
  "noerror": 17904,
  "nxdomain": 331,
  "servfail": 15,
  "by_type": {"A": 9120, "AAAA": 6210, "MX": 1402, "TXT": 1518},
  "hourly": [
    {"hour": "2026-09-25 14:00:00", "total": 131, "noerror": 128, "nxdomain": 3, "servfail": 0}
  ]
}
```

`by_type` counts the period's queries by record type. `hourly` holds one entry per hour that had queries, newest first.

## API

- `GET /api/v1/dns/zones/{zone_id}/stats`: Get zone stats (https://www.coritan.com/docs/api/reference/client/dns/#op-get-api-v1-dns-zones-zone-id-stats)
