API Comparison
Compare BAP, BrowserQL, BaaS v2, and REST APIs to choose the right tool for your use case. All APIs use the same cloud infrastructure and require an API token.
- A Browserless API token from your account dashboard
Authentication
All Browserless APIs require an API token. Include your token as a query parameter:
?token=YOUR_API_TOKEN_HERE
Get your API token from the Browserless dashboard.
Feature Comparison
Compare BAP, BrowserQL, BaaS v2, and REST APIs:
| Feature | BAP | BrowserQL | BaaS v2 | REST APIs |
|---|---|---|---|---|
| Connection | WebSocket | HTTPS or WebSocket | WebSocket | HTTPS |
| Usage | Typed SDK methods (page.goto()) | GraphQL mutations | Puppeteer/Playwright | HTTP requests |
| Stealth | Built-in stealth, CAPTCHA solving, and human-like behavior (same engine as BrowserQL) | Built-in stealth, CAPTCHA solving, and human-like behavior | Browser-level stealth, proxies, and launch flags | Basic launch flags and request controls |
| Flexibility | High (typed, declarative) | High (declarative language) | Highest (full browser control) | Limited (predefined endpoints) |
| State Management | Yes (reconnect) | Yes (reconnect mutation) | Yes (persistent sessions) | No (stateless) |
| Best For | Bot detection bypass from TypeScript or Python | Bot detection bypass from any language | Custom automation scripts | Simple one-off tasks |
When to Use Each API
Use a BAP SDK when you need to:
- Bypass sophisticated bot detection systems from TypeScript or Python
- Solve CAPTCHAs automatically
- Mimic human-like browser behavior
- Get autocomplete and typed responses instead of hand-writing GraphQL
Use BrowserQL directly when you need to:
- Automate from a language without a BAP SDK (not TypeScript or Python)
- Generate BQL documents from another tool
- Work in the hosted IDE
Use BaaS v2 when you need to:
- Run existing Puppeteer or Playwright code
- Keep full browser control for complex workflows
- Use custom launch options, proxies, and persistent browser sessions
- Build multi-step automation sequences in the library you already use
Use REST APIs when you need to:
- Take screenshots or generate PDFs
- Extract content from simple pages
- Integrate browser functionality via HTTP
- Perform one-off tasks without maintaining state
FAQ & Troubleshooting
How do I get started with Browserless?
Sign up for a free account at browserless.io, get your API token, and follow the BAP overview for a typed TypeScript or Python SDK, the BQL quickstart for raw GraphQL, or the BaaS guide for Puppeteer/Playwright.
What's the difference between BAP, BQL, and BaaS?
BAP is a typed SDK, in TypeScript or Python, that wraps BrowserQL mutations in a Puppeteer- or Playwright-shaped API. BQL is the underlying GraphQL API for declarative browser automation with built-in stealth, which BAP is built on. BaaS runs your existing Puppeteer or Playwright scripts on managed browsers, independent of BQL. See comparison for details.