godaddycheck
Built by aman | @onlyoneaman
Simple Python package and CLI tool for checking domain availability using the GoDaddy API.
⭐ If you find this project useful, please consider giving it a star and forking it!
Features
- Check domain availability
- Suggest domain names based on keywords
- List available TLDs (top-level domains)
- Built-in retry logic with exponential backoff
- Both library and CLI interface
- Automatic price normalization
- Support for GoDaddy OTE (Operational Test Environment) via
GODADDY_API_URL
Installation
pip install godaddycheck
Or install from source:
git clone https://github.com/onlyoneaman/godaddycheck.git
cd godaddycheck
pip install -e .
Setup
You need GoDaddy API credentials. Get them from GoDaddy Developer Portal.
Set environment variables:
export GODADDY_API_KEY="your_api_key"
export GODADDY_API_SECRET="your_api_secret"
For GoDaddy OTE (test environment), also set:
export GODADDY_API_URL="https://api.ote-godaddy.com"
Or create a .env file in your project directory (automatically loaded):
GODADDY_API_KEY=your_api_key
GODADDY_API_SECRET=your_api_secret
GODADDY_API_URL=https://api.godaddy.com # Optional, defaults to production
The package automatically loads .env files, so you don't need to manually export variables.
Usage
Command Line Interface
Check domain availability
# Quick check
godaddycheck check amankumar.ai
# Full check with more details
godaddycheck check amankumar.ai --type FULL
# JSON output
godaddycheck check amankumar.ai --json
Get domain suggestions
# Get 10 suggestions (default)
godaddycheck suggest tech
# Get 5 suggestions
godaddycheck suggest startup --limit 5
# JSON output
godaddycheck suggest app --json
List available TLDs
# Show first 20 TLDs (default)
godaddycheck tlds
# Show all TLDs
godaddycheck tlds --limit 0
# Show first 50 TLDs
godaddycheck tlds --limit 50
# JSON output
godaddycheck tlds --json
Python Library
Basic usage
import godaddycheck
# Check a domain
result = godaddycheck.check('amankumar.ai')
print(f"Available: {result['available']}")
print(f"Price: ${result.get('price', 'N/A')}")
# Get suggestions
suggestions = godaddycheck.suggest('tech', limit=5)
for s in suggestions:
print(f"{s['domain']}: ${s.get('price', 'N/A')}")
# Get TLDs
tlds = godaddycheck.tlds()
print(f"Found {len(tlds)} TLDs")
Using the client class
from godaddycheck import GoDaddyClient
# Initialize client (uses environment variables by default)
client = GoDaddyClient()
# Check domain
result = client.check('amankumar.ai', check_type='FAST')
print(result)
# Get suggestions
suggestions = client.suggest('startup', limit=10)
print(suggestions)
# Get TLDs
tlds = client.tlds()
print(tlds)
# Clean up
client.close()
Using context manager
from godaddycheck import GoDaddyClient
with GoDaddyClient() as client:
result = client.check('amankumar.ai')
print(result)
# Client automatically closed
Custom configuration
from godaddycheck import GoDaddyClient
client = GoDaddyClient(
api_key='your_key',
api_secret='your_secret',
api_url='https://api.ote-godaddy.com', # Optional
max_retries=5,
timeout=60.0
)
result = client.check('amankumar.ai')
API Response Examples
Check domain
{
"domain": "amankumar.ai",
"available": false,
"currency": "USD"
}
Suggest domains
[
{
"domain": "techstartup.com",
"available": true,
"price": 12.99,
"currency": "USD"
},
{
"domain": "mytech.io",
"available": true,
"price": 39.99,
"currency": "USD"
}
]
List TLDs
[
{
"name": "com",
"type": "GENERIC"
},
{
"name": "io",
"type": "COUNTRY_CODE"
}
]
Development
# Clone the repo
git clone https://github.com/onlyoneaman/godaddycheck.git
cd godaddycheck
# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e .
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run tests with coverage
pytest --cov=godaddycheck --cov-report=html
Requirements
- Python >= 3.7
- httpx >= 0.24.0
Best Practices
Virtual Environment
Always use a virtual environment when working with Python packages:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install godaddycheck
Environment Variables
Store sensitive credentials in environment variables or .env files (never commit them):
# .env file (add to .gitignore)
GODADDY_API_KEY=your_key
GODADDY_API_SECRET=your_secret
Resource Management
Use context managers for automatic cleanup:
with GoDaddyClient() as client:
result = client.check('amankumar.ai')
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Support
- Issues: GitHub Issues
- Author: Aman - hi@amankumar.ai | amankumar.ai | @onlyoneaman
⭐ Star this repo if you find it useful!
Metadata
Release files for godaddycheck 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| godaddycheck-0.1.4.tar.gz | 12.2 kB | Without provenance | Details for godaddycheck-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| godaddycheck-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for godaddycheck-0.1.4-py3-none-any.whl |
Total release size: 21.8 kB
Release files / godaddycheck-0.1.4.tar.gz
| Download URL | godaddycheck-0.1.4.tar.gz |
|---|---|
| Size | 12.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0551dcb2b64f2a6d884da2d9de296ebe79b55e187436272c0d0aaf63b267ab3e
|
|
BLAKE2b-256 checksum How to use checksums |
b02e0793ebcba4db6dc69ab79765ba3930fccbed4987526171e48ba0f87a87ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / godaddycheck-0.1.4-py3-none-any.whl
| Download URL | godaddycheck-0.1.4-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b265d698f4398aa46c78d53635879dde09cd18e1660eba60bd5c473fe927a8e
|
|
BLAKE2b-256 checksum How to use checksums |
ee574a246f0e741f1ddc284ed89e9e1f6befae691ba97a6d16ad127c24c05d22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Security for godaddycheck 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.