How to list registered domains
View as MarkdownRetrieve the domains owned by the authenticated account, with cursor pagination, and fetch full detail for any one domain.
Overview
List domains registered to an account using GET /v3/domains/domain-names (recommended) or the legacy GET /v1/domains. Fetch full detail for any single domain using GET /v2/customers/{customerId}/domains/{domain}. v3 uses cursor-based HATEOAS pagination; v1 uses limit and marker.
v3 — List registered domains
GET /v3/domains/domain-names returns a paginated list of domains owned by the authenticated account. Results use cursor-based pagination via HATEOAS links in the response.
The following procedure lists registered domains using the v3 API.
- Run the following command for your preferred language:
curl -s "https://api.godaddy.com/v3/domains/domain-names" \
-H "Authorization: Bearer $GODADDY_PAT"The response is a DomainCollection with items (the current page) and links (pagination navigation):
{
"items": [
{
"domain": "example.com",
"status": "ACTIVE",
"expiresAt": "2027-01-15T00:00:00Z",
"autoRenew": true,
"privacy": false,
"transferLock": true,
"nameServers": ["ns01.domaincontrol.com", "ns02.domaincontrol.com"]
}
],
"links": [
{ "rel": "self", "href": "/v3/domains/domain-names?pageSize=25" },
{ "rel": "next", "href": "/v3/domains/domain-names?pageSize=25&pageToken=eyJkb21haW4iOiJleGFtcGxlLmNvbSJ9" }
]
}Follow the rel=next link to retrieve the next page. When rel=next is absent, you have reached the last page.
Filtering by lifecycle group
Use the lifecycleGroups query parameter to filter results by DomainLifecycleGroup:
| Value | Includes |
|---|---|
PENDING | Domains with setup in progress (for example, PENDING_REGISTRATION). |
REGISTERED | Active, operational domains (for example, ACTIVE, PARKED). |
PENDING_TERMINAL | Domains approaching a terminal state (for example, PENDING_TRANSFER, EXPIRED). |
TERMINAL | Domains that are no longer manageable (for example, CANCELLED, DELETED_REDEEMABLE, TRANSFERRED). |
curl -s "https://api.godaddy.com/v3/domains/domain-names?lifecycleGroups=REGISTERED" \
-H "Authorization: Bearer $GODADDY_PAT"Reference: GET /v3/domains/domain-names
v1 — List registered domains
GET /v1/domains returns the domains owned by the authenticated account, paginated with limit and marker. GET /v1/domains/{domain} returns full detail for a single domain.
This page assumes you have a PAT credential. See Authentication and Quickstart if you don't.
Retrieve registered domains
The response is an array of domain summaries. For pagination semantics and a looping example, see Pagination.
The following procedure retrieves the domains registered to the authenticated account.
- Run the following command for your preferred language:
curl -s "https://api.godaddy.com/v1/domains?limit=100" \
-H "Authorization: Bearer $GODADDY_PAT" \
-H "Accept: application/json"Filtering
GET /v1/domains accepts these query parameters in addition to limit and marker:
| Parameter | Notes |
|---|---|
statuses | Comma-separated list of domain statuses (e.g. ACTIVE, EXPIRED, PENDING_TRANSFER). Returns only domains in one of the listed statuses. |
statusGroups | Coarser filter — by status group (e.g. VISIBLE, EXPIRED). |
includes | Comma-separated list of expansions to include (e.g. contacts). Adds related objects to each item without a follow-up call. |
modifiedDate | ISO-8601 timestamp. Returns only domains modified at or after this time. |
Reference: GET /v1/domains.
Get details for a single domain
The response is a DomainDetail object covering registration metadata, expiration, contacts, nameservers, lock state, privacy state, and auto-renew configuration. For the full schema, see the reference.
The following procedure retrieves details for a single domain.
- Run the following command for your preferred language:
curl -s "https://api.godaddy.com/v1/domains/example.com" \
-H "Authorization: Bearer $GODADDY_PAT" \
-H "Accept: application/json"Reference: GET /v1/domains/{domain}.
v2 — single domain detail
Use the v2 endpoint for single-domain detail. It returns consistent status values and gives you access to async operation tracking if you need it.
The following procedure retrieves domain details for a specific customer.
- Run the following command for your preferred language:
curl -s "https://api.godaddy.com/v2/customers/$CUSTOMER_ID/domains/example.com" \
-H "Authorization: Bearer $GODADDY_PAT" \
-H "Accept: application/json"Reference: GET /v2/customers/{customerId}/domains/{domain}.
v2 paths (/v2/customers/{customerId}/domains/...) are preferred for single-domain detail; v1 paths are appropriate for list operations and account-scoped writes.
Use the CLI
After you set up the CLI, you can use it to list domains in your account and fetch full details for one domain. See the CLI reference for the full gddy domain command list.
The following procedure lists domains and fetches domain details using the CLI.
- Run the command for your operation:
gddy domain list
gddy domain list --status ACTIVE
gddy domain get example.comUse the REST API for v2 single-domain detail; the preceding CLI commands use v1 account-scoped endpoints.
Common errors
| Status | Most likely cause |
|---|---|
401 | Token missing, expired, or revoked. |
403 | Account doesn't meet requirements for this operation. See Account requirements. |
404 (single-domain GET) | Domain doesn't exist, or isn't owned by the authenticated account. |
429 | Rate limit. Wait retryAfterSec and retry. |
Full error envelope and retry guidance: Errors.
Next
Update DNS records
Add, replace, or delete A, CNAME, MX, TXT, and other record types.
Update contacts
Change registrant, admin, billing, or tech contacts on a domain you own.
Auto-renew and renewals
Toggle auto-renew, manually renew, redeem from grace period.
Agent & Automation Notes
domains.domain:readRelated
Last updated on
How is this guide?