Documentation sections
Developer platform
DomainListener API
Build domain workflows with personal API keys, anonymous WHOIS lookup, public monitor status, and a remote MCP server.
Authentication
Use a scoped bearer key.
Create personal keys in Settings and select only the scopes an integration needs. Keys are shown once, so store them in a server-side environment variable. Public WHOIS and monitor-status endpoints do not require a key.
First request
Verify your key with a read.
Give the key domains:read, then list tracked domains. Successful v1 responses use a data envelope.
curl --request GET https://domainlistener.com/api/v1/domains \
--header "Authorization: Bearer $DOMAINLISTENER_API_KEY"Workspace API
Tenant-scoped v1 resources
The base URL is https://domainlistener.com/api/v1. All operations are bound to the API key's owner and scopes.
| Resource | Read | Write | Scopes |
|---|---|---|---|
| Domains | GET /api/v1/domains | POST /api/v1/domains | domains:read, domains:write |
| Domain groups | GET /api/v1/groups | POST /api/v1/groups | groups:read, groups:write |
| Monitors | GET /api/v1/monitors | POST /api/v1/monitors | monitors:read, monitors:write |
| Research queue | GET /api/v1/research-queue | POST /api/v1/research-queue | research-queue:read, research-queue:write |
curl --request POST https://domainlistener.com/api/v1/domains \
--header "Authorization: Bearer $DOMAINLISTENER_API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"example.com"}'Public endpoints
Lookup and status, without an API key.
These endpoints are public by design. They expose no workspace management operations.
WHOIS lookup
Inspect a public registry record.
Pass one fully qualified domain name using the required domain parameter. The response includes availability, dates, registrar, nameservers, status values, and DNSSEC data.
curl "https://domainlistener.com/api/whois?domain=example.com"Rate limit: 10 requests per minute per IP by default. Inspect RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset.
400 invalid domain · 422 unavailable TLD data · 429 rate limit · 503 temporary service failure
Public monitor status
Read a monitor's public health data.
A monitor owner must enable public status and configure a slug. The response provides isUp, last check time, active incidents, uptime summaries, response-time series, and recent checks. Unknown or private slugs return 404.
curl "https://domainlistener.com/api/status/your-public-monitor-slug"Code examples
Use your service runtime.
const response = await fetch("https://domainlistener.com/api/v1/domains", {
headers: {
Authorization: `Bearer ${process.env.DOMAINLISTENER_API_KEY}`,
},
});
if (!response.ok) throw new Error(await response.text());
const { data } = await response.json();import os
import requests
response = requests.get(
"https://domainlistener.com/api/v1/domains",
headers={"Authorization": f"Bearer {os.environ['DOMAINLISTENER_API_KEY']}"},
timeout=15,
)
response.raise_for_status()
domains = response.json()["data"]MCP
Connect a remote MCP client.
Use the Streamable HTTP server at https://www.domainlistener.com/api/mcp. Claude discovers the OAuth connection automatically; authenticate in your client and approve its read-only access request.
{
"mcpServers": {
"domainlistener": {
"type": "http",
"url": "https://www.domainlistener.com/api/mcp"
}
}
}No desktop client secret is needed: public OAuth clients use PKCE. Personal API-key headers remain available for advanced automation, with reads limited to 120 requests per minute and writes to 30.