Skip to content
POST AI agent ready /v1/dns-monitor/check

DNS Monitoring API - Free DNS Change Detection

Queries current DNS records for a domain and compares them against a stored snapshot from the previous check. Returns a diff showing which record types changed, what the previous values were, and what the current values are. Snapshots are stored for 7 days. On the first check, the current state is saved and no changes are reported.

Parameters

stringrequired

Domain name to monitor.

array

DNS record types to check. Defaults to A, AAAA, MX, TXT, NS, CNAME.

Code examples

curl -X POST https://api.botoi.com/v1/dns-monitor/check \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com","types":["A","MX","NS"]}'

When to use this API

Detect unauthorized DNS changes

Schedule periodic checks on your production domains to detect DNS hijacking, accidental record deletions, or unauthorized modifications. Trigger an alert when changes_detected is true.

Verify DNS migration completeness

After migrating DNS providers, poll this endpoint to confirm all record types have updated to the new values. Compare current records against your expected configuration.

Monitor competitor or partner domains

Track DNS changes on third-party domains you depend on. Detect when a partner changes their MX records (email provider switch) or A records (hosting migration).

Frequently asked questions

How long are snapshots stored?
Snapshots are stored for 7 days. If you do not check a domain within 7 days, the previous snapshot expires and the next check starts fresh with no comparison data.
What DNS record types are supported?
A, AAAA, MX, TXT, NS, CNAME, SOA, and PTR. If you omit the types parameter, the default set (A, AAAA, MX, TXT, NS, CNAME) is checked.
Can I use this for uptime monitoring?
This endpoint checks DNS records, not HTTP availability. For HTTP uptime monitoring, use the /v1/uptime/check endpoint instead.
What happens on the first check?
The first check stores the current DNS state as a baseline. It returns changes_detected: false and previous_check: null. Subsequent checks compare against this baseline.
Is the comparison case-sensitive?
DNS record values are compared as-is from the resolver. Record values are sorted before comparison, so order changes alone do not trigger a change detection.

Get your API key

Free tier includes 5 requests per minute with no credit card required. Upgrade for higher limits.