Skip to content

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), and custom
  • 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

ProviderSDK 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.txt and 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.