browsy-core
Zero-render browser engine for AI agents. Converts HTML into a Spatial DOM — a flat list of interactive elements with bounding boxes, roles, and states — without rendering pixels.
Usage
use ;
let mut session = new?;
// Browse
session.goto?;
let dom = session.dom.unwrap;
for el in dom.visible
// Search
let results = session.search?;
for r in &results
Without networking
Disable the fetch feature for a pure HTML-to-Spatial-DOM parser:
[]
= { = "0.1", = false }
let dom = parse;
Features
- Page intelligence — 12 page types detected automatically, 13 action recipes with element IDs
- CAPTCHA detection — reCAPTCHA, hCaptcha, Cloudflare Turnstile, image grids
- Hidden content exposure — dropdowns, modals, accordions included with
hidden: true - Session API — navigate, click, type, select, search with cookie persistence
- Built-in web search — DuckDuckGo and Google
- Smart deduplication — 34-42% element reduction on real sites
- CSS engine — flexbox, grid, variables, calc(), @media queries
- 6MB binary — zero runtime dependencies
Documentation
License
MIT