Stealth Web Scraper
Pricing
from $2.00 / 1,000 successful pages
Stealth Web Scraper
General-purpose stealth collection helper for public pages when a dedicated source Actor is not available. Prefer specialized Actors for jobs, ads, maps, and e-commerce.
Pricing
from $2.00 / 1,000 successful pages
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
1
Bookmarked
197
Total users
45
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape Cloudflare-protected and JavaScript-heavy public pages without building your own browser, proxy, or CAPTCHA stack.
Paste a list of URLs → get rendered HTML, clean plain text, and optional CSS field extraction. Successful pages land in the default dataset (billable); blocked or failed pages go to a separate failures dataset and are not billed as successful pages.
Engine ladder (automatic): Bright Data Web Unlocker → Patchright stealth browser + CapSolver (Cloudflare / Turnstile) → Camoufox short-session failover. Residential egress and unlock credentials are handled by the scrape worker — you do not need to bring your own proxies for normal use.
Free Apify-plan users (developer policy): 10 runs / 200 URLs per run.
Features
| Capability | What it means for you |
|---|---|
| Anti-bot ladder | Unlocker first (fast/cheap when it works), then headed Patchright + CapSolver, then Camoufox if Chromium still fails |
| Soft-success / shell detection | Challenge pages and empty “success” shells are treated as blocked — not billed as successful pages |
| Bandwidth-aware browser path | Heavy assets (images / fonts / media) can be blocked to cut proxy spend (blockResources, default on) |
| Geo hint | Optional proxyCountry (e.g. us, gb) for egress / Unlocker geo |
| Cookies & headers | Forward session cookies or extra HTTP headers when a public page needs them |
| Quality signal | Per-page dataQuality: ok / partial / blocked / empty, plus provider, latency, and failover notes |
| Failures dataset | Blocked / wait-selector misses / hard failures stay out of the billable default dataset |
| Standby Live View | Lightweight health + OpenAPI surface for monitoring; full scrapes still run as normal Actor runs |
What you can do with it
1. Monitor competitor pricing on protected shops
In plain English: give the Actor a list of product page URLs → get back a clean table with product name, price, and stock status, ready to drop into Excel or an alert system.
You give:
| Field | What to enter |
|---|---|
| URLs | List of competitor product page links (one per row) |
| Fields | productName, price, availability |
You get back (table you can download as Excel / CSV / JSON):
| Product Name | Price | Availability |
|---|---|---|
| Example Product | $49.00 | In stock |
| Another Product | $29.00 | Out of stock |
| ... | ... | ... |
Tip: for large marketplaces (Walmart, Amazon, Shopee, SHEIN, …) prefer the dedicated e-commerce Actors in More Actors like this — they return structured product fields without you writing selectors.
2. Pull company listings from directories (Clutch, G2, Capterra)
In plain English: point the Actor at a directory category page → get a list of provider cards with company names, locations, ratings, and review counts.
You give:
| Field | What to enter |
|---|---|
| URLs | Category page URLs (e.g. Clutch digital marketing) |
| Wait for | [data-testid='provider-card'] (optional) |
You get back (one row per provider):
| Company | Location | Rating | Reviews | Category |
|---|---|---|---|---|
| Agency One | New York | 4.9 | 42 | Digital Marketing |
| Agency Two | Los Angeles | 4.7 | 31 | Digital Marketing |
3. Extract reviews from Trustpilot / G2 / Capterra
In plain English: provide the review page URL → get a clean list of reviews you can feed into sentiment analysis or a spreadsheet.
You get back:
| Reviewer | Rating | Date | Review |
|---|---|---|---|
| John D. | 5 | 2026-03-15 | Great product, fast shipping... |
| Sarah K. | 2 | 2026-02-28 | Had issues with the packaging... |
4. Feed AI agents with rendered page content
In plain English: your AI agent needs the actual visible content of a page (not a 403 page) → pass the URL, get back readable plain text and HTML. Works natively with LangChain, Make, n8n, and Zapier.
Plug the Actor output straight into:
- Your prompt as context
- A vector database for RAG
- A custom summarization pipeline
Optional: set provider to unlocker_only for cheap HTML/text when you know the page does not need a full browser.
5. Watch for content changes
In plain English: run the same URLs on a schedule (daily / weekly) → Actor returns a timestamp and quality signal for each page, so you can diff changes over time.
Useful for tracking:
- Competitor landing page updates
- Pricing page changes
- Legal / Terms of Service updates
- Product launch announcements
More Actors like this
Use a specialized Actor when one exists for your site — structured fields, better coverage, usually lower cost. Use Stealth Web Scraper when you need a general URL list on protected public pages.
General tools
Prefer a dedicated site scraper?
If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic URL scrape.
Jobs & Freelance
- LinkedIn Jobs Scraper
- Indeed Jobs Scraper
- Upwork Jobs Scraper
- Glassdoor Scraper
- Fiverr Gigs Scraper
- Bayt Jobs Scraper
E-commerce
- Walmart Product Scraper
- Amazon Search Scraper
- Shopee Search Scraper
- Etsy Scraper
- SHEIN Product Scraper
- Temu Product Scraper
- Target Product Scraper
- Allegro Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- Apartments.com Rental Scraper
- Rightmove Scraper
- Idealista Scraper
- realestate.com.au Scraper
Travel & Stays
Social & Content
Ads Intelligence
Local & Maps
→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.
How to use (no code required)
- Click "Try for Free" at the top of this page
- Paste your list of URLs (one per line)
- (Optional) Add CSS selectors if you want specific fields like
priceortitle - (Optional) Set
waitForSelectorif the page has content that loads dynamically - (Optional) Set
proxyCountryif the page should be fetched from a specific country - Click Start — results appear in the Dataset tab within seconds
Download your results as CSV, Excel, or JSON. That's it.
From May 21, 2026, the free $5 monthly Apify credit gets you around 2,400 successful pages in practice, depending on how many separate runs you use.
What you get back
Every successfully scraped page returns:
- Page title — the
<title>of the page - Text content — clean plain text, ready for analysis
- HTML — full rendered HTML (if you need it)
- Extracted fields — whatever you asked for with CSS selectors
- Quality signal —
ok,partial,blocked, orempty, so you know what you got - Provider / diagnostics — which engine served the page (
brightdata_unlocker,patchright,camoufox, …), plus latency and failover notes when useful - Timestamp — when the page was scraped
Two separate datasets:
- ✅ Successful pages go to the main dataset (and count toward billing)
- ❌ Failed or blocked pages go to a
failuresdataset and are not billed as successful pages
You always know exactly what you paid for.
Pricing
Pay only for successful pages written to the default dataset. Blocked pages, failed pages, and pages where your required wait selector never appears go to the failures dataset and are not billed as successful pages.
Scheduled pricing from May 21, 2026:
| What triggers a charge | Price |
|---|---|
| Actor start | $0.005 per run |
| Successful page | $0.002 per page |
| Volume | Estimated cost |
|---|---|
| 100 successful pages | ~$0.205 |
| 1,000 successful pages | ~$2.005 |
| 10,000 successful pages | ~$20.005 |
How this compares:
- Building your own stealth scraper: 20+ hours of dev work, ongoing maintenance
- Bright Data / Zyte scraping API: $500+/month subscription
- This Actor: pay only when you scrape, no subscription
Example: Scrape 500 competitor product pages once a week = about $4.02/month. Scrape 50 Clutch pages once = about $0.105.
From May 21, 2026, the $5 free monthly Apify credit covers around 2,400 successful pages — enough to test whether this fits your workflow before you spend anything.
Apify platform compute/memory is billed separately by Apify, typically pennies per run for small jobs on this thin Actor.
Connect to your tools
Use this Actor from your existing stack — no coding needed:
| Platform | How to connect |
|---|---|
| Make.com | Search "Apify" → "Run Actor" → Actor ID: lentic_clockss/stealth-web-scraper |
| n8n | Add Apify node → "Run Actor" action → same Actor ID |
| Zapier | Apify integration → "Run Actor" trigger |
| LangChain | ApifyActorsTool("lentic_clockss/stealth-web-scraper") |
| Python / Node.js | Apify SDK or direct HTTPS call |
API call example
curl "https://api.apify.com/v2/acts/lentic_clockss~stealth-web-scraper/runs" \-X POST \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"urls": ["https://www.clutch.co/it-services"], "outputFormat": "text", "proxyCountry": "us"}'
Results come back in JSON via the Apify Dataset API:
GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
Live-view web server OpenAPI schema
This Actor enables Apify Standby and ships a documented Live-view schema via .actor/openapi.json. The standby surface is intentionally lightweight:
GET /— service information and readiness response.GET /health— health check for the standby container.GET /input-example— safe low-cost input example for a normal Actor run.GET /openapi.json— the OpenAPI 3.0.3 document used by Live-view.POST /scrape— optional Live-view proxy to the scrape worker (for interactive checks); persist results with a normal Actor run.
Full scraping jobs should be launched as normal Apify Actor runs so successful pages, failure reports, RUN_REPORT, RUN_SUMMARY, and ERROR_SUMMARY are persisted to the configured datasets and key-value store.
When to use something else
This Actor is great for public content on protected sites. It's NOT the right tool for:
| If you need... | Use this instead |
|---|---|
| Login-only pages (your account dashboard) | A custom Actor with session / profile handling |
| Structured data from a known site | A dedicated Actor for that site |
| Long sessions with complex interactions | Apify's Web Scraper or a custom Actor |
| Guaranteed success on every request | No tool can promise this — websites change |
| Simple non-protected websites | Apify's cheaper Web Scraper handles these fine |
FAQ
Q: What counts as a successful page?
A: A page is successful when it returns status 200, isn't blocked (including challenge shells), and (if you set waitForSelector) the element appeared. Only successful pages written to the default dataset are billed.
Q: What happens when a page is blocked?
A: It goes to the separate failures dataset with the error details. You're not charged for blocked pages.
Q: Do I need my own proxies?
A: No for normal runs. Residential egress is provided by the scrape worker. Optional proxyCountry steers geo; proxyGroup is only a hint.
Q: Can I extract specific fields like prices or titles?
A: Yes. Pass extractSelectors with CSS selectors. If the selector matches one element you get a string, if multiple you get a list.
Q: Will this work on LinkedIn / Instagram / Facebook? A: No for login-walled feeds. Use the dedicated Jobs / Ads / Social Actors when available. This Actor is for public pages that are protected by anti-bot systems.
Q: How is this different from Apify's Web Scraper? A: Apify's Web Scraper handles standard sites. This Actor is built for pages blocked by Cloudflare, Akamai, PerimeterX, and similar systems, with an automatic Unlocker → browser → Camoufox ladder. Use the standard Web Scraper for easier targets to save money.
Q: How do I know if my target site needs this Actor? A: Try Apify's standard Web Scraper first (or a dedicated site Actor). If you get 403 errors or an empty challenge page, switch to this one.
Q: What does provider do?
A: Leave it empty for the automatic ladder. Advanced: unlocker_only, patchright, camoufox, or orchestrator to force a path.
Input reference
For developers who want full control:
| Parameter | Type | Description |
|---|---|---|
urls | array | List of URLs to scrape (required) |
extractSelectors | object | CSS selectors for specific fields, e.g. {"title": "h1", "price": ".price"} |
outputFormat | string | html, text, or both (default: both) |
waitForSelector | string | CSS selector that must appear before extraction completes |
maxConcurrency | integer | Parallel pages, 1-5 (default: 1) |
pageTimeout | integer | Page load timeout in seconds, 30-300 (default: 90) |
proxyCountry | string | Optional ISO country code for egress / Unlocker geo (e.g. us) |
proxyGroup | string | Optional hint only (auto / RESIDENTIAL / …); worker owns egress |
provider | string | Optional force: unlocker_only, patchright, camoufox, orchestrator |
cookies | array | Optional Playwright-style cookies forwarded to the browser path |
headers | object | Optional extra HTTP headers |
gotoWaitUntil | string | Browser waitUntil: commit / domcontentloaded / load / networkidle |
blockResources | boolean | Block images/fonts/media on the browser path (default: true) |
Full output schema is available in the Dataset tab.
Related Actors
All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.
Jobs & Freelance
- LinkedIn Jobs Scraper
- Bayt Jobs Scraper
- Fiverr Gigs Scraper
- Freelancer.com Scraper
- Glassdoor Scraper
- Himalayas Jobs Scraper
- Indeed Jobs Scraper
- Jobicy Remote Jobs Scraper
- RemoteOK Jobs Scraper
- SEEK Jobs Scraper
- Upwork Jobs Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- 99.co Scraper
- Realtor.com Agents Scraper
- Apartments.com Rental Scraper
- Bayut Scraper
- Craigslist Housing Scraper
- Daft.ie Scraper
- Dot Property Scraper
- FINN.no Scraper
- Funda Scraper
- Hepsiemlak Scraper
- Idealista Scraper
- Immobiliare.it Scraper
- ImmoScout24 Scraper
- Naver Land Scraper
- OpenSooq Scraper
- Otodom Scraper
- Property Finder Scraper
- PropertyGuru Scraper
- realestate.com.au Scraper
- Realtor.ca Scraper
- Rightmove Scraper
- SeLoger Scraper
- SUUMO Scraper
- Zillow Group Scraper
E-commerce
- Shopee Search Scraper
- E-commerce Scraper
- 1688 Global Product Search Scraper
- Allegro Scraper
- Amazon Search Scraper
- ASOS Product Scraper
- Cdiscount Product Scraper
- Costco Product Scraper
- Coupang Product Scraper
- Etsy Scraper
- Lazada Scraper
- MercadoLibre Scraper
- Mercari Japan Scraper
- Rakuten Japan Scraper
- SHEIN Product Scraper
- Target Product Scraper
- Temu Product Scraper
- Walmart Product Scraper
Travel & Stays
- Booking.com & Airbnb Scraper
- Agoda Scraper
- Airbnb Listings Scraper
- Booking.com Hotels Scraper
- Despegar Scraper
- Expedia Scraper
- Traveloka Scraper
- Travelstart Flights Scraper
- Trip.com Scraper
- TripAdvisor Scraper
Social & Content
Ads Intelligence
Local & Maps
General Tools
→ Browse the full profile: apify.com/lentic_clockss