High-performance web crawler and scraper
| Name |
Flags |
Type |
Default |
Description |
log_level |
--log-level |
Option<CliLogLevel> |
|
Log level: off, error, warn, info, debug, or trace (overrides -v/-q) |
log_format |
--log-format |
CliLogFormat |
CliLogFormat |
Log output format |
verbose |
-v, --verbose |
u8 |
|
Increase log verbosity (-v = info, -vv = debug, -vvv = trace) |
quiet |
-q, --quiet |
bool |
|
Suppress diagnostics below error level |
Crawl multiple websites concurrently
| Name |
Flags |
Type |
Default |
Description |
urls |
|
Vec<String> |
|
Seed URLs to crawl |
| Name |
Flags |
Type |
Default |
Description |
depth |
-d, --depth |
usize |
2 |
Maximum crawl depth |
max_pages |
-n, --max-pages |
Option<usize> |
|
Maximum pages to crawl per seed |
concurrent |
-c, --concurrent |
usize |
10 |
Maximum concurrent requests |
rate_limit |
--rate-limit |
u64 |
200 |
Rate limit delay in milliseconds |
format |
--format |
String |
json |
Output format: json or markdown |
proxy |
--proxy |
Option<String> |
|
Proxy URL |
user_agent |
--user-agent |
Option<String> |
|
Custom user agent |
timeout |
--timeout |
u64 |
30000 |
Request timeout in milliseconds |
respect_robots_txt |
--respect-robots-txt |
bool |
|
Respect robots.txt |
stay_on_domain |
--stay-on-domain |
bool |
|
Stay on the same domain |
browser_mode |
--browser-mode |
CliBrowserMode |
CliBrowserMode |
When to use the browser: auto, always, or never |
browser_endpoint |
--browser-endpoint |
Option<String> |
|
CDP WebSocket endpoint for an external browser (must start with ws:// or wss://) |
config |
--config |
Option<String> |
|
Configuration as JSON string or @file.json |
Scrape multiple URLs concurrently
| Name |
Flags |
Type |
Default |
Description |
urls |
|
Vec<String> |
|
URLs to scrape |
| Name |
Flags |
Type |
Default |
Description |
concurrent |
-c, --concurrent |
usize |
10 |
Maximum concurrent requests |
format |
--format |
String |
json |
Output format: json or markdown |
proxy |
--proxy |
Option<String> |
|
Proxy URL |
user_agent |
--user-agent |
Option<String> |
|
Custom user agent |
timeout |
--timeout |
u64 |
30000 |
Request timeout in milliseconds |
respect_robots_txt |
--respect-robots-txt |
bool |
|
Respect robots.txt |
browser_mode |
--browser-mode |
CliBrowserMode |
CliBrowserMode |
When to use the browser: auto, always, or never |
browser_endpoint |
--browser-endpoint |
Option<String> |
|
CDP WebSocket endpoint for an external browser (must start with ws:// or wss://) |
config |
--config |
Option<String> |
|
Configuration as JSON string or @file.json |
Convert markdown links into numbered citations
| Name |
Flags |
Type |
Default |
Description |
input |
|
String |
|
Markdown text, or @file.md to read from a file |
Crawl a website following links
| Name |
Flags |
Type |
Default |
Description |
urls |
|
Vec<String> |
|
Seed URL(s) to crawl |
| Name |
Flags |
Type |
Default |
Description |
depth |
-d, --depth |
usize |
2 |
Maximum crawl depth |
max_pages |
-n, --max-pages |
Option<usize> |
|
Maximum pages to crawl |
concurrent |
-c, --concurrent |
usize |
10 |
Maximum concurrent requests |
rate_limit |
--rate-limit |
u64 |
200 |
Rate limit delay in milliseconds |
format |
--format |
String |
json |
Output format: json or markdown |
proxy |
--proxy |
Option<String> |
|
Proxy URL |
user_agent |
--user-agent |
Option<String> |
|
Custom user agent |
timeout |
--timeout |
u64 |
30000 |
Request timeout in milliseconds |
respect_robots_txt |
--respect-robots-txt |
bool |
|
Respect robots.txt |
stay_on_domain |
--stay-on-domain |
bool |
|
Stay on the same domain |
browser_mode |
--browser-mode |
CliBrowserMode |
CliBrowserMode |
When to use the browser: auto, always, or never |
browser_endpoint |
--browser-endpoint |
Option<String> |
|
CDP WebSocket endpoint for an external browser (must start with ws:// or wss://) |
config |
--config |
Option<String> |
|
Configuration as JSON string or @file.json |
Download a document from a URL and report its metadata
| Name |
Flags |
Type |
Default |
Description |
url |
|
String |
|
URL to download |
| Name |
Flags |
Type |
Default |
Description |
max_size |
--max-size |
Option<usize> |
|
Maximum document size in bytes |
timeout |
--timeout |
u64 |
30000 |
Request timeout in milliseconds |
browser_mode |
--browser-mode |
CliBrowserMode |
CliBrowserMode |
When to use the browser: auto, always, or never |
browser_endpoint |
--browser-endpoint |
Option<String> |
|
CDP WebSocket endpoint for an external browser (must start with ws:// or wss://) |
config |
--config |
Option<String> |
|
Configuration as JSON string or @file.json |
Execute browser actions on a single page
| Name |
Flags |
Type |
Default |
Description |
url |
|
String |
|
URL to interact with |
| Name |
Flags |
Type |
Default |
Description |
actions |
--actions |
String |
|
Actions as JSON array (e.g. ‘[{“type”:“click”,“selector”:“#submit”}]’) |
format |
--format |
String |
json |
Output format: json or markdown |
timeout |
--timeout |
u64 |
30000 |
Request timeout in milliseconds |
browser_mode |
--browser-mode |
CliBrowserMode |
CliBrowserMode |
When to use the browser: auto, always, or never |
browser_endpoint |
--browser-endpoint |
Option<String> |
|
CDP WebSocket endpoint for an external browser (must start with ws:// or wss://) |
config |
--config |
Option<String> |
|
Configuration as JSON string or @file.json |
Discover all URLs on a website via sitemaps and link extraction
| Name |
Flags |
Type |
Default |
Description |
url |
|
String |
|
URL to map |
| Name |
Flags |
Type |
Default |
Description |
limit |
--limit |
Option<usize> |
|
Maximum URLs to return |
search |
--search |
Option<String> |
|
Filter URLs by substring |
respect_robots_txt |
--respect-robots-txt |
bool |
|
Respect robots.txt |
format |
--format |
String |
json |
Output format: json or markdown |
timeout |
--timeout |
u64 |
30000 |
Request timeout in milliseconds |
browser_mode |
--browser-mode |
CliBrowserMode |
CliBrowserMode |
When to use the browser: auto, always, or never |
browser_endpoint |
--browser-endpoint |
Option<String> |
|
CDP WebSocket endpoint for an external browser (must start with ws:// or wss://) |
config |
--config |
Option<String> |
|
Configuration as JSON string or @file.json |
Start the MCP server (stdio transport by default).
| Name |
Flags |
Type |
Default |
Description |
http |
--http |
bool |
|
Serve over Streamable HTTP at /mcp instead of stdio (requires a build with the mcp-http feature) |
host |
--host |
String |
127.0.0.1 |
Host address to bind to in --http mode |
port |
--port |
u16 |
3001 |
Port to listen on in --http mode |
Scrape a single URL and extract metadata
| Name |
Flags |
Type |
Default |
Description |
url |
|
String |
|
URL to scrape |
| Name |
Flags |
Type |
Default |
Description |
format |
--format |
String |
json |
Output format: json or markdown |
proxy |
--proxy |
Option<String> |
|
Proxy URL |
user_agent |
--user-agent |
Option<String> |
|
Custom user agent |
timeout |
--timeout |
u64 |
30000 |
Request timeout in milliseconds |
respect_robots_txt |
--respect-robots-txt |
bool |
|
Respect robots.txt |
browser_mode |
--browser-mode |
CliBrowserMode |
CliBrowserMode |
When to use the browser: auto, always, or never |
browser_endpoint |
--browser-endpoint |
Option<String> |
|
CDP WebSocket endpoint for an external browser (must start with ws:// or wss://) |
config |
--config |
Option<String> |
|
Configuration as JSON string or @file.json |
Start the REST API server.
| Name |
Flags |
Type |
Default |
Description |
host |
--host |
String |
0.0.0.0 |
Host address to bind to |
port |
--port |
u16 |
3000 |
Port to listen on |
Print the crawlberg version as JSON