Skip to main content

Introduction

DeepScanBot is a web crawler designed to scan websites, discover pages, and generate detailed reports. It runs as a single binary with no runtime dependencies, supports JSON and text output, and handles the complexities of web crawling automatically.

What Does DeepScanBot Do?​

You give it a URL and it crawls the site by following links, respecting robots.txt, handling rate limits, and producing a report of everything it found. You control how deep it goes, how fast it crawls, and what content types to include.

  • Crawls websites by following internal links up to a configurable depth
  • Respects robots.txt rules with an option to bypass when needed
  • Handles rate limits with automatic retry and exponential backoff
  • Filters content by MIME type for targeted crawling
  • Exports results in structured JSON or text formats

Who Is It For?​

  • Security Researchers - Map out website structure and identify exposed endpoints
  • SEO Specialists - Discover all pages, find broken links, analyze site structure
  • QA Engineers - Verify page availability, test website coverage
  • Data Analysts - Collect structured data from websites
  • DevOps Engineers - Monitor website health, validate deployments

Quick Start​

The fastest way to get started:

npm install -g @mindfiredigital/deepscanbot

deepscanbot scan https://example.com
deepscanbot scan https://example.com depth=3 --json
deepscanbot --version
deepscanbot doctor

No additional runtime dependencies. The npm package installs the correct binary for your platform.

Key Features​

  • Concurrent Crawling - Multi-threaded crawling with configurable concurrency, per-host rate limiting, and CPU-aware auto-scaling
  • Robots.txt Compliance - Automatically respects robots.txt rules with an option to bypass
  • Retry & Rate-Limit Handling - Automatic retry with exponential backoff and Retry-After header parsing
  • Rich Output - JSON or text reports with detailed summaries, status code distribution, and skip reason breakdowns
  • Sitemap Discovery - Auto-discover and crawl URLs from sitemap.xml, including nested sitemap indexes
  • Content-Type Filtering - Filter downloads by MIME type, enforce page size limits
  • Proxy Support - Route traffic through HTTP/HTTPS proxy servers
  • Resume Mode - Resume interrupted crawls without recrawling already visited URLs
  • Cross-Domain Crawling - Optionally follow links to external domains
  • TLS Options - Disable TLS verification for self-signed certificates

Note: The tabs below show example outputs of DeepScanBot in action. See the Scanning Guide for additional example outputs.

See It In Action​

Terminal scan output

Real-time terminal output showing DeepScanBot crawling a website with progress indicators and results summary.

Note: These are example outputs. Run deepscanbot scan https://example.com to see it in action on your own website.

Why DeepScanBot?​

DeepScanBotOther Crawlers
PlatformSingle binary, no runtime depsOften requires Python/Node runtime
ConcurrencyBuilt-in, configurableOften limited or complex setup
Rate LimitingPer-host plus global semaphoresManual or absent
Robots.txtAutomatic plus bypass optionVaries
Retry LogicExponential backoff plus Retry-AfterOften basic or missing
OutputJSON or text with full analyticsUsually basic
Resume ModeBuilt-inRare
SitemapAuto-discovery plus nestedRare
Exit CodesStandardized no issues / issues foundInconsistent

Comparison with Similar Tools​

DeepScanBot shares features with several established crawlers, but is designed to be simple to deploy, safe for CI/CD, and rich in structured output. The table below highlights how it differs from common alternatives.

DeepScanBotScreaming FrogWgetScrapyHTTrack
DeploymentSingle binary, zero runtime deps, npm-installableDesktop GUI app (Java)CLI utilityPython frameworkDesktop GUI app
License / CostFree, open sourceCommercial (free tier)Free (GPL)Free (BSD)Free (GPL)
CI/CD friendlyYes — headless, --no-input, standardized exit codesNo — requires GUI/sessionPartialRequires custom runnerNo
JSON outputFirst-class (--json global flag) + jq-friendlyLimited / app-dependentLimitedCustom pipelinesNo
ConcurrencyBuilt-in, configurable, CPU-awareYesSingle-threaded (-e robots=off etc.)Framework (you build it)Limited
Rate limitingPer-host + global semaphoresBuilt-inMinimalManualPartial
Robots.txtAutomatic + bypass optionBuilt-in-e robots=offVia middlewareBuilt-in
Retry / backoffAutomatic exponential backoff + Retry-AfterPartial--triesManualBasic
Sitemap discoveryBuilt-in, incl. nested indexesBuilt-in (SEO focus)NoVia extensionNo
Resume modeBuilt-inNo-c (partial)NoYes
Cross-domain followsOptionalOptionalNoCustomOption
Proxy / TLS optionsYesYesYesYesYes

Key takeaways

  • Free, open-source, and CI/CD-first — based on the criteria in the table above (License/Cost and CI/CD friendliness), DeepScanBot is the only option rated fully CI/CD-friendly ("Yes": headless, --no-input, standardized exit codes) while remaining free and open source. It ships as a single dependency-free binary that never hangs on user input.
  • It provides first-class JSON output (--json) and standardized exit codes, making it easy to script, monitor, and integrate into pipelines.
  • Screaming Frog and HTTrack are powerful but GUI-oriented; Wget is minimal; Scrapy is a framework that requires building your own crawler.