Your browser is out of date!

Update your browser to view this website correctly. Update my browser now

×

Request Method

Adding No-IP Dynamic DNS support to your product is easy. When your update client detects an IP address change it should make an update request to our server. This page goes into detail about how to submit a dynamic dns update request.

The update protocol.

Our protocol is in an open format used by other service providers.

The open protocol has been modified by adding a few additional parameters to enhance the No-IP experience. Providing an open format will help system integrators deploy the No-IP service in their products without having to manage different update methods. If a system already uses the open protocol a simple change of the server name is all that is needed. No-IP’s dynamic DNS compatibility protocol allow for both A and AAAA hostnames to be updated individually or dual-stacked. We have also included functionality to send IPv6 updates through IPv4 systems.

Sending an Update

Dynamic updates are performed by making an HTTP request to one of the following URLs:

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

For update requests on HTTP, our interface listens on Ports 80 and 8245. Port 8245 is used to bypass HTTP proxies. If updating over HTTPS, our system listens on Port 443 It is not necessary to open any incoming ports for updating.

Authorization: base64-encoded-auth-string should be the base64 encoding of username:password.

username:password: Username and password associated with the hostnames that are to be updated. No-IP uses an email address as the username. Email addresses will be no longer than 50 characters. If using group username, our protocol uses special characters. Be sure that special characters can be accepted by your client.

An example update request string

http://username:password@dynupdate.no-ip.com/nic/update?hostname=mytest.example.com&myip=192.0.2.25

An example basic, raw HTTP header GET request

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-contact@example.com
                

Important: Setting the Agent

When making an update it is important that your HTTP request include an HTTP User-Agent to help No-IP identify different clients that access the system. Clients that do not supply a certified and approved User-Agent risk being rate-limited or blocked from the system.

For hardware clients use the format:

User-Agent: Company DeviceName-Model/FirmwareVersionNumber maintainer-contact@example.com

For software clients use the format:

User-Agent: Company NameOfProgram/OSVersion-ReleaseVersion maintainer-contact@example.com

User Agent is important! It helps us identify what Update Client is accessing us. This allows us to provide better technical support to YOUR USERS.

URI Parameters

FieldDescription
hostname Required A comma separated list of hostnames and groups to be updated. Hostnames may be of type A, AAAA, or Port 80 Redirect.
The update response will be in the same order as this list. See Interpret Response.
Example:
hostname=host1.example.com,group1,host2.example.com

Hostnames may not always appear as a proper DNS name, for example group and special-use names.
myip Optional The IP address to which the hostnames will be set. If no IP address is supplied, the client IP address connecting to our system will be used.
Clients behind NAT, for example, would not need to supply an IP address.
If updating a dual-stacked DNS record (A and AAAA record for the same hostname), supply a comma separated list including your IPv4 and IPv6 address.
For example:
myip=192.0.2.25,2001:0db8::2e
myipv6 Optional The IPv6 address to which the hostnames with AAAA records will be set. If myipv6 is supplied, this will override the IPv6 address in the myip field.
This field is for compatibility with clients that do not allow IPv6 addresses in the myip field. The prefered method is to send the IPv6 address in the myip field.
offline Optional Sets the current hostname to offline status. Offline settings are an Enhanced / No-IP Plus feature. When offline mode is enabled, the hostname will use whatever offline method is selected on the No-IP.com website for that hostname. Possible values are YES and NO with default of NO. If an update request is performed on an offline hostname, the hostname is removed from the offline state.

Your update client should only send a request to our system when it detects an IP address change. This can be done by monitoring the local interface for IP address changes, checking for DHCP lease renewals, monitoring the routers IP WAN ip address, or when none of those options are available use our ip detection system. If you are interested in using our IP detection system, please visit our IP Detection API page. This system is offered free of charge.

Next you MUST interpret the response code. Update clients that do not properly respond to update return codes risk being blocked from our system.

Previous Step: IntegrateNext Step: Interpret ResponseStep 4: Get Certified