---
title: ToolRouter — Tool Detail
description: Detailed documentation for a ToolRouter tool including skills, parameters, and examples.
url: https://toolrouter.com/tools/stealth-scraper
---
# Stealth Scraper

Extract data from bot-protected websites (Cloudflare, Akamai, DataDome, PerimeterX) using residential proxies and geo-targeted IPs. Scrape a single protected page or crawl an entire bot-protected site when standard scraping fails.

- **Version:** 0.01
- **Categories:** data, development

## Skills (2)

### Stealth Scrape Page (`stealth_scrape`)

Scrape a single bot-protected web page using enhanced residential proxies, geo-targeted IPs, and extended rendering wait times. Bypasses Cloudflare, Akamai, DataDome, and similar anti-bot systems.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `url` | string | Yes | URL of the page to scrape |
| `formats` | array | No | Output formats to return (e.g. "markdown", "html", "rawHtml", "links", "screenshot") |
| `onlyMainContent` | boolean | No | Extract only the main content, removing navbars, footers, and sidebars |
| `includeTags` | array | No | CSS tags to include in extraction (e.g. ["article", "main"]) |
| `excludeTags` | array | No | CSS tags to exclude from extraction (e.g. ["nav", "footer"]) |
| `mobile` | boolean | No | Use a mobile user agent and viewport for rendering |
| `waitFor` | number | No | Milliseconds to wait after page load before capturing content (default 3000) |
| `timeout` | number | No | Maximum time in milliseconds to wait for the page to load (default 60000) |
| `country` | string | No | ISO country code for geo-targeted proxy (e.g. "us", "gb", "de", "jp"). Default: "us" |
| `languages` | array | No | Browser language headers (e.g. ["en-US", "en"]) |

**Returns:** Scraped page content from bot-protected sites in the requested formats with metadata

**Examples:**

*Scrape a Cloudflare-protected page:*

```json
{
  "url": "https://example.com/protected-page"
}
```

*Scrape a UK site with geo-targeted proxy:*

```json
{
  "url": "https://example.co.uk/products",
  "country": "gb",
  "languages": [
    "en-GB"
  ],
  "onlyMainContent": true
}
```

### Stealth Crawl Site (`stealth_crawl`)

Recursively crawl a bot-protected website using enhanced proxies on every page. Bypasses anti-bot systems across the entire crawl, with geo-targeted IPs and extended rendering.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `url` | string | Yes | Starting URL for the crawl |
| `limit` | number | No | Maximum number of pages to crawl (default 50) |
| `maxDepth` | number | No | Maximum link-following depth from the starting URL |
| `includePaths` | array | No | URL path patterns to include (e.g. ["/blog/*", "/docs/*"]) |
| `excludePaths` | array | No | URL path patterns to exclude (e.g. ["/admin/*", "/api/*"]) |
| `allowSubdomains` | boolean | No | Whether to follow links to subdomains of the starting URL |
| `allowExternalLinks` | boolean | No | Whether to follow links to external domains |
| `country` | string | No | ISO country code for geo-targeted proxy (e.g. "us", "gb", "de", "jp"). Default: "us" |
| `languages` | array | No | Browser language headers (e.g. ["en-US", "en"]) |

**Returns:** Array of scraped pages from bot-protected sites with content, metadata, and crawl status

**Examples:**

*Crawl a protected blog section:*

```json
{
  "url": "https://example.com/blog",
  "limit": 20
}
```

*Crawl a Japanese e-commerce site with local proxy:*

```json
{
  "url": "https://example.jp/products",
  "limit": 30,
  "country": "jp",
  "languages": [
    "ja"
  ]
}
```

## Quick Start

```bash
# Via CLI
TOOLROUTER_API_KEY=tr_live_xxx npx -y toolrouter-mcp call stealth-scraper stealth_scrape --url https://example.com/protected-page

# Via REST API
curl -H "Authorization: Bearer tr_live_xxx" \
     -d '{"tool":"stealth-scraper","skill":"stealth_scrape","input":{"url":"https://example.com/protected-page"}}' \
     https://api.toolrouter.com/v1/tools/call
```

## Frequently Asked Questions

### When should I use this instead of a normal scraper?

Use `stealth_scrape` when a site throws 403s, 429s, CAPTCHA pages, or bot protection from Cloudflare, Akamai, DataDome, or PerimeterX.

### Can it scrape just one page or an entire site?

`stealth_scrape` handles a single protected page, while `stealth_crawl` recursively crawls a whole site with a page limit and depth cap.

### Can I match the browser to the site region or language?

Yes. Set `country` for geo-targeted proxies and `languages` for locale headers. You can also use `mobile`, `waitFor`, and `onlyMainContent` when the site needs it.

### What output formats can I get?

`stealth_scrape` can return formats like markdown, HTML, raw HTML, links, and screenshots, along with the extracted page metadata.

---

## Get Started with ToolRouter

**Already connected?** Call any tool with `use_tool({ tool, skill, input })`. Browse tools with `discover` or visit https://toolrouter.com/llms-full.txt

**New to ToolRouter?** Connect with one command (no API key needed — auto-provisions on first use):

```bash
# MCP (Claude Code, Codex CLI)
claude mcp add toolrouter -- npx -y toolrouter-mcp

# MCP (Cursor, Windsurf, Cline, VS Code, Gemini CLI, Claude Desktop)
{"mcpServers":{"toolrouter":{"command":"npx","args":["-y","toolrouter-mcp"]}}}

# Claude Chat / Claude Cowork / Claude Mobile — add as a connector:
# Settings → Connectors → Add custom connector → URL: https://api.toolrouter.com/mcp

# ChatGPT — add as an app:
# Settings → Apps → Advanced settings → enable Developer mode → Create app → MCP Server URL: https://api.toolrouter.com/mcp

# CLI (works instantly, no restart needed)
npx -y toolrouter-mcp tools                    # browse all tools
npx -y toolrouter-mcp search "seo"             # search by keyword
npx -y toolrouter-mcp call seo analyze_page --url https://example.com
```

Free tools work immediately. For paid tools, visit https://toolrouter.com/claim to add credits.

All platforms: https://toolrouter.com/connect | Full catalog: https://toolrouter.com/llms-full.txt | Docs: https://toolrouter.com/docs