A Python command-line interface for managing DNS records via the netcup DNS API.
✅ Authentication Management: Secure credential storage using system keyring
✅ DNS Zone Info: View zone details, TTL, serial, DNSSEC status
✅ DNS Records: List, add, update, and delete DNS records
✅ Rich Output: Beautiful formatted tables and clear status messages
✅ Debug Mode: Comprehensive debugging for troubleshooting
pip install netcup-dns-cli
# Clone the repository
git clone https://github.com/danielmeint/netcup-cli.git
cd netcup-cli
# Install with uv (recommended)
uv sync
# Or install with pip
pip install -e .
First, log in with your netcup credentials:
netcup auth login
You'll be prompted for:
- Customer Number (found in your netcup Customer Control Panel)
- API Key (generated in CCP under "API")
- API Password (generated in CCP under "API")
Credentials are securely stored in your system keyring.
View DNS zone information:
netcup dns zone info example.com
List all DNS records:
netcup dns records list example.com
Add a new DNS record:
netcup dns record add example.com subdomain A 192.168.1.1
netcup dns record add example.com mail MX mail.example.com --priority 10
Update an existing record:
netcup dns record update example.com 12345 subdomain A 192.168.1.2
Delete a record:
netcup dns record delete example.com 12345
Check authentication status:
netcup auth status
View configuration:
netcup config show
Logout:
netcup auth logout
Enable debug mode:
netcup --debug dns zone info example.com
- Python 3.8+
- netcup account with DNS API access
- Domain(s) registered with netcup using netcup nameservers
To set up API access for your netcup account, follow the official guide: Applying for an API password and API keys
Ensure DNS management is enabled for your domains in your netcup Customer Control Panel.
- Use
--debug
flag for detailed API response logging - Verify your domains are using netcup nameservers
- Check that DNS management is enabled in your CCP
- Ensure API credentials have proper permissions
MIT License - see LICENSE file for details.