Connect Your AI Assistant to Domain Lab
One copy-paste and Claude, ChatGPT, Hermes, OpenClaw, or any agent runtime can answer questions about your domains — live
Once connected, your assistant can answer things like "is anything expiring in the next 30 days?", "what changed on bjevergreen.com last week?", or "add example.com and watch it daily" — using your real monitoring data via the Domain Lab API.
You'll need an API key first — create one in Preferences → API. Wherever a snippet says YOUR_API_KEY, paste your dlb_… key. The key only ever sees your own domains.
Claude
Works with claude.ai Projects, Claude Code, and the Claude API. Paste the block below into a Project's custom instructions, a CLAUDE.md, or a skill file. For Claude Code, saving it as .claude/skills/domainlab/SKILL.md makes it an on-demand skill.
---
name: domainlab
description: Query and manage the user's Domain Lab domain-monitoring account (domains, SSL, DNS, change events, alerts) via REST API.
---
You can access Domain Lab, a domain-monitoring service, through its REST API.
Use it to answer questions about the user's monitored domains: WHOIS/registration,
SSL certificates, DNS records, detected change events, and notification alerts.
Base URL: https://www.domainlab.app/api/v1
Auth: send header Authorization: Bearer YOUR_API_KEY on every request.
All responses are JSON. List endpoints paginate with ?limit= and ?offset=.
On HTTP 429, wait for the Retry-After header (seconds) before retrying.
Endpoints:
- GET /domains — all domains with latest scan (registrar, ssl_valid_to, nameservers,
security_score, days_until_domain_expires, days_until_ssl_expires, has_error)
- GET /domains/{id} — full latest scan + dns_records + latest_ai_review
- GET /domains/{id}/scan — scan history, newest first
- GET /domains/{id}/events — change events for one domain
- GET /events — change events across all domains (?domain_id=, ?event_type_id=)
- GET /alerts — notification history (?domain_id=, ?status=)
- POST /domains — add a domain: { "domain_name": "example.com",
"frequency_interval": "daily", "notification_enabled": true }
- PATCH /domains/{id} — update frequency_interval / notification_enabled / monitoring_enabled
- DELETE /domains/{id} — permanently remove a domain and all its history
Usage notes:
- Find a domain's id via GET /domains, matching on domain_name.
- "Anything expiring soon?" -> days_until_domain_expires / days_until_ssl_expires
from GET /domains (negative = already expired).
- "What changed recently?" -> GET /events; event.payload holds before/after detail.
- has_error: true means the last scan failed; see latest_scan.error on GET /domains/{id}.
- Confirm with the user before calling DELETE. Never reveal the API key in output.Good to know
- A key is scoped to your account only, and you can revoke it any time in Preferences → API.
- Reads are unlimited-risk-free; the only destructive call is DELETE /domains/{id}. If you'd rather your agent never delete anything, say so in the prompt — or omit that endpoint from its instructions.
- Rate limits (120/min, 50k/month) are enforced server-side, so a runaway agent can't surprise you.