api
FreeUse crawlberg api reference documentation.
The English summary is being prepared. Showing the original description.
Use when the user wants a single page rendered as clean Markdown plus structured metadata. Covers `crawlberg scrape URL`, JSON vs Markdown output, what metadata is returned, and how to handle JS-heavy pages.
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.
crawlberg scrape <url> is the right tool when the user has a single
page in mind. It returns Markdown plus a full structured payload (metadata,
links, images, JSON-LD, HTTP response info).
crawlberg scrape https://example.com/article --format markdown
JSON form (default) when downstream needs metadata:
crawlberg scrape https://example.com/article --format json
| Flag | Default | Purpose |
|---|---|---|
--format | json | json or markdown. |
--timeout | 30000 | Per-request timeout in ms. |
--proxy | — | HTTP, HTTPS, or SOCKS5 proxy URL. |
--user-agent | — | Override request UA. |
--respect-robots-txt | off | Honour robots.txt. |
--browser-mode | auto | auto, always, never — see headless-fallback skill. |
--browser-endpoint | — | External CDP ws:// URL. |
--config | — | Inline JSON or @file.json for full CrawlConfig. |
Prints the rendered Markdown only. Use when piping to a file the user will read, or when the result becomes LLM context downstream.
Top-level ScrapeResult with:
final_url (after redirects), status_code, content_type, body_size,
detected_charset — all top-level fields.markdown: { content, fit_content, tables, warnings } — fit_content is a
pruned LLM-optimised variant; tables holds structured table data preserved
separately from the Markdown text.metadata: Open Graph (flat og_title/og_description/og_image), Twitter
Card, Dublin Core, article tags, headings (H1–H6), favicons, hreflang.links: a flat array of link objects, each with a link_type discriminator
(internal, external, anchor, document) — filter with
.links[] | select(.link_type=="external").images: <img>, <picture>, srcset, og:image.feeds, json_ld: top-level arrays of discovered feeds and JSON-LD entries.response_meta: HTTP header metadata (server, etag, cache-control, etc.).Read result.markdown.content for the Markdown string when scripting.
Static fetch returned a JS shell. Symptoms in JSON output:
markdown.content is short or only contains nav/footer chrome.markdown.warnings mentions JS-render-required.metadata.headings is empty when the page clearly has headings.Re-run with --browser-mode always and see the headless-fallback skill.
Auto mode detects 8 WAF vendors and retries through headless Chrome
automatically. If you forced --browser-mode never, the WAF response will
fall through. Check .status_code — 403/406/503 with WAF headers
(server: cloudflare, x-amz-cf-id, etc.) is the giveaway.
If --respect-robots-txt is set and the path is disallowed, the scrape
returns an error rather than partial content. Drop the flag only on hosts
you own or have authorisation for.
Most pages declare UTF-8. Pages that lie about their charset can surface as
mojibake in markdown.content. crawlberg exposes no encoding-override option
(there is no force_encoding/charset field in CrawlConfig, and --config
rejects unknown keys), so an incorrectly declared charset is a server-side defect —
re-fetch the raw bytes and transcode them downstream if you hit it.
crawlberg scrape https://blog.example.com/post-123 --format markdown \
> /tmp/article.md
crawlberg scrape https://example.com \
--proxy http://proxy.internal:3128 \
--user-agent "crawlberg (research@example.com)" \
--format json
crawlberg scrape https://example.com --format json \
| jq '.metadata | {title: .og_title, description: .og_description, image: .og_image}'
crawlberg-crawling-a-site skill.crawlberg interact with the action list.crawlberg map.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 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.
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.