dotchk

High-Performance Domain Availability Checker

Check thousands of domains per second across 1,080+ public TLDs
with unparalleled speed and accuracy.

10,000+
domains/sec
1,080+
public TLDs
<50ms
avg response
# Check domain availability
$ dotchk example.com startup.io mybrand.dev
example.com → TAKEN (45ms)
startup.io → AVAILABLE (89ms) ✓
mybrand.dev → TAKEN (38ms)

# Pattern-based search
$ dotchk pattern "[a-z]{3}.com" --limit 5
abc.com → TAKEN (42ms)
xyz.com → TAKEN (44ms)
qzx.com → AVAILABLE (46ms) ✓
zyx.com → AVAILABLE (39ms) ✓
qqq.com → TAKEN (52ms)

Installation

Quick Install for macOS

Install using our automated script:

# Clone and install
$ git clone https://github.com/dotchk/dotchk.git
$ cd dotchk
$ ./install.sh

Requires macOS 10.15 or later. The script will install Rust if needed.

Quick Install for Linux

Install using our automated script:

# Clone and install
$ git clone https://github.com/dotchk/dotchk.git
$ cd dotchk
$ ./install.sh

Works on all major Linux distributions. The script handles dependencies automatically.

Quick Install for Windows

Install using PowerShell:

# Clone the repository
> git clone https://github.com/dotchk/dotchk.git
> cd dotchk
# Build with cargo
> cargo build --release
# Add to PATH
> $env:Path += ";$pwd\target\release"

Requires Windows 10 or later with Rust installed via rustup.rs

Manual Install

For more control over the installation process:

# Build from source
$ cargo build --release
# Install to cargo bin
$ cargo install --path .

Requires Rust 1.70 or later. Install Rust from rustup.rs

Verify Installation

$ dotchk --version
dotchk 1.2.0

Quick Start

Basic Domain Check

$ dotchk example.com
example.com → TAKEN (45ms)

Multiple Domains

$ dotchk startup.com myapp.io coolsite.dev
startup.com → TAKEN (45ms)
myapp.io → TAKEN (47ms)
coolsite.dev → AVAILABLE (52ms)

Pattern Matching

# Find 3-letter .com domains
$ dotchk pattern "[a-z]{3}.com" --limit 10
# Mixed patterns
$ dotchk pattern "[a-z]{2}[0-9]{2}.io" --limit 50

Commands

Direct Check

Direct domain availability checking

$ dotchk domain.com domain.net

Options:

  • --parallel - Number of parallel checks (default: 100)
  • --timeout - DNS query timeout (default: 500ms)
  • --quiet - Minimal output

pattern

Pattern-based domain search

$ dotchk pattern "[a-z]{4}.com" --limit 100

Pattern Syntax:

  • [a-z] - Any lowercase letter
  • [0-9] - Any digit
  • 3 - Exactly 3 repetitions
  • (a|b|c) - One of the options

bulk

Bulk file checking

$ dotchk bulk domains.txt --export results.csv

Options:

  • --stats - Show summary statistics
  • --export - Export results to file
  • --available-only - Show only available

tld

Multi-TLD search

$ dotchk tld mybrand --popular

Options:

  • --popular - Popular TLDs (com, net, org, io, dev, etc.)
  • --tech - Technology TLDs (io, dev, app, tech, cloud, ai, etc.)
  • --business - Business TLDs (com, biz, company, inc, etc.)
  • --creative - Creative TLDs (design, studio, art, media, etc.)
  • --retail - E-commerce TLDs (shop, store, buy, sale, etc.)
  • --country - Popular country codes (us, uk, de, fr, etc.)
  • --all - Check all 1,080+ public TLDs
  • --tlds - Custom TLD list

Examples

Startup Name Generation

# Tech prefixes with alternation
$ dotchk pattern "(get|try|use|my)[a-z]{3}.(com|io|app)"

Brand Protection

# Check across TLD groups with stats
$ dotchk tld yourbrand --tech --business --stats

Domain Investment

# Premium short domains with stats
$ dotchk pattern "[a-z]{3}.com" --limit 50 --stats

Automation

#!/bin/bash
# Monitor domain availability
while true; do
    if dotchk example.com --quiet | grep -q AVAILABLE; then
        echo "Domain is available!"
        break
    fi
    sleep 3600
done

Integration

# Export to CSV
$ dotchk pattern "[a-z]{4}.com" --output domains.csv
# Check all public TLDs (1,080+)
$ dotchk tld mybrand --all --available-only
# Combine multiple TLD groups
$ dotchk tld startup --tech --creative --retail

Performance

Lightning Fast

Lightning Fast

Process 10,000+ domains per second with optimized DNS queries and smart caching.

Concurrent Processing

Concurrent Processing

Configurable parallel connections for maximum throughput on bulk operations.

Smart Caching

Smart Caching

Intelligent DNS response caching reduces redundant queries and improves speed.

Optimize for Speed

# Increase concurrency for bulk operations
$ dotchk bulk huge-list.txt --concurrent 200
# Use pattern limits for faster results
$ dotchk pattern "[a-z]{5}.com" --limit 1000 --concurrent 100

Important Note

dotchk uses NS record queries for maximum speed. This means:

  • Results indicate nameserver presence, not registration status
  • Some registered domains may show as available if they lack nameservers
  • Always verify with WHOIS before purchasing any domain
  • Respect rate limits and DNS server policies