CloakBrowser Scraper avatar

CloakBrowser Scraper

Pricing

from $30.00 / 1,000 scrape events

Go to Apify Store
CloakBrowser Scraper

CloakBrowser Scraper

CloakBrowser Stealth Scraper is an Apify Actor for stealth cloak web scraping on protected websites, with JSON, HTML, or Markdown output, screenshots, interaction steps like click and scroll, session reuse, cookies, robots bypass, and Standby mode for real-time scraping APIs. Scrape with confidence!

Pricing

from $30.00 / 1,000 scrape events

Rating

0.0

(0)

Developer

Mark Fulton

Mark Fulton

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

CloakBrowser Stealth Scraper

A simple Apify Actor for scraping pages that often block ordinary browser automation.

Built on CloakBrowser, it helps you extract content, take screenshots, and handle lightweight interaction flows without building your own browser stack.

What it does

  • Scrape one URL or multiple URLs
  • Return markdown, html, or structured json
  • Run interaction steps before extraction, including:
    • wait
    • waitForSelector
    • click
    • hover
    • type
    • press
    • select
    • scroll
    • goto
    • screenshot
  • Save screenshots to the Apify key-value store
  • Reuse browser sessions with persistent profiles
  • Import and export cookies or Playwright-style storage state
  • Serve requests in Apify Standby mode

Best for

  • Protected article scraping
  • Product page extraction on defended sites
  • Flows that need a cookie click, search, login step, or wait before extraction
  • Screenshot APIs for blocked pages
  • Reusable browser sessions across multiple runs
  • Real-time scraping endpoints with Standby mode

Output formats

Markdown

Clean text output converted from the extracted HTML.

HTML

Raw page HTML, or the selected element HTML if you pass a CSS selector.

JSON

Structured content including:

  • title
  • excerpt
  • byline
  • siteName
  • lang
  • text
  • headings
  • links
  • images

Example input

{
"url": "https://example.com",
"outputFormat": "json",
"screenshot": true,
"humanize": true,
"usePersistentContext": true,
"waitUntil": "load"
}

Example interaction steps

[
{ "action": "waitForSelector", "selector": "button.accept-cookies", "optional": true },
{ "action": "click", "selector": "button.accept-cookies", "optional": true },
{ "action": "type", "selector": "input[type=search]", "text": "running shoes", "delayMs": 80 },
{ "action": "press", "key": "Enter" },
{ "action": "wait", "ms": 2500 },
{ "action": "screenshot", "fullPage": false }
]

Session support

You can keep or move session state in three ways:

Reuse a named browser profile

{
"usePersistentContext": true,
"sessionProfileName": "my-shop-session"
}

Import an existing session

Load session state with storageState, storageStateKey, cookies, or localStorage.

{
"url": "https://example.com/account",
"storageStateKey": "MY_LOGGED_IN_STATE",
"outputFormat": "json"
}

Export a fresh session after the run

{
"exportStorageState": true,
"exportStorageStateKey": "LATEST_STORAGE_STATE",
"exportCookies": true,
"exportCookiesKey": "LATEST_COOKIES"
}

Standby mode

When started in Apify Standby mode, the Actor exposes:

  • GET /
  • GET /scrape?url=https://example.com&outputFormat=markdown
  • POST /scrape

It also handles the Apify readiness probe automatically.

Example standby request

curl -X POST "https://your-standby-url/scrape" \
-H "content-type: application/json" \
-d '{
"url": "https://example.com",
"outputFormat": "json",
"screenshot": true
}'

Example output

{
"requestedUrl": "https://example.com",
"finalUrl": "https://example.com/",
"title": "Example Domain",
"outputFormat": "markdown",
"selector": null,
"session": {
"profileName": "default",
"importedStorageStateKey": null,
"importedCookieCount": 0,
"importedLocalStorageOriginCount": 0
},
"screenshot": {
"key": "screenshots-example.com-1716161616161-a1b2c3d4.png",
"contentType": "image/png"
},
"artifacts": [],
"content": "# Example Domain\n\nThis domain is for use in documentation examples without needing permission.",
"scrapedAt": "2026-05-19T23:53:11.140Z"
}

Example input files

Ready-made examples live in ./examples:

  • ./examples/basic-markdown.json
  • ./examples/interaction-search.json
  • ./examples/bot-hardened.json
  • ./examples/standby-post-body.json
  • ./examples/session-import-export.json

Notes

  • Hard targets usually work best with solid proxies.
  • Geo-targeted proxies benefit from matching locale and timezone settings.
  • Heavy JavaScript pages may need extra waits or interaction steps.