api
FreeUse crawlberg api reference documentation.
The English summary is being prepared. Showing the original description.
Use when the user wants to follow links across a domain and capture every reachable page as Markdown. Covers `crawlberg crawl` with depth, page caps, concurrency, rate limiting, domain scoping, robots, and output selection.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Reach for crawlberg crawl when one URL is not enough — the user wants
the docs site, the blog, the marketing pages, or the whole domain.
crawlberg crawl https://example.com \
--depth 3 \
--max-pages 200 \
--concurrent 8 \
--rate-limit 250 \
--stay-on-domain \
--respect-robots-txt \
--format markdown
Defaults you should usually override:
--depth 2 is shallow — set it explicitly.--max-pages is unbounded by default; cap it for any unknown site.--concurrent 10 is aggressive for small hosts; drop to 4-8 for
third-party sites.| Flag | Default | Purpose |
|---|---|---|
--depth, -d | 2 | Maximum hop count from the seed URL. |
--max-pages, -n | — | Hard cap on pages fetched. Set this on any unknown site. |
--concurrent, -c | 10 | Parallel in-flight requests. |
--rate-limit | 200 | Milliseconds between requests to the same origin. |
--stay-on-domain | off | Skip links that leave the seed domain. |
--respect-robots-txt | off | Honour robots.txt. Pass it for any third-party host. |
--proxy | — | HTTP, HTTPS, or SOCKS5 proxy URL. |
--user-agent | — | Override the request UA. Be honest. |
--timeout | 30000 | Per-request timeout in ms. |
--browser-mode | auto | auto, always, never — see the headless-fallback skill. |
--browser-endpoint | — | External CDP ws:// URL. |
--format | json | json or markdown. |
--config | — | Inline JSON or @file.json for the full CrawlConfig. |
Multiple seed URLs are accepted positionally — the engine fans out with
batch_crawl and aggregates results.
crawlberg crawl https://docs.example.com \
--depth 5 --max-pages 1000 --concurrent 16 --rate-limit 100 \
--stay-on-domain --format markdown > docs.md
Higher concurrency and lower rate limits are fine on infrastructure you control.
crawlberg crawl https://blog.unknown.example \
--depth 2 --max-pages 50 --concurrent 4 --rate-limit 500 \
--stay-on-domain --respect-robots-txt --format markdown
Stay shallow, cap pages, throttle hard, obey robots.
crawlberg crawl \
https://example.com/blog \
https://example.com/docs \
https://example.com/pricing \
--depth 2 --max-pages 100 --stay-on-domain --format json
JSON output for a multi-seed crawl is a BatchCrawlResults object:
{ "results": [ { "url", "result", "error" }, … ], "total_count", "completed_count", "failed_count" }. Each entry's url is the seed URL,
result is a full crawl payload (or null on failure), and error is a
sibling string field (null on success). Iterate with
.results[] | {url, error} — not a top-level array.
---
URL: https://example.com/page-one
---
# Page One
… markdown content …
---
URL: https://example.com/page-two
---
…
Top-level CrawlResult with pages: [...]. Each page carries the rendered
Markdown plus metadata, links, images, JSON-LD, and HTTP response info. Read
result.pages[i].markdown.content for the Markdown string.
--respect-robots-txt on every third-party crawl.--max-pages — a runaway BFS can issue tens of thousands of requests.--rate-limit for hosts that show signs of stress (5xx, slowdowns).--user-agent crawlberg (contact@example.com).--browser-mode auto, but never mode
will silently produce an empty crawl. Re-run with --browser-mode always
or check the headless-fallback skill.--stay-on-domain. Combine with
allow_subdomains: true in --config JSON to include subdomains.--concurrent for unrelated origins.--max-pages aggressively if downstream cannot keep up.map insteadIf the user only needs the list of URLs (sitemap analysis, link planning,
seeding another tool), use crawlberg map <url> — it skips rendering and
returns a flat MapResult with hundreds of URLs in seconds.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use crawlberg api reference documentation.
The English summary is being prepared. Showing the original description.
Use crawlberg cli reference documentation.
The English summary is being prepared. Showing the original description.
Crawl, scrape, and convert websites to Markdown using the local crawlberg CLI and its MCP server. Use when the user wants to fetch a page, follow links across a domain, enumerate URLs, or drive a real browser. Covers installation, the subcommands (scrape, crawl, map, interact, batch-scrape, batch-crawl, download, citations, version, mcp, serve), output formats (JSON + Markdown), browser fallback, and when to prefer the MCP server over shelling out.
The English summary is being prepared. Showing the original description.
Use when extracting a page needs scripted interaction first — click, type, press a key, scroll, wait, screenshot, or run JS before capturing the DOM. Covers `crawlberg interact URL --actions` with the real action schema, result shape, limits, and external-CDP options.
The English summary is being prepared. Showing the original description.
Use when a static fetch returns nothing useful and the page needs a real browser. Covers `--browser-mode auto|always|never`, external CDP via `--browser-endpoint`, symptoms of JS-only pages and WAF blocks, and the performance cost.
The English summary is being prepared. Showing the original description.
Use when the user wants the list of URLs on a site rather than the page content — sitemap analysis, link planning, or seeding another tool. Covers `crawlberg map URL` with `--limit`, `--search`, robots, output, and how it differs from a full crawl.
The English summary is being prepared. Showing the original description.