List DNS Records
List, search, sort, and filter a zones’ DNS records.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYYAPI Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
X-Auth-Email: user@example.comThe previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194Accepted Permissions (at least one required)
DNS ReadDNS WriteParametersExpand Collapse
params RecordListParams
Query param: Whether to include shadow metadata in the meta field of each record in the response. See Shadowed records.
Query param: Whether to match all search requirements or at least one (any). If set to all, acts like a logical AND between filters. If set to any, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the tag-match parameter instead.
Query param: Whether to match all search requirements or at least one (any). If set to all, acts like a logical AND between filters. If set to any, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the tag-match parameter instead.
Query param: Number of DNS records per page.
Query param: Whether the record is receiving the performance and security benefits of Cloudflare.
Query param: Allows searching in multiple properties of a DNS record simultaneously. This parameter is intended for human users, not automation. Its exact behavior is intentionally left unspecified and is subject to change in the future. This parameter works independently of the match setting. For automated searches, please use the other available parameters.
Query param: Filters to records at or below the given NS delegation name, excluding the NS records that form the delegation itself. The value must be a subdomain of the zone; the zone apex is not accepted. Requires include_shadow_metadata=true. See Shadowed records.
Query param: Returns NS records that shadow the given name, searching at the name itself and each of its ancestor names within the zone, excluding the zone apex. The value must be a subdomain of the zone; the zone apex is not accepted. See Shadowed records.
Query param
Query param
Name of a tag which must not be present on the DNS record. Tag filters are case-insensitive.
A tag and value, of the form <tag-name>:<tag-value>. The API will only return DNS records that have a tag named <tag-name> whose value contains <tag-value>. Tag filters are case-insensitive.
A tag and value, of the form <tag-name>:<tag-value>. The API will only return DNS records that have a tag named <tag-name> whose value ends with <tag-value>. Tag filters are case-insensitive.
A tag and value, of the form <tag-name>:<tag-value>. The API will only return DNS records that have a tag named <tag-name> whose value is <tag-value>. Tag filters are case-insensitive.
Query param: Whether to match all tag search requirements or at least one (any). If set to all, acts like a logical AND between tag filters. If set to any, acts like a logical OR instead. Note that the regular match parameter is still used to combine the resulting condition with other filters that aren’t related to tags.
Query param: Whether to match all tag search requirements or at least one (any). If set to all, acts like a logical AND between tag filters. If set to any, acts like a logical OR instead. Note that the regular match parameter is still used to combine the resulting condition with other filters that aren’t related to tags.
ReturnsExpand Collapse
type RecordResponse interface{…}
type RecordResponseARecord struct{…}
Meta RecordResponseARecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseAAAARecord struct{…}
Meta RecordResponseAAAARecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseCNAMERecord struct{…}
Meta RecordResponseCNAMERecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseMXRecord struct{…}
Meta RecordResponseMXRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseNSRecord struct{…}
Meta RecordResponseNSRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseOpenpgpkeyRecord struct{…}
Meta RecordResponseOpenpgpkeyRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
Settings RecordResponseOpenpgpkeyRecordSettingsSettings for the DNS record.
Settings for the DNS record.
When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
Custom tags for the DNS record. This field has no effect on DNS responses.
TTL TTLTime To Live (TTL) of the DNS record in seconds. Setting to 1 means ‘automatic’. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.
Time To Live (TTL) of the DNS record in seconds. Setting to 1 means ‘automatic’. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.
type RecordResponsePTRRecord struct{…}
Meta RecordResponsePTRRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseTXTRecord struct{…}
Meta RecordResponseTXTRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseCAARecord struct{…}
Meta RecordResponseCAARecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseCERTRecord struct{…}
Meta RecordResponseCERTRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseDNSKEYRecord struct{…}
Meta RecordResponseDNSKEYRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseDSRecord struct{…}
Meta RecordResponseDSRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseHTTPSRecord struct{…}
Meta RecordResponseHTTPSRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseLOCRecord struct{…}
Meta RecordResponseLOCRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseNAPTRRecord struct{…}
Meta RecordResponseNAPTRRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseSMIMEARecord struct{…}
Meta RecordResponseSMIMEARecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseSRVRecord struct{…}
Meta RecordResponseSRVRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseSSHFPRecord struct{…}
Meta RecordResponseSSHFPRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseSVCBRecord struct{…}
Meta RecordResponseSVCBRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseTLSARecord struct{…}
Meta RecordResponseTLSARecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
type RecordResponseURIRecord struct{…}
Meta RecordResponseURIRecordMetaExtra Cloudflare-specific metadata about the record.
Extra Cloudflare-specific metadata about the record.
Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only is_glue. See Unreachable glue records.
Whether this A or AAAA record is glue for a subdomain NS delegation. See Glue records.
IDs of the NS records that shadow this record. See Shadowed records.
Number of records shadowed by this NS delegation. See Shadowed records.
List DNS Records
package main
import (
"context"
"fmt"
"github.com/stainless-sdks/cloudflare-go"
"github.com/stainless-sdks/cloudflare-go/dns"
"github.com/stainless-sdks/cloudflare-go/option"
)
func main() {
client := cloudflare.NewClient(
option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
)
page, err := client.DNS.Records.List(context.TODO(), dns.RecordListParams{
ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
}
{
"errors": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"messages": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"success": true,
"result": [
{
"name": "example.com",
"ttl": 3600,
"type": "A",
"comment": "Domain verification record",
"content": "198.51.100.4",
"private_routing": true,
"proxied": true,
"settings": {
"ipv4_only": true,
"ipv6_only": true
},
"tags": [
"owner:dns-team"
],
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"created_on": "2014-01-01T05:20:00.12345Z",
"meta": {
"dead_glue": true,
"is_glue": true,
"shadowed_by": [
"372e67954025e0ba6aaa6d586b9e0b59"
],
"shadowed_records_count": 42
},
"modified_on": "2014-01-01T05:20:00.12345Z",
"proxiable": true,
"comment_modified_on": "2024-01-01T05:20:00.12345Z",
"tags_modified_on": "2025-01-01T05:20:00.12345Z"
}
],
"result_info": {
"count": 1,
"page": 1,
"per_page": 20,
"total_count": 2000,
"total_pages": 100
}
}Returns Examples
{
"errors": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"messages": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"success": true,
"result": [
{
"name": "example.com",
"ttl": 3600,
"type": "A",
"comment": "Domain verification record",
"content": "198.51.100.4",
"private_routing": true,
"proxied": true,
"settings": {
"ipv4_only": true,
"ipv6_only": true
},
"tags": [
"owner:dns-team"
],
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"created_on": "2014-01-01T05:20:00.12345Z",
"meta": {
"dead_glue": true,
"is_glue": true,
"shadowed_by": [
"372e67954025e0ba6aaa6d586b9e0b59"
],
"shadowed_records_count": 42
},
"modified_on": "2014-01-01T05:20:00.12345Z",
"proxiable": true,
"comment_modified_on": "2024-01-01T05:20:00.12345Z",
"tags_modified_on": "2025-01-01T05:20:00.12345Z"
}
],
"result_info": {
"count": 1,
"page": 1,
"per_page": 20,
"total_count": 2000,
"total_pages": 100
}
}