Stealth Browser Gateway | Anti-Detect Scraping API avatar

Stealth Browser Gateway | Anti-Detect Scraping API

Pricing

from $2.00 / 1,000 actor run initializations

Go to Apify Store
Stealth Browser Gateway | Anti-Detect Scraping API

Stealth Browser Gateway | Anti-Detect Scraping API

Anti-detect Firefox-based browser as an API: fetch protected pages and run click scenarios, get HTML, text or JSON. Pay per page that actually returns data; blocked pages are free. Bring your own proxy. MCP ready.

Pricing

from $2.00 / 1,000 actor run initializations

Rating

0.0

(0)

Developer

Radu Furtuna

Radu Furtuna

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

5

Monthly active users

13 days ago

Last modified

Features

Limited permissions

Share

Stealth Browser Gateway: Anti-Detect Browser API for Scraping & AI Agents 🥷🌐

Fetch pages that block ordinary headless browsers, and pay only for pages that actually came back. An anti-detect, Firefox-based browser behind a simple Apify Actor: send URLs (or a click-by-click scenario), get back clean HTML, visible text or embedded JSON (__NEXT_DATA__, JSON-LD). Works from Python, JavaScript, curl, n8n, Make, LangChain, and as an MCP tool inside Claude, Cursor and Windsurf.

Honest note. No tool opens every site. Below is a real measurement on 15 sites, 5 attempts each, with no proxy (the default). Sites that did not pass are listed too, so you know before you pay.


✅ What was measured (1 Nov 2026, Apify cloud, no proxy, 5 attempts per site)

"Success" means the real content came back (job tiles, products, listings, price data), not just HTTP 200 and not a challenge page.

SiteProtectionSuccessMedian time
httpbin.org, example.com (controls)none5/5~3 s
nowsecure.nlCloudflare5/54 s
Zillow (listing page)PerimeterX / HUMAN5/55 s
Walmart (search)PerimeterX / HUMAN5/514 s
Fiverr (category)PerimeterX / HUMAN5/57 s
Vinted (catalog)DataDome5/510 s
Facebook Ads Library (search)*Meta5/54 s
TikTok Explorein-house3/57 s
Upwork (job search)Cloudflare1/59 s
G2, TripadvisorDataDome0/5blocked
IndeedCloudflare0/5blocked
Redfin (city page)in-house0/5redirected to another city / challenge page

* Facebook answers HTTP 403 together with a fully usable page. Pass "successRequires": ["ad_archive_id"] so the result is judged by content, not by the status code. The same option protects you from "empty shell" pages that return 200 without data (TikTok, Redfin sometimes).

Blocked pages are not charged. In these 5 runs, G2, Tripadvisor, Indeed and 4 of 5 Upwork attempts were free.

Full raw results (run IDs, per-attempt reasons): bench/results_2026-11-01.json in the Actor source. Your results depend on the target page, your region and your proxy; treat this table as a starting point, not a promise.

Where it will not work (be realistic)

  • Sites that need a residential or mobile IP: use your own proxy (see below). Without one, datacenter IPs get blocked on G2, Tripadvisor, Indeed and often Upwork.
  • Interactive CAPTCHAs (Turnstile, hCaptcha, "press & hold") are not solved by this Actor.
  • Pages behind a login. Use public pages only.

🚀 Quick start

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("titan_coder/stealth-browser-gateway").call(run_input={
"startUrls": [{"url": "https://www.walmart.com/search?q=headphones"}],
"extractMode": "html",
"blockMedia": True,
})
for page in client.dataset(run["defaultDatasetId"]).iterate_items():
print(page["url"], page["status"], page["ok"], len(page["content"]))

JavaScript (Node 18+)

const res = await fetch(
'https://api.apify.com/v2/acts/titan_coder~stealth-browser-gateway/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
startUrls: [{ url: 'https://www.walmart.com/search?q=headphones' }],
extractMode: 'html',
}),
},
);
const items = await res.json();
console.log(items[0].url, items[0].status, items[0].ok);

curl

curl -s -X POST "https://api.apify.com/v2/acts/titan_coder~stealth-browser-gateway/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://www.walmart.com/search?q=headphones"}],"extractMode":"text"}'

🛠️ Input

ParameterTypeDefaultWhat it does
startUrlsarrayrequired (v1)Public URLs to open and return.
extractModestringhtmlhtml (page HTML), text (visible text), json_embedded (embedded JSON blocks).
successRequiresstring listemptyText that must be present for the page to count (and be billed) as a success. Use it when a site returns 403 with good data, or a 200 empty shell.
blockMediabooleantrueSkips images, video and web fonts to save bandwidth and time.
waitForSelector / waitForTimeoutMsstring / integernone / 1000Wait for a CSS selector or extra milliseconds for JavaScript pages.
maxPagesinteger20Cap on pages per run.
proxyConfigurationobjectnoneOptional proxy, paid by you (see below).
proxyCountrystringUSExit country when using Apify Proxy: US, GB, DE, FR, CA.
scenario / scenariosarraynoneInteractive mode: goto, click, wait_for_response, repeat_until_no_new_response, and capture of network responses.

Output (one dataset row per URL)

{
"url": "https://www.walmart.com/search?q=headphones",
"finalUrl": "https://www.walmart.com/search?q=headphones",
"status": 200,
"title": "headphones - Walmart.com",
"content": "<!DOCTYPE html>...",
"extractMode": "html",
"elapsedSeconds": 13.9,
"ok": true,
"billable": true
}

ok and billable tell you whether the row counts as a success.


🌍 Proxies: you bring and pay for your own

The Actor works without any proxy by default. For sites that block datacenter IPs you can add one in proxyConfiguration:

  • Apify Proxy ({"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}): traffic is billed to your Apify account.
  • Your own proxy ({"proxyUrls": ["http://user:pass@host:port"]}; http, https and socks5 are supported): billed by your provider. Only public proxy hosts are accepted.

If a proxy you asked for cannot be set up, the run stops with a clear error and charges nothing. It never quietly falls back to a direct connection.


💰 Pricing

Pay-per-event, charged only for results:

  • $0.012 per successfully scraped page (startUrls mode), $12 per 1,000 pages.
  • $0.05 per completed scenario (interactive mode), charged only if every required step succeeded.
  • Blocked pages, error pages, challenge pages and HTTP 202/204 answers are not charged.
  • Proxy traffic (if you enable a proxy) is billed separately by Apify or by your provider.

Retries are safe: set gatewayAttemptId and a repeated call returns the saved result without running or charging again.


🤖 Run as an MCP tool (Claude, Cursor, Windsurf)

Hosted (OAuth, no token in the config):

{
"mcpServers": {
"stealth-browser-gateway": {
"url": "https://mcp.apify.com?tools=titan_coder/stealth-browser-gateway"
}
}
}

Local (stdio):

{
"mcpServers": {
"stealth-browser-gateway": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server", "--actors", "titan_coder/stealth-browser-gateway"],
"env": { "APIFY_TOKEN": "<YOUR_APIFY_TOKEN>" }
}
}
}

Your agent can then call the Actor as a tool to fetch a protected page or run a click scenario. Same per-page pricing applies.


❓ FAQ

How is this different from Playwright or Puppeteer? Stock headless browsers leak automation signals and are often blocked. This one is an anti-detect Firefox build with realistic fingerprints, packaged as an API with pay-per-result billing.

Does it solve CAPTCHAs? No. If a site shows an interactive challenge, the page is reported as not successful and not charged.

Is it legal to scrape? Use it only on public pages, respect each site's terms and local law, and do not collect personal data you have no right to process.

Why did a site work for someone else and not for me? Results depend on the site, your region, your IP type and time. Add a residential proxy of your own for the strictest sites, and use successRequires so you only pay for real content.


🏷️ Keywords & Search Tags

anti-detect browser, stealth scraper, web scraping API, bypass Cloudflare, DataDome, PerimeterX, headless browser API, scrape protected websites, browser automation for AI agents, MCP browser tool, Firefox scraper, JSON extraction, Zillow scraper, Walmart scraper, Vinted scraper, Facebook Ads Library scraper