Skip to main content

browserground (Python)

The local UI-grounding specialist for hybrid AI agents. Drop in a screenshot + text target, get a strict JSON bbox. 2B params. MLX-native on Apple Silicon. Apache 2.0.

This is the Python entry point. For the full-featured CLI (daemon, HTTP server, batch mode, eval), install the npm package: npm install -g browserground.

Install

# Apple Silicon (recommended) — uses the MLX 4-bit build, ~1-2s/call
pip install "browserground[mlx]"

# Or, CUDA / CPU (slower, ~10-14s/call on M-series via MPS)
pip install "browserground[transformers]"

Use

from browserground import ground, ground_bbox, click_xy

# Full result with timing + raw text
res = ground("screenshot.png", "the green Subscribe button")
print(res)
# {'bbox_2d': [344, 612, 478, 658], 'model_elapsed_s': 1.4, 'backend': 'mlx', ...}

# Just the bbox
bbox = ground_bbox("screenshot.png", "Submit button")

# Center coords for browser-use / Playwright / etc.
x, y = click_xy("screenshot.png", "the back arrow")

How it works

browserground is a Qwen3-VL-2B base + a LoRA fine-tune for UI grounding (rank 32, 26k training examples across macOS / Android / UIBert / web). Output is strict JSON ({"bbox_2d": [x1, y1, x2, y2]}), 100% parseable on the held-out eval. 60.0% on ScreenSpot-v2 (300 items, vs SeeClick's 55.1% at 9.6B params — that's 4.8× smaller).

browser-use / Skyvern integration

from browserground import click_xy

# Inside your browser-use action:
xy = click_xy("/tmp/page.png", "the green Subscribe button")
if xy:
    await page.mouse.click(*xy)

Plug-in templates: https://github.com/renezander030/browserground/tree/main/plugins.

Why this exists

Most agents send every screenshot to a frontier vision model just to find click coordinates. That's a $0.01–0.05 multimodal call, 20–50× per run. A 2B local specialist costs $0/call, runs on a laptop, doesn't send your screenshots anywhere. The hybrid pattern: cheap fast local specialist for the parser-style task, frontier model only for reasoning.

Links

License: Apache 2.0.

Metadata

Release files for browserground 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for browserground 0.3.0
File Size Uploaded
browserground-0.3.0.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for browserground 0.3.0
File Interpreter ABI Platform
browserground-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.7 kB

Release files / browserground-0.3.0.tar.gz

Download URL browserground-0.3.0.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
6d7e00436584315a155959ce8f3cfd5f096f25d969c12996cc02fc67adf88815
BLAKE2b-256 checksum
How to use checksums
0ef326fdd339ab05758064073e3c1b7b6019ca383d272779ab345fce0e77e7a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / browserground-0.3.0-py3-none-any.whl

Download URL browserground-0.3.0-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4397a7f17800985e647e66a1ba61b921fa4bded100a9f16bb4922f49ac889397
BLAKE2b-256 checksum
How to use checksums
0151d4184c93f80622a91e658e4e36d54f47a1fbb533b7cdd4d86bffa3e86a29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page