certbot-dns-cloudflare
Cloudflare DNS Authenticator plugin for Certbot
What it is and what it does
This package is a Certbot plugin that integrates Cloudflare DNS management into the Let's Encrypt certificate issuance workflow. Instead of proving domain control through HTTP challenges, it uses DNS validation by automatically creating and removing DNS records in your Cloudflare account. This is particularly useful for wildcard certificates, internal domains, or environments where HTTP access is restricted.
The plugin sits between Certbot and the Cloudflare API, handling the credential management and record lifecycle during certificate renewal. You configure it once with your Cloudflare API credentials, then Certbot can fully automate certificate issuance and renewal without manual DNS record manipulation. It depends on the cloudflare and acme libraries to communicate with Cloudflare's API and implement the ACME protocol.
Use it for:
- Obtain wildcard certificates for *.example.com without exposing your web server to the internet.
- Automate certificate renewal for internal or non-HTTP-accessible services behind firewalls.
- Manage certificates for multiple subdomains with a single Cloudflare account and Certbot configuration.
- Deploy HTTPS to applications where you control DNS but not the web server directly.
- Integrate certificate lifecycle management into infrastructure-as-code or containerized deployments.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Automates DNS validation for Let's Encrypt certificate issuance by managing Cloudflare DNS records through Certbot's plugin system.
Yes. This is a stable, actively maintained plugin for a critical infrastructure task (TLS certificate automation). It has no known vulnerabilities, low installation friction, and permissive licensing. Install it if you use Cloudflare for DNS and want to automate Let's Encrypt certificate issuance via DNS validation; skip it only if you use a different DNS provider or prefer HTTP-based validation.
Install
certbot-dns-cloudflare on PyPI
pip
pip install certbot-dns-cloudflareuv
uv add certbot-dns-cloudflarepoetry
poetry add certbot-dns-cloudflareInstalling certbot-dns-cloudflare
Before you install
Low friction installation as a pure Python wheel with three runtime dependencies (cloudflare, acme, certbot). Actively maintained with a release 30 days ago and recent commits; part of the well-established Certbot project with 33201 repository stars.
License in practice
Apache-2.0 permissive license allows use in commercial and private projects with minimal restrictions; you must retain license notices but can modify and distribute freely.
Quickstart
pip install certbot-dns-cloudflare
# In Certbot command:
certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.cloudflare.ini -d example.com
Requires Python >=3.10; Cloudflare API credentials must be configured in a credentials file before use.
Verify before relying
- Whether the plugin supports Cloudflare API token rotation or only static credential files.
- Performance characteristics when validating multiple domains or wildcard certificates simultaneously.
- Specific error handling and retry behavior for transient Cloudflare API failures.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — cloudflare, acme, certbot |
| Maintenance | actively maintained — 30 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,803,297/month — #1,844 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: certbot_dns_cloudflare-5.7.0-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
certbot-dns-multiA Certbot DNS plugin that automates ACME DNS…
permissive · top 15,000 on PyPI
certbot-dns-route53A Certbot plugin that automates DNS validation…
permissive · top 15,000 on PyPI
certbotCertbot is a command-line client that…
permissive · top 15,000 on PyPI
certbot-nginxCertbot-nginx is a plugin for Certbot that…
permissive · top 15,000 on PyPI
acmeImplements the ACME protocol to automate…
permissive · top 5,000 on PyPI
certbot-dns-directadminA Certbot plugin that automates DNS-01…
unclear · top 15,000 on PyPI
fqdnValidates fully-qualified domain names (FQDNs)…
copyleft · top 1,000 on PyPI
certbot-dns-duckdnsA certbot plugin that automates DNS-01…
permissive · top 15,000 on PyPI
checkdmarcValidates SPF, DMARC, BIMI, MTA-STS, and…
permissive · top 15,000 on PyPI
vultrA Python client library for the Vultr.com API,…
permissive · top 15,000 on PyPI