The API has a rate limit of 1,200 requests every 5 minutes. If your devices are changing their IP address that frequently then DNS is probably of little use.
Are you using an off the shelf script to make the API call? I had a quick look at a few, and they seem to just update the record every X seconds, even if it has not changed. It would be better to try and persist the address locally, and only issue an update if the record needs to be changed (or created). Failing that, just slow down. Updating a DNS record every 30 seconds when the TTL is 300 seconds seems excessive.