---
title: List domains
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/go)

[Registrar](https://developers.cloudflare.com/api/go/resources/registrar)

[Domains](https://developers.cloudflare.com/api/go/resources/registrar/subresources/domains)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# List domains

Deprecated: This operation is deprecated and will reach end of life on September 27, 2026. Use the new Registrar API endpoints (domain-search, domain-check, registrations) instead. Refer to https://developers.cloudflare.com/fundamentals/api/reference/deprecations/ for details.

client.Registrar.Domains.List(ctx, query) (\*SinglePage\[[Domain](<https://developers.cloudflare.com/api/go/resources/registrar#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)>)], error)

GET/accounts/{account\_id}/registrar/domains

Lists domains handled by Registrar.

##### Security

<details>

<summary>API Token</summary>



The preferred authorization scheme for interacting with the Cloudflare API. <a href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/">Create a token</a>.

**Example:**<code>Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY</code>

</details>

<details>

<summary>API Email + API Key</summary>



The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

**Example:**<code>X-Auth-Email: user@example.com</code>

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

**Example:**<code>X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194</code>

</details>

##### ParametersExpand Collapse

<details>

<summary>

query DomainListParams

</summary>

AccountID param.Field\[string]

Identifier.

maxLength32

<a href="#(resource)%20registrar.domains%20%3E%20(method)%20list%20%3E%20(params)%20default%20%3E%20(param)%20account_id">Link to this property</a>

</details>

[Link to this property](<#(resource)%20registrar.domains%20%3E%20(method)%20list%20%3E%20(params)%20default>)

##### ReturnsExpand Collapse

<details>

<summary>

type Domain struct{…}

</summary>

ID stringOptional

Domain identifier.

maxLength32

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

Available boolOptional

Shows if a domain is available for transferring into Cloudflare Registrar.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20available">Link to this property</a>

CanRegister boolOptional

Indicates eligibility to register the domain as a new domain.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20can_register">Link to this property</a>

CreatedAt TimeOptional

Shows time of creation.

formatdate-time

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20created_at">Link to this property</a>

CurrentRegistrar stringOptional

Shows name of current registrar.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20current_registrar">Link to this property</a>

ExpiresAt TimeOptional

Shows when domain name registration expires.

formatdate-time

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20expires_at">Link to this property</a>

Locked boolOptional

Shows whether a registrar lock is in place for a domain.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20locked">Link to this property</a>

<details>

<summary>

RegistrantContact DomainRegistrantContactOptional

Shows contact information for domain registrant.

</summary>

Address string

Address.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20address">Link to this property</a>

City string

City.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20city">Link to this property</a>

Country string

The country in which the user lives.

maxLength30

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20country">Link to this property</a>

FirstName string

User’s first name.

maxLength60

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20first_name">Link to this property</a>

LastName string

User’s last name.

maxLength60

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20last_name">Link to this property</a>

Organization string

Name of organization.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20organization">Link to this property</a>

Phone string

User’s telephone number.

maxLength20

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20phone">Link to this property</a>

State string

State.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20state">Link to this property</a>

Zip string

The zipcode or postal code where the user lives.

maxLength20

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20zip">Link to this property</a>

ID stringOptional

Contact Identifier.

maxLength32

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20id">Link to this property</a>

Address2 stringOptional

Optional address line for unit, floor, suite, etc.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20address2">Link to this property</a>

Email stringOptional

The contact email address of the user.

maxLength90

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20email">Link to this property</a>

Fax stringOptional

Contact fax number.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact%20%3E%20(property)%20fax">Link to this property</a>

</details>

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registrant_contact">Link to this property</a>

RegistryStatuses stringOptional

A comma-separated list of registry status codes. Refer to <a href="https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en">EPP Status Codes</a> for the full list.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20registry_statuses">Link to this property</a>

SupportedTLD boolOptional

Indicates whether Cloudflare Registrar currently supports a particular TLD. Refer to <a href="https://www.cloudflare.com/tld-policies/">TLD Policies</a> for a list of supported TLDs.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20supported_tld">Link to this property</a>

<details>

<summary>

TransferIn DomainTransferInOptional

Statuses for domain transfers into Cloudflare Registrar.

</summary>

<details>

<summary>

AcceptFoa DomainTransferInAcceptFoaOptional

Status of the registrant authorization step.

</summary>

One of the following:

const DomainTransferInAcceptFoaNeeded DomainTransferInAcceptFoa = "needed"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20accept_foa%20%3E%20(member)%200">Link to this property</a>

const DomainTransferInAcceptFoaOk DomainTransferInAcceptFoa = "ok"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20accept_foa%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20accept_foa">Link to this property</a>

<details>

<summary>

ApproveTransfer DomainTransferInApproveTransferOptional

Status of the registry transfer-approval step.

</summary>

One of the following:

const DomainTransferInApproveTransferNeeded DomainTransferInApproveTransfer = "needed"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20approve_transfer%20%3E%20(member)%200">Link to this property</a>

const DomainTransferInApproveTransferOk DomainTransferInApproveTransfer = "ok"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20approve_transfer%20%3E%20(member)%201">Link to this property</a>

const DomainTransferInApproveTransferPending DomainTransferInApproveTransfer = "pending"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20approve_transfer%20%3E%20(member)%202">Link to this property</a>

const DomainTransferInApproveTransferTrying DomainTransferInApproveTransfer = "trying"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20approve_transfer%20%3E%20(member)%203">Link to this property</a>

const DomainTransferInApproveTransferRejected DomainTransferInApproveTransfer = "rejected"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20approve_transfer%20%3E%20(member)%204">Link to this property</a>

const DomainTransferInApproveTransferUnknown DomainTransferInApproveTransfer = "unknown"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20approve_transfer%20%3E%20(member)%205">Link to this property</a>

</details>

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20approve_transfer">Link to this property</a>

CanCancelTransfer boolOptional

Indicates if cancellation is still possible.

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20can_cancel_transfer">Link to this property</a>

<details>

<summary>

DisablePrivacy DomainTransferInDisablePrivacyOptional

Status of the privacy-guard disabling step at the foreign registrar.

</summary>

One of the following:

const DomainTransferInDisablePrivacyNeeded DomainTransferInDisablePrivacy = "needed"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20disable_privacy%20%3E%20(member)%200">Link to this property</a>

const DomainTransferInDisablePrivacyOk DomainTransferInDisablePrivacy = "ok"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20disable_privacy%20%3E%20(member)%201">Link to this property</a>

const DomainTransferInDisablePrivacyUnknown DomainTransferInDisablePrivacy = "unknown"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20disable_privacy%20%3E%20(member)%202">Link to this property</a>

</details>

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20disable_privacy">Link to this property</a>

<details>

<summary>

EnterAuthCode DomainTransferInEnterAuthCodeOptional

Status of the auth-code entry and verification step.

</summary>

One of the following:

const DomainTransferInEnterAuthCodeNeeded DomainTransferInEnterAuthCode = "needed"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20enter_auth_code%20%3E%20(member)%200">Link to this property</a>

const DomainTransferInEnterAuthCodeOk DomainTransferInEnterAuthCode = "ok"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20enter_auth_code%20%3E%20(member)%201">Link to this property</a>

const DomainTransferInEnterAuthCodePending DomainTransferInEnterAuthCode = "pending"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20enter_auth_code%20%3E%20(member)%202">Link to this property</a>

const DomainTransferInEnterAuthCodeTrying DomainTransferInEnterAuthCode = "trying"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20enter_auth_code%20%3E%20(member)%203">Link to this property</a>

const DomainTransferInEnterAuthCodeRejected DomainTransferInEnterAuthCode = "rejected"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20enter_auth_code%20%3E%20(member)%204">Link to this property</a>

</details>

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20enter_auth_code">Link to this property</a>

<details>

<summary>

UnlockDomain DomainTransferInUnlockDomainOptional

Status of the domain-unlock step at the foreign registrar.

</summary>

One of the following:

const DomainTransferInUnlockDomainNeeded DomainTransferInUnlockDomain = "needed"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20unlock_domain%20%3E%20(member)%200">Link to this property</a>

const DomainTransferInUnlockDomainOk DomainTransferInUnlockDomain = "ok"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20unlock_domain%20%3E%20(member)%201">Link to this property</a>

const DomainTransferInUnlockDomainPending DomainTransferInUnlockDomain = "pending"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20unlock_domain%20%3E%20(member)%202">Link to this property</a>

const DomainTransferInUnlockDomainTrying DomainTransferInUnlockDomain = "trying"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20unlock_domain%20%3E%20(member)%203">Link to this property</a>

const DomainTransferInUnlockDomainUnknown DomainTransferInUnlockDomain = "unknown"

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20unlock_domain%20%3E%20(member)%204">Link to this property</a>

</details>

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in%20%3E%20(property)%20unlock_domain">Link to this property</a>

</details>

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20transfer_in">Link to this property</a>

UpdatedAt TimeOptional

Last updated.

formatdate-time

<a href="#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)%20%3E%20(property)%20updated_at">Link to this property</a>

</details>

[Link to this property](<#(resource)%20registrar.domains%20%3E%20(model)%20domain%20%3E%20(schema)>)

### List domains

Go

HTTPTypeScriptPythonGoTerraform

```
package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/registrar"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  page, err := client.Registrar.Domains.List(context.TODO(), registrar.DomainListParams{
    AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
```

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": [
    {
      "id": "ea95132c15732412d22c1476fa83f27a",
      "available": false,
      "can_register": false,
      "created_at": "2018-08-28T17:26:26Z",
      "current_registrar": "Cloudflare",
      "expires_at": "2019-08-28T23:59:59Z",
      "locked": false,
      "registrant_contact": {
        "address": "123 Sesame St.",
        "city": "Austin",
        "country": "US",
        "first_name": "John",
        "last_name": "Appleseed",
        "organization": "Cloudflare, Inc.",
        "phone": "+1 123-123-1234",
        "state": "TX",
        "zip": "12345",
        "id": "ea95132c15732412d22c1476fa83f27a",
        "address2": "Suite 430",
        "email": "user@example.com",
        "fax": "123-867-5309"
      },
      "registry_statuses": "ok,serverTransferProhibited",
      "supported_tld": true,
      "transfer_in": {
        "accept_foa": "needed",
        "approve_transfer": "unknown",
        "can_cancel_transfer": true,
        "disable_privacy": "ok",
        "enter_auth_code": "needed",
        "unlock_domain": "ok"
      },
      "updated_at": "2018-08-28T17:26:26Z"
    }
  ],
  "success": true,
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}
```

##### Returns Examples

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": [
    {
      "id": "ea95132c15732412d22c1476fa83f27a",
      "available": false,
      "can_register": false,
      "created_at": "2018-08-28T17:26:26Z",
      "current_registrar": "Cloudflare",
      "expires_at": "2019-08-28T23:59:59Z",
      "locked": false,
      "registrant_contact": {
        "address": "123 Sesame St.",
        "city": "Austin",
        "country": "US",
        "first_name": "John",
        "last_name": "Appleseed",
        "organization": "Cloudflare, Inc.",
        "phone": "+1 123-123-1234",
        "state": "TX",
        "zip": "12345",
        "id": "ea95132c15732412d22c1476fa83f27a",
        "address2": "Suite 430",
        "email": "user@example.com",
        "fax": "123-867-5309"
      },
      "registry_statuses": "ok,serverTransferProhibited",
      "supported_tld": true,
      "transfer_in": {
        "accept_foa": "needed",
        "approve_transfer": "unknown",
        "can_cancel_transfer": true,
        "disable_privacy": "ok",
        "enter_auth_code": "needed",
        "unlock_domain": "ok"
      },
      "updated_at": "2018-08-28T17:26:26Z"
    }
  ],
  "success": true,
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}
```