DNS CONSOLE
- AN EASY TO USE DNS MANAGEMENT SOLUTION
- FAST, SIMPLE AND SECURE
With our DNS Console and API, you can list, add, modify or remove zones and records for free.
EASY TO USE INTERFACE
Hetzner's DNS Console is an intuitive DNS management platform. Simply
enter your zone names to import DNS entries. You don't even need to
copy-and-paste them. Use our DNS Console and API to view your DNS
entries, add to them, edit them, or delete them. All completely free of
cost.
Features
ALL FEATURES ALSO VIA API
Automate your DNS entry management to the max. All of DNS Console's features are also available via our developer-friendly REST-API. Our detailed documentation includes programming examples and helps you get started.
## Get Record
# Returns information about a single record.
curl "https://dns.hetzner.com/api/v1/records/1"
-H 'Auth-API-Token: YOUR-API-TOKEN'
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func sendGetRecord() {
// Get Record (GET https://dns.hetzner.com/api/v1/records/1)
// Create client
client := &http.Client{}
// Create request
req, err := http.NewRequest("GET", "https://dns.hetzner.com/api/v1/records/1", nil)
// Headers
req.Header.Add("Auth-API-Token", "YOUR-API-TOKEN")
// Fetch Request
resp, err := client.Do(req)
if err != nil {
fmt.Println("Failure : ", err)
}
// Read Response Body
respBody, _ := ioutil.ReadAll(resp.Body)
// Display Results
fmt.Println("response Status : ", resp.Status)
fmt.Println("response Headers : ", resp.Header)
fmt.Println("response Body : ", string(respBody))
}
// get cURL resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, 'https://dns.hetzner.com/api/v1/records/1');
// set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Auth-API-Token: YOUR-API-TOKEN',
]);
// send the request and save response to $response
$response = curl_exec($ch);
// stop if fails
if (!$response) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
}
echo 'HTTP Status Code: ' . curl_getinfo($ch, CURLINFO_HTTP_CODE) . PHP_EOL;
echo 'Response Body: ' . $response . PHP_EOL;
// close curl resource to free up system resources
curl_close($ch);
# Install the Python Requests library:
# `pip install requests`
import requests
def send_request():
# Get Record
# GET https://dns.hetzner.com/api/v1/records/1
try:
response = requests.get(
url="https://dns.hetzner.com/api/v1/records/1",
headers={
"Auth-API-Token": "YOUR-API-TOKEN",
},
)
print('Response HTTP Status Code: {status_code}'.format(
status_code=response.status_code))
print('Response HTTP Response Body: {content}'.format(
content=response.content))
except requests.exceptions.RequestException:
print('HTTP Request failed')
Frequently Asked Questions
-
How much does it cost to use DNS Console?
DNS Console is completely free. Use it together with your existing Robot or Cloud Console accounts. New customers can create a free account to use DNS Console.
-
What type of records does DNS Console support?
Using the GUI, you will be able to manage A, AAAA, CNAME, MX, NS, SRV, and TXT records. Using BIND files, you can manually manage CAA, DS, TLSA, DANE, HINFO, SOA, and RP record types.
-
Can I add an unlimited number of zones?
By default, you can add up to 25 zones. However, if you would like to increase this limit, it's easy to do. Just write a support ticket, and give us a quick explanation for why you need the increase.
-
Does DNS Console also support DNSSEC?
Currently, DNS Console does not include support for DNSSEC.