nextdns
Python wrapper for NextDNS API.
What it is and what it does
nextdns is an async Python client for the NextDNS API that lets you programmatically access DNS profiles and analytics from a NextDNS account. It wraps the NextDNS service's HTTP endpoints using aiohttp for async I/O and tenacity for resilient retries, exposing methods to fetch profile details, DNS security analytics (DNSSEC, encryption), IP version breakdowns, and protocol statistics.
The package is designed for integration into monitoring tools, dashboards, or automation scripts that need to pull DNS analytics data from NextDNS. It requires an active NextDNS account and API key, and enforces Python 3.13 or later. The async-first design makes it suitable for concurrent requests or event-driven applications, though the small dependency footprint keeps installation overhead minimal.
Use it for:
- Monitor DNS security metrics and encryption status across multiple NextDNS profiles in a dashboard or alerting system.
- Automate DNS analytics collection for reporting or compliance audits tied to a NextDNS account.
- Build a Python-based DNS monitoring bot that periodically fetches profile status and protocol statistics.
- Integrate NextDNS analytics into a larger async application or microservice that manages network infrastructure.
- Retrieve and analyze DNS query protocol distribution (DoH, DoT, etc.) across your NextDNS deployment.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Async Python wrapper for the NextDNS API that retrieves DNS profiles, analytics data, and status information from a NextDNS account.
Yes, if you need programmatic access to NextDNS analytics and profiles. The package is actively maintained, has low install friction, permissive licensing, and no known vulnerabilities. The Python 3.13+ requirement is strict but aligns with modern practice. Install it if you're building monitoring or automation around NextDNS; skip it if you only need the web dashboard or don't have a NextDNS account.
Install
nextdns on PyPI
pip
pip install nextdnsuv
uv add nextdnspoetry
poetry add nextdnsInstalling nextdns
Before you install
Low install friction with only two runtime dependencies (aiohttp and tenacity). Actively maintained with a recent release 56 days ago and current commits. Requires Python 3.13 or later, which narrows compatibility to modern versions only.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for most projects.
Quickstart
pip install nextdns
from aiohttp import ClientSession
from nextdns import NextDns
async with ClientSession() as session:
nextdns = await NextDns.create(session, API_KEY)
profile = await nextdns.get_profile(profile_id)
Requires a NextDNS account and API key; Python 3.13 or later.
Verify before relying
- Whether the package supports DNS query filtering, blocking, or configuration beyond read-only analytics retrieval.
- Rate limiting behavior and retry strategy details beyond tenacity dependency.
- Whether analytics endpoints cover all NextDNS metrics or a subset.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.13) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — aiohttp, tenacity |
| Maintenance | actively maintained — 56 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,318/month — #14,850 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nextdns-5.0.1-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
accuweatherAsync Python wrapper for fetching current…
permissive · top 15,000 on PyPI
dnspythondnspython is a DNS toolkit that handles…
permissive · top 1,000 on PyPI
nettigo-air-monitorFetches and parses air quality data from…
permissive · top 15,000 on PyPI
imgw-pibAn async Python wrapper for the IMGW-PIB API…
permissive · top 15,000 on PyPI
aio-geojson-geonetnz-volcanoAsync client library for retrieving New Zealand…
permissive · top 15,000 on PyPI
klaviyoA deprecated client library for integrating…
permissive · top 15,000 on PyPI
google-cloud-dnsPython client library for Google Cloud DNS API…
permissive · top 15,000 on PyPI
giosFetches real-time air quality measurements from…
permissive · top 15,000 on PyPI
nslookupProvides high-level DNS lookups (A, AAAA, and…
copyleft · top 15,000 on PyPI
python-designateclientPython client library and command-line tool for…
permissive · top 15,000 on PyPI