Currently, GoDaddy does not provide dynamic DNS, and have no API to programmaticaly update DNS
According to GoDaddy support:
... DNS modifications through scripts would not be
possible with our DNS services. These changes can only be done from
within the DNS Manager interface that is provided as part of your
customer account.
Thus you need 3-rd party provider for dynamic DNS, and you have the following options:
Move your domain to DNS hosting service which does support dynamic DNS (like no-ip.com, my own net-me.net, and many others). GoDaddy may remain your domain registrar, but you use 3-rd party DNS hosting.
(Simpler) Setup any dynamic DNS account, can be 3rd-level domain like yourusername.some-dynamic-dns-provider.net, and setup a CNAME DNS record with GoDaddy which will point to your dynamic domain name. For example if you have www.yourdomain.com CNAME yourusername.some-dynamic-dns-provider.net
, all requests for www.yourdomain.com will be redirected by DNS to your dynamic IP address. Though CNAME record can not be created for naked domain (yourdomain.com, without www.).
You can also move you domain altogether to another domain registrar, which does support dynamic DNS. (I think namecheap.com does.)