---
title: "Check the live status of ANY domain (not just monitored ones)"
method: GET
path: "/domain-status"
---

# Check the live status of ANY domain (not just monitored ones)

`GET /domain-status`

## Request

- Base URL: `https://www.domainlab.app/api/v1`
- URL: `https://www.domainlab.app/api/v1/domain-status`
- Auth: HTTP bearer

One-shot verdict combining registry (RDAP), DNS, and website signals: available, parked, for-sale, dead, active, or an expiry-lifecycle state (releasing, expiring, expired-grace) with an estimated release date. The same engine that powers Domain Lab's site-status change alerts.

## Query parameters

- `domain` string, required

## Response `200`

Status verdict

- object
  - `domain` string
  - `verdict` 'available' | 'releasing' | 'expiring' | 'expired-grace' | 'for-sale' | 'parked' | 'dead' | 'active'
  - `confidence` 'high' | 'medium' | 'low'
  - `headline` string: Plain-English one-line verdict
  - `signals` string[]: Human-readable evidence for the verdict
  - `registered` boolean
  - `registrar` string, nullable
  - `expires_at` string, date-time, nullable
  - `epp_statuses` string[]
  - `nameservers` string[]
  - `has_dns` boolean
  - `http_reachable` boolean, nullable
  - `estimated_release_date` string, date-time, nullable: For expiry-lifecycle verdicts: when the domain is likely to become available to register
  - `release_note` string, nullable

## Other responses

- `400`: Invalid domain name
- `401`: Missing or invalid API key
- `403`: Account lacks API access (no active subscription or trial)
- `429`: Rate limit or monthly quota exceeded. Respect the Retry-After header. code is RATE_LIMITED (short-lived) or MONTHLY_QUOTA_EXCEEDED (resets next period).

---

[API](https://skmtc.dev/domainlab/apis/domain-lab-api.md) · [All operations](https://skmtc.dev/domainlab/apis/domain-lab-api/llms.txt) · [OpenAPI document](https://skmtc.dev/domainlab/apis/domain-lab-api/revisions/5dade951c661?raw)
