Lightpanda

Lightpanda

@lightpanda.bsky.social

A new browser built for machines. Not a fork. Not a patch. Come chat: https://discord.gg/K63XeymfB5

13 followers2 following97 posts

We benchmarked AI-native headless browsers built from scratch. Lightpanda vs Obscura vs Moli vs Cloudflare’s Kitesurf. We’re 8,000+ commits ahead of the newer ones. But that means nothing if it doesn’t perform. We measured speed, memory, CPU and web API support. Link to methodology in comments.

Lightpanda 1.0.1 is out > Its MCP server and agent now load stylesheets by default, so menus and modals stay hidden for the model > Web Locks, Compression Streams and RSA-OAEP in Web Crypto > zstd via libcurl 8.23. setImmediate is gone > Each MCP HTTP session now runs on its own thread

Lightpanda 1.0 works with Selenium. That makes Lightpanda the only browser that natively speaks every web automation protocol: CDP, WebDriver and MCP. > Change one fixture and your existing tests run on it > Up to 4.4x faster than headless Chrome and 7.8x less memory lightpanda.io/blog/posts/s...

lightpanda.ioSpeed up your Selenium scripts: Lightpanda now speaks WebDriver - Blog | LightpandaLightpanda 1.0 speaks WebDriver, making it the only browser that natively speaks every web automation protocol: CDP, WebDriver and MCP. Run your Selenium scripts on it by changing the driver setup: up...

Jev and Lightpanda are getting on well. Jev decides, Lightpanda clicks. We sent them to browse SF hostels with parking on a startup budget 🍜 > 129 agents fit on one laptop vs 12 with Chrome > 11x less memory than Chrome > 6.7s per task with Jev vs 14.1s with gemini-3.8-flash Code in comments

A fetch to the NeurIPS proceedings page gets zero papers, because the list is built by JavaScript. 🫥 From Python, Lightpanda reads all 5,858 out of the live DOM. On a 100 quote scrape: > 3s and 35 MB on Lightpanda > 6s and 1.2 GB for Selenium + headless Chrome lightpanda.io/blog/posts/l...

lightpanda.ioLightpanda for Python: a browser in one pip install - Blog | Lightpandapip install lightpanda gives you a headless browser and its Python bindings in one command, browser included. Scrape JavaScript-rendered pages and hand the data straight to pandas.

Puppeteer or Playwright users: every job you run starts up a full copy of Chrome in the background. It takes seconds to boot and is heavy on memory. They weren't built for this. That's why we built PandaScript, the same way we built the browser. lightpanda.io/blog/posts/p...

lightpanda.ioPandaScript vs Puppeteer and Playwright - Blog | LightpandaThe same scraping tasks written as PandaScripts and as Puppeteer and Playwright scripts. Nearly identical code, 4x to 17x less memory, and one binary instead of two processes and a protocol.

> We cut out all the extra work they do. > It's the same script you'd already write, but it runs inside the Lightpanda browser. > We put it through four real scraping tasks against Puppeteer and Playwright. Up to 17x less memory and 14x faster.

Lightpanda 0.4.1 is out > CORS support, --experimental-features cors to opt in > nth-* selectors ~140x faster > native ad-blocker regex + request engine > --strip-mode for cleaner content extraction > Full click pointer/mouse sequence + real wheel scroll > --locale and --timezone

Several big perf improvements in the latest Lightpanda nightly 🔥 > nth-* selectors: Now caches sibling positions. 56ms → 0.4ms/query, ~140x (PR 3449) > class matching: ~33% faster, close to Firefox (PR 3457) > getBoundingClientRect stops re-walking the DOM (PR 3467) github.com/lightpanda-i...

Lightpanda speaks WebDriver BiDi. It is early. > Demo is Selenium's Python client. > Lightpanda serves BiDi and CDP off the same port and picks the driver from the path. > Enable bidi with --protocol webdriver. Pass both --protocol webdriver --protocol cdp. > We'd love to hear what's missing.

> --http-header sets headers on every request, and --http-version 1.1 pins the connection > PDF and PNG output: --dump pdf and --dump png render the page's markdown, so text and structure rather than a pixel match. Same for Page.printToPDF and Page.captureScreenshot over CDP

Back to school, back to basics. We wrote an article on how to actually use Lightpanda. 🧑‍🏫 Local vs cloud. CLI, CDP, MCP, our native agent, or PandaScript. Easy to get confused about which fits. How to think it through before you build ⤵️ lightpanda.io/blog/posts/b...

lightpanda.ioBest Practices for Using Lightpanda - Blog | LightpandaLightpanda is a browser for machines, from agents acting on behalf of a user to data extraction at scale and indexing. Best practice looks different according to your use case.

Grouped dropdowns now work in Lightpanda. Every <option> inside an <optgroup> used to be invisible to .options, .value and form submission. It reads them all now, matching the HTML spec.

Lightpanda 0.3.5 just dropped ⚡️ `lightpanda update` to get the latest version Loads of events and DOM spec work. If a site broke two weeks ago, try it again now. IndexedDB, SharedWorker and EventSource landed too, and MCP now does HTTP transport and multi-session. github.com/lightpanda-i...

github.comRelease 0.3.5 · lightpanda-io/browserNew Web APIs SharedWorker EventSource (including relative URLs) IndexedDB (base implementation) DOMPoint / DOMPointReadOnly; improved DOMRect Various SVG types; SVGAElement.relList Static Response...