An AI Scraper That Lives in Your Browser — and Never Calls the Cloud at Run Time
Most "AI-powered" tools share an uncomfortable design: your data goes to their cloud, their model looks at it, and you pay per interaction forever. Scrapewright inverts that model in a way worth paying attention to: the AI only helps you build a scraper. Running it afterwards involves zero AI, zero tokens, and zero cloud.
What it is
Scrapewright is an open-source (GPLv3) platform with two parts:
- a Chrome extension that does the scraping — inside the Chrome you already use, with your existing logins and sessions;
- a small Node.js host service that exposes everything as a local HTTP API on your machine, installed as a proper OS background service (systemd on Linux, launchd on macOS, a scheduled task on Windows).
You describe a scraping task in natural language. The built-in wizard's AI opens the target page, analyzes its structure, writes the extraction script, test-runs it in front of you, and deploys it as a reusable HTTP endpoint. From that point on, calling the service is just:
curl -X POST http://localhost:8765/api/v1/services/my-service/execute \
-H "X-API-Key: dev-key" -H "Content-Type: application/json" \
-d '{"input": {"query": "hello"}}'
Why "local-first" matters here
Your data doesn't leave your machine at run time. After deployment, the service never calls the LLM again. The pages it visits, the data it extracts — all of it stays on your box. The LLM only ever saw page structure during the build phase, if you let it.
Bring your own model. The wizard works with OpenAI, Anthropic, Moonshot Kimi, GLM, or any OpenAI-compatible endpoint you point it at — including a local gateway. You choose the intelligence; you hold the key.
The economics are backwards (in a good way). Agent-style scrapers that have an LLM drive a browser on every page turn think tokens per page. Scrapewright thinks tokens per scraper. Build once for a few cents; run it a thousand times for free. For anything you scrape repeatedly, the cost curve crosses zero almost immediately.
No automation fingerprint. Because the extension runs in your genuine daily Chrome, requests look like... you. No headless-browser markers, no synthetic fingerprints to maintain. If you can see the page, the scraper can read it — including JavaScript-rendered content, nested iframes, hover popups, and lazy-loaded feeds.
The self-healing part is the sleeper feature
Every scraper eventually breaks — sites redesign. The usual outcome is an afternoon of re-debugging someone else's selector logic. Scrapewright's Auto-Fix takes the failure, a snapshot of the new DOM, and its own script, and asks the LLM to rewrite the broken part. Config time or run time, same mechanism: repair beats rewrite.
Worth knowing before you dive in
It's not magic for every job — the README is refreshingly honest about this. One browser means one execution lane: a single instance serializes jobs, and 10,000-URL firehoses are better served by server-side farms. Where it shines is the huge middle ground of scraping: logged-in dashboards, intranets, paid content, list-plus-detail-page drill-downs, and low-frequency high-value lookups — precisely the jobs cloud scrapers fumble because they can't be you.
Try it
Everything is on GitHub: github.com/singhand-labs/scrapewright
The 60-second quick start gets you from clone to first deployed service in one sitting, and the repo ships importable example services so you can see the shape of a finished scraper before building your own. If you've been waiting for AI tooling that treats your machine as the platform instead of a terminal — this one's worth a weekend.
Top comments (0)