Crawlbase Scrape
crawlbase_scrapeScrape any website through Crawlbase rotating residential proxies with server-side anti-bot bypass (Cloudflare, DataDome, hCaptcha solved for you). Returns the page as HTML (default), clean markdown (format:"md" — great for LLM context), or a JSON envelope with metadata (format:"json"). JavaScript-heavy pages (SPAs) render when you pass your Crawlbase JavaScript token as _apiKey; the Normal token does fast static fetches. Example: crawlbase_scrape({ url: "https://example.com", format: "md", _apiKey: "your-crawlbase-token" })
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The absolute URL to scrape including scheme, e.g. "https://example.com/page" | |
| device | No | Device profile to emulate: "desktop" (default), "tablet", or "mobile". | |
| format | No | Response shape: "html" (default, raw page), "md" (GitHub-flavored markdown, LLM-friendly), or "json" (page + metadata in one JSON envelope). | |
| _apiKey | Yes | Your Crawlbase token — Normal token for static pages, JavaScript token for rendered pages. Free tier (10,000 requests) at https://crawlbase.com | |
| country | No | Two-letter ISO country code to route the crawl through, e.g. "US", "GB", "DE", "JP". Default: automatic geo selection. | |
| ajax_wait | No | Wait until the network is idle before capturing (JavaScript token required). Best for SPAs that fetch data after mount. | |
| page_wait | No | Milliseconds to wait after page load before capturing (JavaScript token required). Useful for content that animates in. | |
| javascript | No | Set true when the page needs JavaScript rendering (SPAs, lazy-loaded feeds). Crawlbase selects rendering by TOKEN TYPE, so when this is true you must pass your Crawlbase JavaScript token as _apiKey (the Normal token returns the static HTML shell). Default false. |