Stealth Web Scraper
Pricing
Pay per usage
Stealth Web Scraper
Scrape websites protected by Cloudflare, Turnstile, and other anti-bot systems. Built-in proxy rotation, browser fingerprint protection, and CAPTCHA solving. No extra configuration needed.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
kane liu
Actor stats
0
Bookmarked
5
Total users
4
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape any website — even those protected by Cloudflare, Turnstile CAPTCHAs, and other anti-bot systems. Built-in proxy rotation, browser fingerprint protection, and human behavior simulation. No extra setup needed.
Why this scraper?
Most web scrapers fail on protected websites. Cloudflare alone protects 20% of all websites (41M+ sites). This Actor uses a real browser engine with anti-detection technology to bypass these protections automatically.
| Protection Level | Examples | Success Rate |
|---|---|---|
| No protection | Wikipedia, static sites | 100% |
| Basic (JS challenge) | Many e-commerce sites | 100% |
| Medium (Cloudflare standard) | Fiverr, job boards | 86-100% |
| Strong (CF Turnstile CAPTCHA) | Clutch, Upwork | 100% |
Features
- Anti-bot bypass — Handles Cloudflare challenges, Turnstile CAPTCHAs, and browser fingerprint detection automatically
- Residential proxy rotation — Built-in proxy pool with intelligent rotation, cooldown, and blacklist management
- Browser fingerprint masking — Uses Patchright (undetectable Playwright fork) with stealth configuration
- Human behavior simulation — Random delays, mouse movements, and page interaction patterns
- CSS selector extraction — Optionally extract specific data fields using CSS selectors
- Flexible output — Get full HTML, plain text, or both for each page
- Concurrent scraping — Process up to 5 pages in parallel
- Automatic retries — 3 retry attempts per URL with proxy rotation on failure
How it works
- Takes your list of URLs
- Opens each URL in an undetectable browser with a rotating residential proxy
- Detects and resolves any anti-bot challenges (Cloudflare, Turnstile, etc.)
- Simulates human browsing behavior
- Extracts and returns the page content
No API keys, no proxy configuration, no browser setup — it just works.
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| urls | array | Yes | List of URLs to scrape |
| extractSelectors | object | No | CSS selectors to extract specific fields (e.g. {"title": "h1", "price": ".price"}) |
| outputFormat | string | No | html, text, or both (default: both) |
| waitForSelector | string | No | CSS selector to wait for before extracting (for JS-rendered pages) |
| maxConcurrency | integer | No | Parallel pages (1-5, default: 1) |
| pageTimeout | integer | No | Page load timeout in seconds (30-300, default: 90) |
Output Fields
| Field | Type | Description |
|---|---|---|
| url | string | The scraped URL |
| statusCode | integer | HTTP status code (200 = success) |
| blocked | boolean | Whether anti-bot protection blocked the request |
| title | string | Page title |
| html | string | Full page HTML (if outputFormat includes html) |
| text | string | Plain text content (if outputFormat includes text) |
| extracted | object | Extracted fields (if extractSelectors provided) |
| scrapedAt | string | ISO timestamp of when the page was scraped |
Example: Basic scraping
Input:
{"urls": ["https://www.clutch.co/it-services","https://www.fiverr.com/categories/programming-tech"],"outputFormat": "text"}
Output:
{"url": "https://www.clutch.co/it-services","statusCode": 200,"blocked": false,"title": "Top IT Services Companies - 2026 Reviews | Clutch.co","text": "Top IT Services Companies...","scrapedAt": "2026-04-02T10:30:00.000Z"}
Example: Extract specific fields
Input:
{"urls": ["https://example-shop.com/product/123"],"extractSelectors": {"productName": "h1.product-title","price": ".price-current","description": ".product-description","reviews": ".review-text"},"outputFormat": "text"}
Output:
{"url": "https://example-shop.com/product/123","statusCode": 200,"blocked": false,"title": "Product Name - Example Shop","text": "...","extracted": {"productName": "Wireless Headphones Pro","price": "$79.99","description": "Premium noise-cancelling...","reviews": ["Great sound quality!", "Best purchase ever"]},"scrapedAt": "2026-04-02T10:30:00.000Z"}
Use Cases
- Price monitoring — Track product prices on e-commerce sites with anti-bot protection
- Lead generation — Scrape business directories and company listings
- Market research — Collect data from competitor websites
- Content aggregation — Gather articles, reviews, or listings from multiple sources
- SEO monitoring — Check search result pages and competitor content
- Real estate data — Scrape property listings from protected platforms
- Job market analysis — Collect job postings from protected job boards
Performance
- ~8-12 seconds per page (with anti-bot handling)
- ~5-7 seconds per page (unprotected sites)
- Concurrent mode: up to 5x faster with maxConcurrency setting
- 50 pages: ~5-10 minutes
- 200 pages: ~20-35 minutes
Compared to other scrapers
| Feature | Free Apify Scrapers | Other Anti-Bot Actors | Stealth Web Scraper |
|---|---|---|---|
| Unprotected sites | Yes | Yes | Yes |
| Cloudflare bypass | No | Claims yes (rated 1-3/5) | Yes (verified 86-100%) |
| Turnstile CAPTCHA | No | Unreliable | Yes (verified 100%) |
| Built-in proxies | No | Some | Yes (residential) |
| Browser fingerprint | Basic | Basic | Advanced (Patchright) |
| PPE pricing | Free + compute | Mostly rental (dying) | Pay per page |
| Published success rates | No | No | Yes, per-site verified |
Proxy
This Actor uses its own residential proxy pool. No additional proxy configuration is needed.
FAQ
Q: Can it scrape any website? A: It handles most websites including those with Cloudflare, Turnstile, and JavaScript-heavy rendering. Extremely aggressive anti-bot systems (like some banking sites) may still block requests.
Q: Do I need to provide my own proxies? A: No. Residential proxies are built-in and included in the price.
Q: How is this different from Apify's Web Scraper? A: Apify's official Web Scraper has no anti-bot bypass capability. It fails on Cloudflare-protected sites. This Actor uses an undetectable browser engine specifically designed to bypass anti-bot protections.
Q: Can I extract specific data from pages?
A: Yes. Use the extractSelectors parameter with CSS selectors to extract specific fields. For complex extraction logic, you can process the returned HTML in your own code.
Q: What about JavaScript-rendered pages?
A: The Actor uses a full browser engine, so JavaScript is fully executed. Use waitForSelector if you need to wait for specific dynamic content to load.