API Reference

Update IP

Perform a dynamic DNS update for a hostname or DDNS key

GET https://dynupdate.no-ip.com/nic/update

If ports 80 and 443 are blocked, port 8245 is available.

This documentation is for the Dynamic DNS Integration API, a simple Dynamic DNS protocol which is separate from the No-IP API. If you're looking to update a hostname's IP address with the No-IP API, check the Replace Rdata documentation. Learn more about the differences between the No-IP API and the Dynamic DNS Integration API.

To dynamically update a hostname's IP address, send an HTTP request which performs the following:

  1. Authenticates using a DDNS Key.
  2. Provides a User Agent in the HTTP header.
  3. Specfies the hostname and IP address with query parameters.

Authentication

Username/Password Basic Auth

Create a DDNS Key for a hostname (or a group of hostnames), then use the provided username/password with basic auth:

http://rv7sc9a:[email protected]/nic/update?hostname=mytest.example.com&myip=192.0.2.25

Where rv7sc9a is the DDNS Key username and secretpassword is the DDNS key password which was generated.

Note: Account credentials can also be used, but this method is being phased out as we migrate to everyone using DDNS Keys for authenticating DDNS update clients.

Authorization Header

The Authorization header's value should be the base64 encoding of the DDNS key's username and password, separated by a colon: username:password.

GET /nic/update?hostname=mytest.example.com&myip=192.0.2.25 HTTP/1.1
Host: dynupdate.no-ip.com
Authorization: Basic base64-encoded-auth-string
User-Agent: Company DeviceName-Model/FirmwareVersionNumber maintainer- [email protected]

Response

Note that Response content type is text/plain.

TextDescription
good IP_ADDRESSDNS hostname update successful. Followed by a space and the IP address it was updated to.
nochg IP_ADDRESSThe IP address returned will be the IPv4 address, if an IPv4 is supplied. If IPv4 and IPv6 are both supplied, both ips will be returned in a comma separated list. If only an IPv6 address is supplied, an IPv6 address (only) will be returned. IP address is current, no update performed. Followed by a space and the IP address that it is currently set to. The IP address returned will be the IPv4 address if an IPv4 is supplied. If IPv4 and IPv6 are both supplied, both ips will be returned in a comma separated list. If only an IPv6 address is supplied, an IPv6 address (only) will be returned. Note: Excessive nochg responses may result in your client being blocked.
nohostHostname supplied does not exist under specified account, client exit and require user to enter new login credentials before performing an additional request.
badauthInvalid username password combination.
badagentClient disabled. Client should exit and not perform any more updates without user intervention. Note: You must use the recommended User-Agent format specified when Submitting an Update, failure to follow the format guidelines may result in your client being blocked.
!donatorAn update request was sent, including a feature that is not available to that particular user such as offline options.
abuseUsername is blocked due to abuse. Either for not following our update specifications or disabled due to violation of the No-IP terms of service. Our terms of service can be viewed here. Client should stop sending updates.
911A fatal error on our side such as a database outage. Retry the update no sooner than 30 minutes. A 500 HTTP error may also be returned in case of a fatal error on our system at which point you should also retry no sooner than 30 minutes.
Language
Credentials
Basic
base64
:
Click Try It! to start a request and see the response here!