You could obtain a certificate via DNS validation (like any other commerical certificate provider, obtain the certificate by adding a required DNS record)... But I can't imagine any use for a domain certificate without a hosting...
It might be technically possible, but it is difficult and inconvenient. Normally, you should have a hosting plan first.
@stevenzhu mentioned that some web hosts support Let's Encrypt automatically (so you don't have to obtain the certificate yourself, because the web host can do it for you). There's a big thread on this forum to try to make a list of the web hosting providers who make this convenient:
If you have caddy server, you should already have a IP (or you'll need to publicilize your server onto www... For information on this, please Google it since cases varies)
You just need to point the server to the IP and test if the website is working in http. If it's working (and pointed correctly), run the caddy program that specifically designed to obtain let's encrypt certificate.