Scrape any site at scale. From simple pages to sites that fight back.
Send a URL and get structured data back. Connect your existing Puppeteer or Playwright code for full control, or reach for our stealth-first BAP SDK when bot detection is the hard part. We run the browsers either way.
Enter a URL above to
retrieve a screenshot
Pick the right tool for the target
Send a URL, get structured JSON back. Built for the 80% of scraping jobs where you just need the data, no browser code, no parsing libraries, no infrastructure.
- JSON output, no parsing required
- Handles dynamic, JavaScript-rendered content
- One API call per page
A stealth automation runtime for sites protected by Cloudflare, Datadome, or nested-iframe CAPTCHAs. Step up to BQL when Smart Scrape or standard Puppeteer/Playwright get blocked.
- Bypass major bot detectors
- Auto-click CAPTCHAs inside iframes
- Zero automation fingerprints
Want full control of the browser? You can also run Puppeteer or Playwright directly against our cloud. See Browsers as a Service.
Everything you need for web scraping
Built to handle the most challenging scraping scenarios with ease
When the site fights back, reach for BAP
Some targets need more than a standard headless browser. The BAP SDK gives you a typed, Puppeteer- or Playwright-style client (TypeScript or Python) with built-in stealth: no plugins, no manual fingerprint patching, no constant cat-and-mouse.
Prefer to write GraphQL directly? BrowserQL is the query language and runtime running underneath.
- Bypass Cloudflare, Datadome, PerimeterX
- Click CAPTCHAs nested in iframes and shadow DOMs
- Hidden debugger protocol, no automation traces
- Humanized mouse movement, scrolling, and typing
- Reuse browsers to cut proxy usage by ~90%
- Specialized IDE with live browser view
import Browserless from "@browserless.io/bap-ts";
const TOKEN = "YOUR_API_TOKEN_HERE";
const browser = Browserless.connect({
browserWSEndpoint: "wss://production-sfo.browserless.io/chromium/bql",
token: TOKEN,
});
const page = await browser.newPage();
await page.goto("https://example.com");
await browser.close();Use our API or an unforked library
Flexible integration options for any workflow
curl -X POST \
https://production-sfo.browserless.io/scrape?token=YOUR_API_TOKEN \
-H 'Content-Type: application/json' \
-d '{
"url": "https://news.ycombinator.com/",
"elements": [{
"selector": ".athing .titlelink"
}]
}'Trusted by developers worldwide
See what our customers have to say about their experience
“We started using another scraping company's headless browsers to run Puppeteer scripts. But, it required a Vercel upgrade due to slow fetch times, and the proxies weren't running correctly. I found Browserless and had our Puppeteer code running within an hour. The scrapes are now 5x faster and 1/3rd of the price, plus the support has been excellent.”
Nicklas Smit
Full-Stack Developer, Takeoff Copenhagen
“We built a scraping tool to train our chatbots on public website data, but it quickly got complicated due to edge cases and bot detection. I found Browserless and set aside a day for the integration, but it only took a couple of hours. I didn't need to become an expert in managing proxy servers or virtual computers, so now I can stay focused on core parts of the business.”
Mike Heap
Founder, My AskAI
Security & compliance