Skip to main content

Features

DeepScanBot comes with a comprehensive set of features designed for production web crawling at scale.


Core Features

⚡ Concurrent Crawling

Multi-threaded architecture with configurable concurrency limits for optimal performance.

# Use 10 concurrent workers
deepscanbot scan https://example.com concurrency=10

# Control per-host limits
deepscanbot scan https://example.com concurrency=20 host-concurrency=2

# Auto-scale to CPU cores (default)
deepscanbot scan https://example.com

The crawler automatically uses all available CPU cores by default. You can override this with the concurrency option for fine-grained control.

🎯 Configurable Crawl Depth

Control how deep the crawler explores linked pages.

# Single page only (no link following)
deepscanbot scan https://example.com depth=0

# Shallow crawl (2 levels deep - default)
deepscanbot scan https://example.com

# Deep crawl (5 levels deep)
deepscanbot scan https://example.com depth=5

🛡️ Robots.txt Compliance

DeepScanBot respects robots.txt rules by default, with an option to bypass when needed.

# Default: respects robots.txt
deepscanbot scan https://example.com

# Bypass robots.txt restrictions
deepscanbot scan https://example.com ignore-robots=true

🔄 Retry Logic

Automatic retry with exponential backoff for transient failures such as timeouts, rate limits (429), and server errors (5xx).

# Retry up to 3 times with 2 second backoff
deepscanbot scan https://example.com retries=3 retry-backoff=2s

# Aggressive retry for unstable sites
deepscanbot scan https://example.com retries=5 retry-backoff=5s timeout=30

The crawler also respects Retry-After headers from servers, adding extra backoff for 429 responses.

⏱️ Politeness & Rate Limiting

Avoid overwhelming servers with configurable delays and per-host concurrency limits.

# Wait 1 second between requests to the same host
deepscanbot scan https://example.com delay=1s host-concurrency=1

# Polite crawl with low concurrency
deepscanbot scan https://example.com delay=500ms concurrency=2 host-concurrency=1

Advanced Features

📁 Content Filtering

Filter crawled pages by MIME type and enforce page size limits.

# Only crawl HTML pages
deepscanbot scan https://example.com content-types="text/html"

# Crawl HTML and PDF files
deepscanbot scan https://example.com content-types="text/html application/pdf"

# Limit page size to 1MB
deepscanbot scan https://example.com size=1024

# Allow all content types
deepscanbot scan https://example.com content-types="*/*"

🌐 Proxy Support

Route traffic through HTTP/HTTPS proxy servers.

# Use HTTP proxy
deepscanbot scan https://example.com proxy=http://127.0.0.1:8080

# Use HTTPS proxy
deepscanbot scan https://example.com proxy=https://proxy.example.com:3128

# Disable TLS verification for proxy
deepscanbot scan https://example.com proxy=http://127.0.0.1:8080 insecure=true

🗺️ Sitemap Discovery

Automatically discover and crawl URLs from the site's sitemap.xml, including nested sitemap indexes.

# Discover and crawl sitemap URLs
deepscanbot scan https://example.com sitemap=true

# Full crawl with sitemap discovery
deepscanbot scan https://example.com depth=5 sitemap=true concurrency=10

▶️ Resume Mode

Resume interrupted crawls without recrawling already visited URLs.

# Initial crawl (may be interrupted)
deepscanbot scan https://example.com depth=3 output=my-crawl

# Resume from where you left off
deepscanbot scan https://example.com depth=3 resume=true output=my-crawl

🌍 Cross-Domain Crawling

Optionally follow links to external domains beyond the starting URL.

# Follow links to other domains
deepscanbot scan https://example.com cross-domain=true

# Cross-domain with sitemap
deepscanbot scan https://example.com cross-domain=true sitemap=true

📊 Multiple Output Formats

Export results in JSON or plain text format with detailed analytics.

# Text output (default)
deepscanbot scan https://example.com output=results

# JSON output with full summary
deepscanbot scan https://example.com json=true output=results

# JSON output with show source
deepscanbot scan https://example.com json=true show-source=true

🔒 TLS & Security Options

Control TLS verification and redirect behavior.

# Disable TLS verification (for self-signed certs)
deepscanbot scan https://example.com insecure=true

# Disable following redirects
deepscanbot scan https://example.com disable-redirects=true

# Ensure unique URLs only
deepscanbot scan https://example.com unique=true

CLI Reference

Commands

deepscanbot <command> [options]
CommandDescription
scanCrawl and analyze a website
versionShow installed version
doctorVerify installation and environment
configManage CLI configuration
completionGenerate shell completion script
helpShow help for any command

Scan Options

deepscanbot scan <url> [key=value ...]
OptionDefaultDescription
depth2Maximum crawl depth
timeout2Request timeout in seconds
concurrency0Max concurrent workers (0 = CPU)
host-concurrency0Max concurrent requests per host
content-types"text/html"Allowed MIME types
output"crawler_results"Output filename
jsonfalseJSON output
size-1Page size limit in KB
proxy""Proxy URL
uniquefalseUnique URLs only
show-sourcefalseShow URL source
disable-redirectsfalseDisable redirects
insecurefalseDisable TLS verification
retries0Retry attempts
retry-backoff"1s"Retry backoff duration
delay"0s"Politeness delay
sitemapfalseDiscover sitemap.xml
resumefalseResume mode
ignore-robotsfalseIgnore robots.txt
cross-domainfalseFollow external links