A REST API and web interface to automate domain management in the cloud, with suppliers and on premise.

Does this sound familiar?

ClickOps doesn't scale
Everything in your stack is code, except DNS. Records are still changed by hand in a provider’s console: unscriptable, unreviewable, unrepeatable.
One API per provider
Each host has its own API, its own auth, its own quirks. Your automation is a pile of fragile glue scripts that breaks every time a client changes provider.
DNS bypasses your pipeline
Deployments are reviewed, tested and rolled back. DNS changes go straight to production with none of that.

One REST API for all your domains' operations.


Everything that’s done in the happyDomain web interface can be done with the API, in your language of choice. Script it once, run it everywhere.

Our REST API is fully documented, and thanks to Swagger, you can browse it and generate a client in any supported language.

See the API documentation and try it out now!

app.happydomain.org/swagger/index.html
Our REST API, commented and exposed with Swagger
app.happydomain.org/domains/example.com
A zone displayed the same way, whatever the provider behind it

Forget the quirks of each provider. One abstraction for over 25 hosts.


Write your automation against happyDomain once; it speaks to every provider for you:

  • cloud services : Route53, Azure DNS, Google Cloud DNS, DigitalOcean, Linode, Oracle Cloud, ...
  • CDN : Akamai Edge DNS, Cloudflare, ...
  • registrar : OVH, Gandi, Namecheap, Vultr, ...
  • your local setup : BIND, PowerDNS, knot, ...

See the list of supported DNS hosts.

Bring DNS into your review workflow.


Before anything is published, happyDomain shows the exact diff between the current zone and the new one, and waits for confirmation.

You can even cherry-pick which changes ship now and which ones wait. It works like a pull request, for your DNS.

app.happydomain.org/domains/example.com/diff
Review and confirm the changes that will be applied
pypi.org/project/happydomain
Python SDK usage

Tooling that plugs into what you already use.


  • Ansible collection: add or modify zone records, manage new domains through their registrar, manage happyDomain's users, or deploy happyDomain itself with the official collection.
  • Python SDK: automate all aspects of your domains, with the simplicity of Python.
  • and counting…

Monitoring included, no extra stack to deploy.


happyDomain’s checkers continuously verify expirations, DNSSEC, delegation, certificates and service availability for every domain you manage.

Each check reports a clear status and notifies you the moment it changes state, so a broken delegation never waits for a failed deployment to be noticed.

app.happydomain.org/domains/example.com/checks
Monitoring dashboard showing the status of every check on a domain

Try happyDomain now!
It's free software.

happyDomain is a free project that you can use online, but you can also install on your machine.

Try it online » Self-host it »

And if you do not find your happiness in our current interface, come and discuss it with us: