Appearance
LLM Scraper
Category: Classic browser automation / structured data extraction
Free / Paid: Free and open source (MIT license)
Official repo: github.com/mishushakov/llm-scraper
NPM: npmjs.com/package/llm-scraper
What it is
LLM Scraper is a TypeScript library that uses a real Playwright browser to load any webpage, then passes the page content to an LLM to extract structured data defined by a Zod schema. It bridges Playwright page objects directly to the Vercel AI SDK, so the LLM does the schema extraction instead of hand-written selectors.
Key capabilities:
- Six content formats fed to the LLM:
html,raw_html,markdown,text(via Readability.js),image(screenshot for multimodal models), andcustom - Streaming output via
scraper.stream() - Works with any Vercel AI SDK-compatible provider: OpenAI, Anthropic, Google Gemini, Groq, Ollama, and more
- Zod schema drives the output shape; the LLM fills it from the page content
Supported LLM providers
| Provider | SDK package |
|---|---|
| OpenAI (GPT-4o, etc.) | @ai-sdk/openai |
| Anthropic (Claude) | @ai-sdk/anthropic |
| Google Gemini | @ai-sdk/google |
| Groq (Llama) | @ai-sdk/openai (custom baseURL) |
| Ollama (local) | ollama-ai-provider-v2 |
Safety and ToS notes
LLM Scraper launches a real Playwright Chromium browser. All standard web scraping considerations apply:
- Respect
robots.txtand site terms of service before scraping at scale. - LLM API calls cost money; each
scraper.run()call sends page content to the chosen provider. - Running against sites that block bots may require additional stealth setup (not built in).
- No built-in proxy or CAPTCHA handling; pair with Steel, Browserbase, or Hyperbrowser for anti-bot resilience.
No starter template
The project ships usage examples in the /examples folder of the repo. There is no separate downloadable boilerplate package.