Free 1,000 credits, no credit card

Cloud Browser API for Puppeteer, Playwright & AI Agents

Pay per request, not per second. 98%+ success on Cloudflare Turnstile, DataDome & PerimeterX. Self-host or run on our cloud.

Drop-in replacement for Browserless · Stagehand-compatible · MCP-native

Connect from any Puppeteer or Playwright script
import { chromium } from 'playwright'

const browser = await chromium.connectOverCDP(
  'wss://cloud.browserforhire.com?token=' + process.env.BFH_API_KEY
)
const page = await (await browser.newContext()).newPage()
await page.goto('https://news.ycombinator.com')
console.log(await page.title())
Trusted by teams running Chrome at scale
Acme
NorthBeam
Crayon
Orbit
Halcyon
Phasor
Ship in three lines

Your existing scripts. Our infrastructure.

Swap one connect URL. We handle the Chrome updates, the memory leaks, the captcha vendor contracts, and the 3am pages.

  • Works with Puppeteer, Playwright, and raw CDP clients.
  • REST endpoints for screenshot, PDF, content, scrape, search, map, crawl.
  • SOC2 Type II roadmap, GDPR-ready DPA, HIPAA on Enterprise.
  • $29/mo Starter (20k credits), free 1k credits to try.
puppeteerJavaScript
import puppeteer from 'puppeteer-core'

const browser = await puppeteer.connect({
  browserWSEndpoint:
    'wss://cloud.browserforhire.com?token=' + process.env.BFH_API_KEY,
})

const page = await browser.newPage()
await page.goto('https://example.com')
const buf = await page.screenshot({ fullPage: true })
screenshot RESTcURL
curl -X POST https://api.browserforhire.com/screenshot \
  -H "Authorization: Bearer $BFH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","fullPage":true}' \
  --output example.png
Public benchmarks

We publish what others hide

Weekly success-rate against 20 representative protected sites. When numbers drop, you see it before your scraper does.

98.4%
Cloudflare Turnstile
96.1%
DataDome
95.8%
PerimeterX
94.2%
Akamai BotMan
Sample numbers — replaced with live data from /benchmarks on launch.

Frequently asked questions

How are you different from Browserless?+
We bill per successful request rather than per 30-second unit, publish a public weekly success-rate dashboard, and ship an Apache-2.0 self-host image — no commercial license fee. The connect URL change is one line.
How are you different from Browserbase?+
Per-request billing instead of hourly buckets, optional self-hosting, and a Stagehand-compatibility mode so existing Browserbase code runs against our gateway with one URL change.
Do you have a free tier?+
1,000 credits per month, 2 concurrent browsers, no credit card required. Free forever.
Can I self-host?+
Yes. Apache-2.0 Docker image on Docker Hub and GHCR. A Helm chart is included for Kubernetes.
How do you handle anti-bot detection?+
Multi-vendor rotation across native fingerprints, 2Captcha, CapSolver, AntiCaptcha, and our own TLS/JA3 stack. When one engine degrades, traffic reroutes within 15 minutes — and our /benchmarks page publishes the weekly numbers.
Which automation libraries do you support?+
Puppeteer, Playwright, and any Chrome DevTools Protocol client. We ship official SDKs for TypeScript and Python, plus a Stagehand-compatibility mode and an MCP server for AI agents.

Ship Chrome to production today.

Free 1,000 credits, no credit card. Drop-in replacement for Browserless.