Skip to content

Browserless

Browserless

Browserless is a headless browser automation service that provides managed infrastructure for running Puppeteer scripts and performing web automation tasks without the need to manage your own browser server. With the Browserless integration in SquadOS, your agents can download files, execute custom scripts, fetch page HTML, generate PDFs, extract content via CSS selectors, take screenshots, and bypass bot protection reliably.

This tool uses API key (API_KEY) to connect.

You will need the following fields:

FieldRequiredDescription
api_keyYesAPI key from your Browserless account, used to authenticate all requests to the service.
  1. Go to browserless.io and create an account.
  2. After signing up, log in to the dashboard at cloud.browserless.io/account.
  3. Copy the API Key displayed on your account page — this is the value to enter in the api_key field when connecting in SquadOS.
  1. Go to Tools in the side menu (/admin/tools).
  2. Open the Available tab and search for Browserless.
  3. Click the card to open the details modal and hit Connect.
  4. You’re taken to the secure connection page hosted by Composio, where you enter the credentials obtained above.
  5. Once done, you’re sent back to SquadOS with the account connected and the tool available for your agents. (Connection-flow details in Organization Tools.)

BROWSERLESS_DOWNLOAD_FILE

This tool allows downloading files that Chrome has downloaded during the execution of puppeteer code. It sets up a blank page, creates a fresh download directory, injects the provided code, and executes it. Once the script finishes, any downloaded files from Chromium are returned with the appropriate content-type header.

NameTypeRequiredDescription
codestringYesThe Puppeteer script to execute for downloading the file. This should be a valid JavaScript code that triggers a file download.
contextobjectNoAdditional context data to be passed to the script.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

BROWSERLESS_EXECUTE_CUSTOM_FUNCTION

A tool that allows executing custom Puppeteer scripts via HTTP requests. This endpoint enables users to run browser automation tasks without managing their own infrastructure.

NameTypeRequiredDescription
codestringYesThe Puppeteer function code to execute. Must be a valid ESM module with a default export function.
contextobjectNoOptional context object to pass to the function. Supports any JSON-serializable nested data.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

BROWSERLESS_FETCH_HTML_CONTENT

This tool fetches the complete HTML content of a webpage using Browserless’s content API. It’s designed to retrieve the full HTML contents of any website, including dynamically generated content.

NameTypeRequiredDescription
urlstringYesThe URL of the webpage to fetch HTML content from.
best_attemptbooleanNoWhether to continue on error.
goto_optionsobjectNoNavigation options like waitUntil.
wait_for_eventobjectNoWait for specific event with optional timeout.
wait_for_timeoutintegerNoWait for specific time in milliseconds.
wait_for_selectorobjectNoWait for specific element with optional timeout.
reject_resource_typesarrayNoTypes of resources to block (e.g., images, stylesheets).
reject_request_patternarrayNoPatterns to block specific requests.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

BROWSERLESS_GENERATE_PDF

This tool generates a PDF from a specified webpage using Browserless’s PDF generation API. It allows specifying the URL of the webpage along with parameters such as format, filename, and waitUntil options to control the PDF generation process.

NameTypeRequiredDescription
urlstringNoURL of the webpage to generate PDF from.
htmlstringNoHTML content to generate PDF from.
optionsobjectNoPDF generation options based on Puppeteer’s PDFOptions.
addStyleTagarrayNoCustom style tags to inject.
bestAttemptbooleanNoContinue on error.
gotoOptionsobjectNoNavigation options for page loading.
addScriptTagarrayNoCustom script tags to inject.
waitForSelectorobjectNoOptions for waiting for a selector to appear.
rejectResourceTypesarrayNoResource types to block.
rejectRequestPatternarrayNoRequest patterns to block.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

Scrape webpage content using CSS selectors

Section titled “Scrape webpage content using CSS selectors”

BROWSERLESS_SCRAPE_CONTENT

A tool to extract structured content from a webpage by specifying CSS selectors. The tool navigates to the specified URL, waits for the page to load (including parsing and executing JavaScript), and returns the selected elements in a structured JSON format.

NameTypeRequiredDescription
urlstringYesThe URL to scrape content from.
elementsarrayYesArray of objects containing CSS selectors to extract.
gotoOptionsobjectNoOptions for page navigation.
waitForEventobjectNoWait for a specific event to occur.
waitForTimeoutintegerNoWait specified milliseconds before scraping.
waitForFunctionobjectNoWait for a custom JavaScript function to return true.
waitForSelectorobjectNoWait for a specific selector to appear.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

BROWSERLESS_TAKE_SCREENSHOT

A tool that captures a screenshot of a webpage using Browserless’s screenshot API. The tool takes a URL and returns either a PNG or JPEG image. It includes options for full page capture, image type, quality, and clipping coordinates.

NameTypeRequiredDescription
urlstringYesThe URL of the webpage to capture.
clip_xintegerNoX coordinate for clipping the screenshot.
clip_yintegerNoY coordinate for clipping the screenshot.
qualityintegerNoThe quality of the image (0–100, only applies to jpeg).
full_pagebooleanNoWhether to capture the full page or just the viewport.
clip_widthintegerNoWidth of the clipping area.
image_typestringNoThe type of image to return (png or jpeg).
clip_heightintegerNoHeight of the clipping area.
omit_backgroundbooleanNoWhether to omit the background in the screenshot.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

BROWSERLESS_UNBLOCK_PROTECTED_CONTENT

This tool provides access to content from websites that implement bot protection mechanisms. It is designed to bypass various types of protection (such as CAPTCHA and bot detections) and return the HTML content of the protected webpage, with optional customization through parameters like waitFor, timeout, and stealth mode.

NameTypeRequiredDescription
ttlintegerNoTime to live for the browser instance in milliseconds.
urlstringYesThe URL of the protected webpage to access.
contentbooleanNoWhether to return the HTML content of the page.
cookiesbooleanNoWhether to return cookies from the page.
screenshotbooleanNoWhether to return a screenshot of the page.
waitForEventobjectNoEvent to wait for before returning the response.
waitForFunctionobjectNoFunction to execute and wait for before returning the response.
waitForSelectorobjectNoSelector to wait for before returning the response.
browserWSEndpointbooleanNoWhether to return a WebSocket endpoint for browser automation.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.