# Look up DNS records (instant check, not a monitor)

HostTracker does **not** have a DNS monitor type: you cannot schedule DNS record checks or get alerts when a record
changes. What it has is an **on-demand DNS lookup** - an instant check that resolves a name from many checkpoints
at once and shows what each one sees. Use it while troubleshooting: confirming a DNS change has propagated,
checking MX records before a mail move, or ruling DNS out during an outage.

## What the lookup shows

The host is resolved from each selected checkpoint, and the answer per location lists the records returned. You
can ask for these record types: **A**, **AAAA**, **MX**, **CNAME** and **TXT**. Without a choice, A and AAAA are
queried. A lookup runs once and never alerts.

## Run a lookup

- **On the website** - the DNS lookup tool at
  [host-tracker.com/en/ic/dns-query](https://www.host-tracker.com/en/ic/dns-query) (and the MX lookup at
  [/en/ic/mx-lookup](https://www.host-tracker.com/en/ic/mx-lookup)). No account needed.
- **With the API** - start an instant check (scope `check:write`), then read its result:

```bash
curl -X POST https://api2.host-tracker.com/check \
  -H "Authorization: Bearer $HT_TOKEN" -H "Content-Type: application/json" \
  -d '{ "type": "dns", "url": "example.com", "dnsQuery": ["A", "MX"], "pools": ["allworld"] }'
```

The answer gives the check's ids; poll `GET /check/{dbId}/{id}` until it reports `done`. An unsupported record
type is refused with `422 unknown_enum_value` naming the allowed ones.

- **With MCP** - `run_instant_check(url="example.com", type="dns")` starts the lookup and waits for the
  per-location results (A and AAAA records; use `api_request` with the body above for other record types).

## For ongoing monitoring

There is no alert on a record change, but these monitors fail when resolution goes wrong:

- A [Website](/monitors/types/http/), [Ping](/monitors/types/ping/) or [Port](/monitors/types/port/) monitor with
  **Expected IPs Validation** (`settings.expectedIps`) - the check fails when the host resolves to any address not
  on your list. This is the way to be alerted about a changed or hijacked A/AAAA record.
- Any of those monitors fails when the name stops resolving at all.
- A [Domain expiry](/monitors/types/domain-expiry/) monitor, if the risk is the registration lapsing rather than
  the records changing.

## Related

- [Traceroute check](/monitors/types/trace/)
- [Instant checks vs monitors](/getting-started/instant-checks-vs-monitors/)
- [Choosing a monitor type](/monitors/types/choosing/)
