with one click
browserless
// Automate browserless/Puppeteer headless Chrome for screenshots, PDFs, HTML/text extraction, status checks, Lighthouse audits, and browser pipelines.
// Automate browserless/Puppeteer headless Chrome for screenshots, PDFs, HTML/text extraction, status checks, Lighthouse audits, and browser pipelines.
Create project-local skills for Cursor and Claude Code when users ask to create, add, or update reusable repo instructions.
Retrieve normalized HTML from URLs with fetch or headless prerender for JS pages, absolute URL rewriting, and metadata extraction pipelines.
Tune Kubernetes HPA, topology spread, requests, and scale-down behavior for cluster cost audits, incidents, replica/node issues, and over-reservation.
Build @keyvhq/core key-value caches with TTL, namespaces, memoization, cache-aside patterns, and Redis/Mongo/MySQL/PostgreSQL/SQLite adapters.
Extract metadata from HTML with metascraper rules for link previews, Open Graph, Twitter Cards, JSON-LD, titles, images, authors, and custom parsers.
Use Microlink API/MQL to extract URL metadata, build link previews, capture screenshots/PDFs, scrape CSS-selected data, and avoid browser infrastructure.
| name | browserless |
| description | Automate browserless/Puppeteer headless Chrome for screenshots, PDFs, HTML/text extraction, status checks, Lighthouse audits, and browser pipelines. |
browserless is a high-level wrapper on top of Puppeteer for reliable headless Chrome workflows.
npm install browserless puppeteer
const createBrowser = require('browserless')
const { writeFile } = require('node:fs/promises')
const browser = createBrowser({ timeout: 30000 })
const browserless = await browser.createContext({ retry: 2 })
const screenshot = await browserless.screenshot('https://example.com')
await writeFile('screenshot.png', screenshot)
await browserless.destroyContext()
await browser.close()
@browserless/cli for one-off terminal commands and quick checks.@browserless/lighthouse only when the task needs Lighthouse reports.Install once:
npm install -g @browserless/cli
Common commands:
browserless screenshot <url>browserless pdf <url>browserless html <url>browserless text <url>browserless status <url>browserless ping <url>browserless goto <url>browserless page-weight <url>browserless lighthouse <url> (requires npm install -g @browserless/lighthouse)const buffer = await browserless.screenshot('https://example.com', {
device: 'iPhone 6',
waitUntil: 'auto'
})
const buffer = await browserless.pdf('https://example.com', {
margin: '0.35cm',
printBackground: true
})
const html = await browserless.html('https://example.com')
const text = await browserless.text('https://example.com')
const getTitle = browserless.evaluate(page =>
page.evaluate(() => document.title)
)
const title = await getTitle('https://example.com')
destroyContext() after each task and close() before process exit.timeout, waitUntil, waitForSelector, and retry.adblock: false.DEBUG=browserless to inspect internal navigation and request handling.browserless: core API.@browserless/cli: command-line interface.@browserless/lighthouse: Lighthouse reports.@browserless/screencast: frame-by-frame capture.@browserless/function: sandboxed code execution against a page.