# Quick Start Two paths to your first result in 60 seconds. ## Path A: Content Extraction (Advanced WebFetch Replacement) Things WebFetch / curl can't fetch — JS-rendered pages, anti-bot blocks, geo-restricted content — handled in one command: ```bash browser-act stealth-extract https://example.com ``` Returns the page in markdown. No browser to manage, no session to name, no cleanup required. Comes with JS rendering and anti-bot bypass, and each call is independent — multiple URLs can run in parallel. ```bash # HTML output browser-act stealth-extract https://example.com --content-type html # Use a proxy for geo-restricted content browser-act stealth-extract https://example.com --dynamic-proxy JP # Save to file browser-act stealth-extract https://example.com --output ./page.md ``` Use it for: protected content, batch data collection, information retrieval. See [Anti-Blocking](anti-blocking.md) for details. ## Path B: Full Browser Automation For login flows, form filling, and click interactions — use sessions: ```bash # 1. List available browsers browser-act browser list # 2. Open the browser to a target URL (starts a session) browser-act --session my-task browser open https://example.com # 3. See what interactive elements exist on the page browser-act --session my-task state # 4. Interact by element index browser-act --session my-task click 4 browser-act --session my-task input 2 "hello@example.com" # 5. Close when done browser-act session close my-task ``` ## The Core Loop ``` Open → State → Interact → State → ... → Close ``` 1. **Open** with `browser open` — starts a session 2. **State** with `state` — see indexed elements 3. **Interact** with `click` / `input` / `select` — by index 4. **State** again to confirm the result 5. Repeat until the task is done 6. **Close** with `session close` ## Reading `state` Output `state` is the agent's eyes. It returns the URL, title, and an indexed element tree: ``` url=https://example.com/login title=Login *[1]
*[2] *[3] *[4]