Duck DNS

free dynamic DNS hosted on AWS

news: login with Reddit is no more - legal request
support us: become a Patreon

HTTP API Specification

The update URL can be requested on HTTPS or HTTP. It is recommended that you always use HTTPS
We provide HTTP services for unfortunate users that have HTTPS blocked

You can update your domain(s) with a single HTTPS get to DuckDNS

https://www.duckdns.org/update?domains={YOURVALUE}&token={YOURVALUE}[&ip={YOURVALUE}][&ipv6={YOURVALUE}][&verbose=true][&clear=true]

The domain can be a single domain - or a comma separated list of domains.
The domain does not need to include the .duckdns.org part of your domain, just the subname.
If you do not specify the IP address, then it will be detected - this only works for IPv4 addresses
You can put either an IPv4 or an IPv6 address in the ip parameter
If you want to update BOTH of your IPv4 and IPv6 records at once, then you can use the optional parameter ipv6
to clear both your records use the optional parameter clear=true

A normal good response is

OK

A normal bad response is

KO

if you add the &verbose=true parameter to your request, then OK responses have more information

OK
127.0.0.2 [The current IP address for your update - can be blank]
2002:DB7::21f:5bff:febf:ce22:8a2e [The current IPV6 address for your update - can be blank]
UPDATED [UPDATED or NOCHANGE]

HTTP Parameters
domains - REQUIRED - comma separated list of the subnames you want to update
token - REQUIRED - your account token
ip - OPTIONAL - if left blank we detect IPv4 addresses, if you want you can supply a valid IPv4 or IPv6 address
ipv6 - OPTIONAL - a valid IPv6 address, if you specify this then the autodetection for ip is not used
verbose - OPTIONAL - if set to true, you get information back about how the request went
clear - OPTIONAL - if set to true, the update will ignore all ip's and clear both your records




Special no-parameter request format

Some very basic routers can only make requests without parameters
For these requirements the following request is possible

https://duckdns.org/update/{YOURDOMAIN}/{YOURTOKEN}[/{YOURIPADDRESS}]

Restrictions
YOURDOMAIN - REQUIRED - only a single subdomain
YOURTOKEN - REQUIRED - your account token
YOURIPADDRESS - OPTIONAL - if left blank we detect IPv4 addresses, if you want to over-ride this, with a valid IPv4 or IPv6 address




TXT Record API

The TXT update URL can be requested on HTTPS or HTTP. It is recommended that you always use HTTPS
We provide HTTP services for unfortunate users that have HTTPS blocked

You can update your domain(s) TXT record with a single HTTPS get to DuckDNS
your TXT record will apply to all sub-subdomains under your domain e.g. xxx.yyy.duckdns.org shares the same TXT record as yyy.duckdns.org

https://www.duckdns.org/update?domains={YOURVALUE}&token={YOURVALUE}&txt={YOURVALUE}[&verbose=true][&clear=true]

The domain can be a single domain - or a comma separated list of domains.
The domain does not need to include the .duckdns.org part of your domain, just the subname.
to clear the TXT value of your records use the optional parameter clear=true

A normal good response is

OK

A normal bad response is

KO

if you add the &verbose=true parameter to your request, then OK responses have more information

OK
sometxt=thistext [The current TXT record for your update - can be blank]
UPDATED [UPDATED or NOCHANGE]

HTTP Parameters
domains - REQUIRED - comma separated list of the subnames you want to update
token - REQUIRED - your account token
txt - REQUIRED - the txt you require
verbose - OPTIONAL - if set to true, you get information back about how the request went
clear - OPTIONAL - if set to true, the update will ignore the txt parameter and clear the txt record

Note that the TXT record does not show up in the WEB interface
You can use online web based Dig tools to query your record
https://www.digwebinterface.com/?hostnames=test.duckdns.org&type=TXT&ns=resolver&useresolver=8.8.4.4
To see your TXT record on linux or osx you can query DNS directly

dig test.duckdns.org TXT

As stated before, this record will be also presented for any sub-subdomain queries

dig test.test.duckdns.org TXT

This can be used for example to prove your ownership with letsencrypt.org