Skip to content

AliHzSec/tld-finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

TLD-Finder

A powerful and efficient Python-based domain availability checker that helps you find available domain names across multiple Top-Level Domains (TLDs).

Installation

  1. Clone the repository:
git clone https://github.com/AliHzSec/tld-finder.git
cd tld-finder
  1. Install required Python packages:
pip install requests
  1. Install whois tool (if not already installed):

Ubuntu/Debian:

sudo apt install whois

macOS:

brew install whois

Usage

Basic Syntax

python3 main.py --keyword DOMAIN_NAME [TLD_SOURCE] [OPTIONS]

Required Arguments

  • --keyword or -k: The domain name you want to check (without TLD)

TLD Source (Choose ONE - Required)

  • --default-tlds or -dt: Use default popular TLDs (.com, .org, .net, etc.)
  • --iana-tlds or -it: Use all TLDs from IANA registry (1500+ TLDs)
  • --file-tlds or -ft: Use custom TLD list from a file

Optional Arguments

  • --available-only or -a: Show only available domains
  • --not-available or -na: Show only registered domains
  • --workers or -w: Number of concurrent workers (default: 30)
  • --json or -j: Output results in JSON format
  • --output or -o: Save output to file

Examples

Basic Domain Checking

Check a domain with default TLDs:

python3 main.py --keyword mybusiness --default-tlds

Check a domain with all IANA TLDs:

python3 main.py --keyword mybusiness --iana-tlds

Check a domain with custom TLD list:

python3 main.py --keyword mybusiness --file-tlds custom-tlds.txt

Filtering Results

Show only available domains:

python3 main.py --keyword techstartup --default-tlds --available-only

Show only registered domains:

python3 main.py --keyword techstartup --default-tlds --not-available

Show both available and registered domains (default behavior):

python3 main.py --keyword techstartup --default-tlds

Performance Optimization

Use more concurrent workers for faster checking:

python3 main.py --keyword mybrand --iana-tlds --workers 50

Use fewer workers for slower/limited connections:

python3 main.py --keyword mybrand --default-tlds --workers 10

Output Formats

Save results to a text file (auto-generated filename):

python3 main.py --keyword company --default-tlds --output

Save results to a custom text file:

python3 main.py --keyword company --default-tlds --output results.txt

Output results as JSON to console:

python3 main.py --keyword mybrand --default-tlds --json

Save results as JSON to file (auto-generated filename):

python3 main.py --keyword mybrand --default-tlds --json --output

Save results as JSON to custom file:

python3 main.py --keyword mybrand --iana-tlds --json --output domains.json

Combined Examples

Check with IANA TLDs, show only available domains, save to file:

python3 main.py --keyword startup --iana-tlds --available-only --output available-domains.txt

Check with default TLDs, show only registered domains, output as JSON:

python3 main.py --keyword company --default-tlds --not-available --json --output registered.json

Check with custom TLDs, use 20 workers, save results:

python3 main.py --keyword mybrand --file-tlds tlds.txt --workers 20 --output

Fast check with high worker count and JSON output:

python3 main.py --keyword techbrand --iana-tlds --workers 50 --json --output scan-results.json

Creating Custom TLD Lists

Create a text file with one TLD per line (including the dot):

.com
.net
.org
.io
.dev
.app
.tech
.store

Then use it:

python3 main.py --keyword mybrand --file-tlds my-tlds.txt

Output Formats

Console Output

[avail] mybrand.com
[taken] mybrand.org - Exp Date: 2025-12-31
[avail] mybrand.net

JSON Output

{
  "timestamp": "2026-02-07T12:34:56.789012",
  "total_checked": 22,
  "statistics": {
    "available": 8,
    "registered": 12,
    "timeout": 1,
    "error": 1
  },
  "domains": [
    {
      "domain": "mybrand.com",
      "status": "available"
    },
    {
      "domain": "mybrand.org",
      "status": "registered",
      "expiry_date": "2025-12-31"
    }
  ]
}

Default TLD List

The default TLD list includes these popular domains:

  • .com, .org, .net, .de, .uk, .fr, .it, .nl, .es, .cn, .jp, .in, .ru, .br, .au, .us, .ca, .mx, .info, .co, .io, .biz

Rate Limiting

Some whois servers may rate-limit requests. If you encounter this Reduce the number of workers

Support

If you find this tool useful, please give it a ⭐ on GitHub!

For issues, questions, or suggestions, please open an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages