Browserless
Browserless is a service that provides headless browser automation, allowing users to run automations on their own sites with browser infrastructure.
Verdict
Common use cases
- Screenshot competitor landing pages for design review
- Generate PDF invoices from web app URLs
- Scrape product prices from JavaScript-rendered catalogs
- Download reports behind authenticated portals
- Bypass bot protection to monitor public data
Integration
- Vendor
- Browserless
- Category
- developer-tools
- Auth
- API_KEY
- Tools
- 7
- Composio slug
browserless
Tools
- Download file using Puppeteer script
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 dow
- 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.
- 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.
- Generate PDF from webpage
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 proce
- Scrape webpage content using CSS selectors
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 struct
- 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.
- 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, wit
Setup
Setup guide
- 11. Open your Switchy workspace and navigate to Settings > Integrations > Developer Tools. 2. Click 'Connect' next to Browserless. 3. Sign in to your Browserless account (or start a trial at browserless.io) and copy your API key from the dashboard. 4. Paste the API key into Switchy's connection dialog and click 'Authorize'. 5. Switchy confirms the connection and shows which tools are now available. 6. Open any Space and type '@Browserless take a screenshot of example.com' to test — the MCP returns a PNG within seconds. 7. For custom Puppeteer scripts, use the 'Execute Custom Function' tool and pass your code as a parameter; Browserless runs it in a fresh Chrome instance and returns the result. 8. Check the activity log in Settings to see request history and debug any timeouts or selector mismatches.
What teammates see: by default, memories from Browserless are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Screenshot Mobile View
@Browserless take a full-page screenshot of https://example.com using a mobile viewport (375x667) and return it as a PNG.Open in a Space →
Extract Pricing Table
@Browserless scrape https://competitor.com/pricing and extract all text from elements matching the selector '.pricing-tier h3, .pricing-tier .price'.Open in a Space →
Generate PDF Receipt
@Browserless generate a PDF from https://app.example.com/invoice/12345 in A4 format and wait until the network is idle before rendering.Open in a Space →
Download CSV Export
@Browserless run a Puppeteer script that navigates to https://dashboard.example.com/export, clicks the button with selector '#download-csv', and downloads the resulting file.Open in a Space →
Fetch Protected Content
@Browserless fetch the full HTML content from https://protected-site.com/data using the unblock tool to bypass bot detection.Open in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@browserless can you grab the HTML from https://example.com/pricing and pull out all the plan names and prices using CSS selectors?
I've scraped the pricing page and extracted the following plans: • Starter Plan: $29/month • Professional Plan: $79/month • Enterprise Plan: Custom pricing The tool navigated to the page, waited for JavaScript to execute, then used CSS selectors to target `.plan-name` and `.plan-price` elements. All three pricing tiers were successfully extracted from the rendered DOM.
This example shows Browserless handling JavaScript-rendered content that a simple HTTP fetch would miss. The scraping tool waits for full page load before applying selectors, making it ideal for modern SPAs. You'll need to inspect the target page's DOM to write effective selectors — generic queries may return empty results if the site's markup doesn't match your assumptions.
@browserless generate a full-page PDF of our staging dashboard at https://staging.acme.io/dashboard so I can review the layout before we ship.
PDF generated successfully. The file captures the entire dashboard page, including all scrollable content below the fold. The PDF is formatted as Letter size and waited for the 'networkidle2' event before rendering, ensuring all charts and lazy-loaded widgets were fully displayed. The generated PDF is now available for download and shows the complete dashboard layout as it would appear to an authenticated user.
This demonstrates Browserless's ability to render authenticated pages if you pass session cookies or tokens in the request headers. The 'waitUntil' parameter is critical — choosing 'networkidle2' ensures dynamic content finishes loading, but adds latency. For pages with continuous polling or live updates, you may need to use a fixed delay instead to avoid timeouts.
@browserless run a custom Puppeteer script to log into https://vendor-portal.example.com, navigate to the invoices section, and download the latest PDF invoice.
Custom Puppeteer script executed successfully. The automation: 1. Navigated to the login page and filled credentials 2. Clicked through to the invoices section 3. Triggered the download of 'Invoice_2024_03.pdf' 4. Retrieved the file from the ephemeral download directory The downloaded invoice is now available. The script ran in a fresh browser context with a temporary download folder that was cleaned up after execution.
This showcases Browserless's most flexible tool — arbitrary Puppeteer code execution. You can automate complex multi-step workflows that require interaction (clicks, form fills, waits). However, you're writing real browser automation code, so you need to handle errors, timeouts, and selector changes yourself. The download directory is ephemeral, so retrieve files immediately after the script completes.
Use-case deep-dives
When Browserless beats manual PDF downloads for finance ops
A 6-person finance team at a SaaS company needs to archive vendor invoices from 40+ supplier portals every month. Half those portals require login and generate PDFs dynamically. Browserless's PDF generation tool handles the auth flow and waits for JavaScript to render before capturing the document. The team writes one Puppeteer script per portal, stores the API key in Switchy's shared workspace, and runs the batch monthly. This works until you hit portals with aggressive bot detection—then the Unblock tool adds cost per request. If you're archiving fewer than 100 PDFs monthly and the portals are stable, Browserless saves 4-6 hours of manual clicking. Beyond that threshold, evaluate whether a dedicated invoice aggregator is cheaper than per-request unblocking fees.
Screenshot and scrape tools for weekly competitor tracking
A 3-person product marketing team tracks 12 competitor landing pages for pricing changes and feature announcements. They use Browserless's screenshot tool to capture full-page images every Monday and the CSS scraper to pull headline text and CTA copy into a shared spreadsheet. The scraper waits for JavaScript to load, so it catches React-rendered content that basic curl requests miss. This setup costs about $15/month on Browserless's starter tier and runs in 90 seconds via a scheduled Switchy prompt. The trade-off: if competitors implement Cloudflare or reCAPTCHA, you'll need the Unblock tool, which doubles the per-request cost. For low-frequency monitoring where you need visual proof and structured data, Browserless is faster than maintaining your own Puppeteer instance.
When custom Puppeteer scripts help debug user-reported UI bugs
A 5-person support team at a B2B app gets 8-10 tickets weekly about layout bugs that only appear in specific browser states or after certain user actions. They use Browserless's custom function tool to write Puppeteer scripts that reproduce the exact click sequence, viewport size, and auth state the customer reported. The script runs in Browserless's cloud, captures a screenshot, and attaches it to the Linear ticket—all from a Switchy prompt the support rep triggers. This works because Browserless handles the browser binary and network isolation; the team doesn't provision infrastructure. The limit: if your app requires SSO or complex session cookies, injecting auth into the Puppeteer script gets brittle. For apps with token-based auth and reproducible UI states, this cuts bug triage time from 20 minutes to 3.
Frequently asked
What does the Browserless MCP let me do in Switchy?
It gives your AI agents headless Chrome automation — scraping HTML, generating PDFs, taking screenshots, downloading files, and bypassing bot protection. You can run custom Puppeteer scripts without hosting your own browser infrastructure. Useful for extracting data from dynamic sites, creating reports, or testing web flows inside a chat.
Do I need a Browserless account to use this MCP?
Yes. You need a Browserless API key, which means an active Browserless subscription. Switchy doesn't provide browser infrastructure — it just routes your agent's requests to your Browserless instance. Grab your API key from the Browserless dashboard and paste it into Switchy's connection settings.
Can the Browserless MCP interact with pages that require login?
Only if you write custom Puppeteer code that handles the login flow. The built-in tools (fetch HTML, screenshot, PDF) don't persist sessions between calls. For authenticated scraping, use the Execute Custom Function tool and script the login yourself — cookies won't carry over automatically.
How is this different from just calling Browserless's API directly?
The MCP wraps Browserless's HTTP endpoints so your AI can decide when to scrape, screenshot, or generate a PDF mid-conversation. You don't write curl commands or manage request payloads — the agent picks the right tool and parameters. It's faster for exploratory tasks; direct API calls are better for scheduled jobs.
Does Browserless MCP usage count against my Switchy plan limits?
No. Browserless charges you separately based on your subscription tier (concurrent sessions, minutes, requests). Switchy only counts the MCP connection itself and the AI messages that trigger it. If you hit Browserless rate limits, your agent will see errors — upgrade your Browserless plan, not Switchy.