Skip to main content

Service usage

‘s browser service navigates intelligently on your behalf, rendering JavaScript, solving captchas, and retrying failed requests. The service has a RESTful interface that accepts GET requests at https://‍/browser and a Chrome DevTools Protocol (CDP) interface for controlling browser navigation yourself that accepts WebSocket connections at wss:///browser. Webpages can be localized with geotargeting parameters. Those requested via REST are retrieved in real time by default or optionally queued for subsequent retrieval. Up to 3 minutes is allotted per real-time API call to accommodate captcha-solving, multiple retries, and other mitigations. Usage data is published regularly.
If a site you’re targeting remains blocked, even with different browsing params, let us know. We can usually help unblock any site within 48 hours.

Authentication

You can access the service by including your secret API token in an Authorization header:
Here’s an example request that uses the common Curl command:

REST parameters

Besides the geotargeting and scheduling params linked above, required and optional REST params can be added in a standard query string. See our rate card for the prices of premium params. The keys and values supports are as follows:

CDP interaction

If your use case involves interacting with not just reading pages, you can connect Puppeteer, Playwright, or another CDP-compatible automation framework to the browser service:
The connection string takes geotargeting params and a subset of the REST params, namely difficulty, device, and session:
After connecting, most of your framework’s API (see the Puppeteer reference, Playwright reference, et cetera) will be available:
CDP use is metered by time, so you should disconnect from the service when done by calling browser.disconnect() (Puppeteer), browser.close() (Playwright), or the equivalent.

Protocol mixture

You can control costs by mixing REST requests and CDP use within a sticky browser session. E.g., you may want to prepare a page for interaction over REST then interact with the page over CDP:
To hand off in reverse, from CDP to REST, call your disconnect method first.

Device emulation

The device param lets you browse device-specific content, rather than the default desktop content. For a list of supported smartphone and tablet devices, make a request with your API token and no params to https://‍/browser/devices:
The API will return JSON that contains an alphabetized array of device names:
Then, pass your device name of choice into your browsing request or connection:

Response format

Read-only pages are returned as rendered HTML, raw (unrendered) HTML, or Markdown optimized for LLM prompts.

Additional examples

Cachebusting

End-to-end Playwright