| name | browse |
| description | Scrape any webpage to markdown using the user's authenticated browser session. Use when you need to fetch web content, extract data from websites, scrape pages requiring login, convert HTML to markdown, or get content from social media profiles like Twitter/X or LinkedIn. |
| allowed-tools | Bash(browse:*) |
Browse - Web Scraper
Scrape any webpage to markdown using the user's authenticated browser session.
Installation
brew tap pepijnsenders/tap
brew install browse
npm install -g @pep/browse-cli
After installing, load the Chrome extension:
- Open
chrome://extensions in Chrome
- Enable "Developer mode" (top right)
- Click "Load unpacked"
- Select the extension folder:
- Homebrew:
/opt/homebrew/opt/browse/share/browse/extension
- npm:
~/.npm-global/lib/node_modules/@pep/browse-cli/extension
Prerequisites
Before using, ensure:
- Daemon is running:
browse init
- Browse Chrome extension is installed and Chrome is open
Quick Start
browse https://example.com
browse https://example.com --json
Commands
Scrape URL (default)
browse <url> [options]
Options:
--json - Output JSON with url/title/content
--html - Output pruned HTML instead of markdown
--wait <ms> - Wait time after page load (default: 2000)
--scroll <n> - Number of scrolls for infinite scroll pages (default: 0)
Daemon Management
browse init
browse stop
Examples
Basic Scraping
browse https://x.com/elonmusk
browse https://linkedin.com/in/satyanadella
browse https://news.ycombinator.com
Dynamic Content
browse https://x.com/elonmusk --scroll 5
browse https://example.com/slow --wait 10000
Programmatic Output
browse https://example.com --json
Troubleshooting
| Issue | Solution |
|---|
browse: command not found | Install via brew tap pepijnsenders/tap && brew install browse |
| "Daemon not running" | Run browse init |
| "Extension not connected" | Check Chrome is open, extension shows "ON" badge |
| Empty output | Try --wait 5000 --scroll 3 |