A Standby Actor for providing a pool of on-demand browsers, accessible through CDP.
Browser Pool is a tool that leverages the Apify platform and provides you with headless browsers for building AI agents.
Because it can rely on well tested features by Apify, such as proxies, which help to circumvent obstacles and let you concentrate on developing the online automation.
Go to the Standby tab and copy the Actor URL.
Replace https://
with wss://
: you now have the URL for connecting your Playwright session to Apify through CDP, which looks something like this:
wss://marco-gullo--browser-pool.apify.actor?token=$TOKEN
1import fs from 'fs; 2import { chromium } from 'playwright'; 3 4console.log('Connecting to a remote browser on the Apify platform'); 5const wsEndpoint = 'wss://marco-gullo--browser-pool.apify.actor?token=$TOKEN&other_params...'; 6const browser = await chromium.connect(wsEndpoint); 7 8console.log('Browser connection established, creating context'); 9const context = await browser.newContext({ viewport: { height: 1000, width: 1600 } }); 10 11console.log('Opening new page'); 12const page = await context.newPage(); 13 14const timeout = 60_000; 15console.log(`Going to: ${url}. Timeout = ${timeout}ms`); 16await page.goto(url, { timeout }); 17 18console.log('Selecting emojis'); 19await page.getByRole('img', { name: 'rocket' }).first().click(); 20await page.getByRole('img', { name: 'smile', exact: true }).nth(1).click(); 21 22console.log('Saving screenshot'); 23const screenshot = await page.getByRole('img', { name: 'rocket-smile' }).screenshot(); 24fs.writeFileSync('rocket-smile.png', screenshot); 25 26console.log('Closing the browser'); 27await context.close(); 28await browser.close();
This code is executed locally, and in the end you will have this nice picture on your computer:
Nevertheless, the browser runs on the Apify platform, so there is no need for you to install Chromium.
Moreover, you can mock your location or try to circumvent blocks using Apify's proxies.
To do so, you need to use search parameters: see below.
You can customize your session using search parameters. They are designed to be compatible with browserless.io:
proxy
: either datacenter
or residential
; selects the corresponding default proxy groups.proxyGroups
: stringified JSON of an array of Apify proxy groups, e.g., ["RESIDENTIAL5"]
.proxyCountry
: ISO 3166 country code.launch
: stringified JSON containing the following properties:
true
or false
, passed as option to Playwright.["--window-size=1920,1080", "--lang=en-US"]
.ignoreDefaultArgs
: either true
or false
, if true only uses the passed browser arguments.timeout
: maximum allowed time to spawn the browser server, in milliseconds.ttl
: time to live, in milliseconds, of the browser session after the socket has been closed.For example, if you wanted to use Apify's residential proxies from the United States, your URL would look like this:
wss://marco-gullo--browser-pool.apify.actor?token=$TOKEN&proxy=residential&proxyCountry=us
Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.
No. This is a no-code tool — just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.
It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.
Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.
You can use the Try Now button on this page to go to the scraper. You’ll be guided to input a search term and get structured results. No setup needed!