Skip to content

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

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages