n8n's built-in HTML Extract handles static pages and chokes on the rest. The cloud alternatives bill you per browser-minute. LumaBrowser is a free local browser with a REST API your existing HTTP Request node already knows how to call, plus outbound webhooks that can be the trigger for an automation.
The pattern every n8n / Zapier / Make user hits eventually. A workflow needs to scrape a competitor's pricing page, log in to a vendor dashboard, or fill a form. The built-in HTML Extract node returns nothing because the page renders in JavaScript. You install a community Puppeteer node, fight Docker for an afternoon, and rebuild the workflow. Six months later the bundled Chromium drifts, the node breaks, and you migrate to Browserless; and now you're paying $25–$140/month per account for the privilege of running a browser.
LumaBrowser exposes a local REST API on http://localhost:3000. n8n's built-in HTTP Request node calls it directly, no community packages, no extra Docker container, no API key. The same goes for Make's HTTP module and Zapier's Webhooks by Zapier when paired with a tunnel.
// In your n8n HTTP Request node, set:
Method: POST
URL: http://localhost:3000/api/browser/tabs/0/get_element
Body: JSON
Body Content: {
"selector": ".product-price",
"llmFallback": "the visible price next to the buy button"
}
// Output is JSON. Pipe directly into the next node,
// Set, Code, IF, or whatever your workflow needs.
curl -X POST http://localhost:3000/api/browser/tabs/0/get_element \
-H "Content-Type: application/json" \
-d '{
"selector": ".product-price",
"llmFallback": "the visible price next to the buy button"
}'
Five nodes, five minutes to build. Same shape works for stock-level monitoring, status-page tracking, lead enrichment, internal-dashboard scraping, whatever your agency clients are asking for.
n8n's built-in cron, every hour. Or use LumaBrowser's Timed Tasks instead and skip n8n's scheduler.
POST /api/browser/tabs with the competitor URL. Real Chromium, JS-rendered.
POST /api/browser/tabs/0/get_element with selector + llmFallback.
Compare against last value (Set node + n8n static data). Branch on changed.
Native Slack node, formatted message with old vs. new price.
No new dependencies in your n8n install. No browser-minute meter ticking. No bundled Chromium to drift. The HTTP Request nodes target localhost, same machine, same Docker network, or via host networking on a self-hosted instance.
Most workflow articles talk about calling a browser from a workflow. The other half is the browser starting a workflow. LumaBrowser does both.
Add a Webhook node in n8n. Copy its URL into LumaBrowser's Page Change Detector. The moment the watched page changes, the diff payload POSTs to your workflow, same shape every time, branch on whatever you need.
Replaces a polling cron + diff-comparison node combo with a single push trigger. Equivalent in Make: Webhooks → Custom webhook. Equivalent in Zapier: Webhooks by Zapier → Catch Hook.
Or skip n8n's scheduler entirely. LumaBrowser's Timed Tasks run an LLM-driven browser script on a schedule, return structured JSON, and POST it to a webhook URL of your choice, same place n8n is listening.
Useful when the “workflow” is mostly a browser flow with one notification step at the end. The browser side runs locally; n8n / Make / Zapier just receives the result.
Comparing the practical paths a self-hosted n8n user has for “real browser in my workflow”.
| n8n built-in HTML Extract | n8n-nodes-puppeteer (community) | Browserless (cloud or self-host) | Browserbase | LumaBrowser | |
|---|---|---|---|---|---|
| Cost | Free, included | Free, OSS | Free 1k units, $25+/mo | Free 1 hr, $20+/mo | Free |
| Renders JS / SPA pages | No (HTTP only) | Yes (bundled Chromium) | Yes | Yes | Yes - always |
| Where the browser runs | n/a | Inside your n8n container | Vendor cloud (or self-host) | Vendor cloud only | Local desktop app |
| Self-healing selectors | No | No | No | Stagehand AI actions | Per-call llmFallback |
| Outbound webhook on page change | No | Build it yourself | Build it yourself | Build it yourself | Built in |
| Setup in n8n | Already there | Install community node + restart | HTTP Request + token, or community node | HTTP Request + Stagehand SDK | Just HTTP Request |
| Authenticated targets | Cookies via header | Manual login flow | Manual login flow | Managed sessions | Your logged-in session |
Pricing as listed by each vendor at time of publication. Self-hosted Browserless skips the metered pricing in exchange for running a separate container alongside your n8n stack and managing image upgrades (v1 to v2 was a non-trivial migration).
This comparison reflects publicly available pricing and feature information gathered to the best of our knowledge from each vendor's public materials. Vendors update plans frequently and we're a small team; if anything here looks wrong, please email [email protected] with the correction and a source, and we'll update the page.
LumaBrowser is the local browser your n8n / Zapier / Make stack already wishes you had wired up. Free to download, plugs into the nodes you already have, runs on whatever box your workflow runs on.