Run a headless Chromium browser from your nself backend. Scrape pages, take screenshots, and manage persistent browser sessions, all through a simple HTTP API. Designed for use with nself-claw but works standalone too.
nself-browser is part of the ɳClaw bundle and requires Docker runtime. Chromium runs inside a dedicated container. Set your key with nself license set nself_pro_... before installing.
nself license set nself_pro_...
nself plugin install browser
nself build
nself start| Variable | Required | Default | Description |
|---|---|---|---|
PLUGIN_BROWSER_ALLOWLIST | No | all public | Comma-separated domains the browser may visit. Empty = all public domains allowed. |
PLUGIN_BROWSER_DENYLIST | No | RFC1918 | Comma-separated domains the browser must never visit. RFC1918 ranges are always blocked. |
# Allow only specific domains
PLUGIN_BROWSER_ALLOWLIST=example.com,docs.example.com,api.github.com
# Block specific domains (RFC1918 is always blocked regardless)
PLUGIN_BROWSER_DENYLIST=internal.example.com,admin.example.comRFC1918 addresses (10.x.x.x, 192.168.x.x, 172.16-31.x.x) and localhost are always blocked regardless of the allowlist. This prevents SSRF attacks if the browser is exposed via an AI agent or user input.
# Scrape full page text
curl -X POST http://127.0.0.1:3716/browser/scrape \
-H "Content-Type: application/json" \
-d '{
"url": "https://news.ycombinator.com",
"selector": ".titleline > a"
}'# Screenshot returns a PNG
curl "http://127.0.0.1:3716/browser/screenshot?url=https://example.com" \
--output screenshot.png# List active browser sessions
curl http://127.0.0.1:3716/browser/sessions
# Delete a specific session
curl -X DELETE http://127.0.0.1:3716/browser/sessions/session-id-here| Endpoint | Method | Description |
|---|---|---|
/browser/scrape | POST | Load a URL and extract text, links, or matching selectors |
/browser/screenshot | GET | Capture a full-page PNG screenshot of any URL |
/browser/sessions | GET | List active browser sessions |
/browser/sessions/:id | DELETE | Terminate and clean up a browser session |
/screenshots | GET | List recent screenshots stored on disk |
/health | GET | Check plugin health and Chromium status |
{
"url": "https://example.com", // URL to load
"selector": "h1, p", // CSS selector (optional, returns all text if omitted)
"screenshot": false, // also capture a screenshot (default: false)
"wait_for": ".content", // CSS selector to wait for before scraping (optional)
"timeout_ms": 30000 // page load timeout in ms (default: 30000)
}nself plugin remove browserPort: 3716 | Bundle: ɳClaw ($0.99/mo) or ɳSelf+ ($3.99/mo) | Requires: Docker runtime | Last Updated: April 2026 | Plugin Version 1.0.12