# raznem/parsera

Lightweight library for scraping web-sites with LLMs

Repository: https://github.com/raznem/parsera
Canonical: https://ross.abutalabs.com/products/parsera
Homepage: https://docs.parsera.org
Language: Python
License: GPL-2.0
License Family: copyleft
Topics: data-extraction, llm, scraping, python, opensource, webscraping, ai, ai-scraping, playwright
Last push: 2025-12-17T10:58:19+00:00

## Health v2 (maintenance only)
Score: 54/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 57, release rhythm 51, longevity 53
- inputs: {"age_days": 751, "days_push": 259, "days_rel": 329, "gap_med": 9, "n_releases_24m": 12}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1350, forks 78 (observed 2026-08-28T04:04:28.080318+00:00)

## What it is
Parsera is a lightweight Python library for scraping websites using LLMs, letting users define elements to extract with natural-language descriptions and get structured JSON results. It runs on Playwright for page fetching, supports custom LangChain models (including local Ollama/HuggingFace models), proxies, cookies, scrolling, custom Playwright scripts, and offers a CLI and Docker usage.

## Use cases
- extract structured data from web pages with an llm
- scrape tables from websites into
- scrape pages that require login or javascript rendering
- run llm-based scraping with a local ollama model
- extract fields from a webpage by describing them in plain english
- scrape infinite-scroll pages
- scrape websites through a proxy

## When to choose
- you want simple, schema-driven web extraction without writing CSS selectors
- target pages are dynamic or JavaScript-rendered and need a real browser
- you want to plug in any LangChain chat model, including local ones
- you need typed/structured output from unstructured pages

## When to avoid
- you need high-volume, low-cost scraping where deterministic selectors or BeautifulSoup suffice
- you cannot send page content to an LLM API due to privacy or cost constraints
- you need a fully managed scalable scraping service rather than a local library

## Facets
- artifact type: library
- maturity: active
- function: web-scraping, nlp, llm-inference, parser, data-science
- domain: crawlers, developer-tools
- platform: python, cli, cross-platform
- tags: llm-scraping, playwright, structured-extraction, browser-automation, data-extraction, natural-language-processing, automation, docker

## Member repositories
- raznem/parsera (main) score 54

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:28.080318+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:42:18.502291+00:00, confidence not recorded.
  - readme: https://github.com/raznem/parsera (fetched 2026-08-28T04:04:28.080318+00:00, sha 80c0b8f0bb36)
  - homepage: https://docs.parsera.org (fetched 2026-08-29T12:01:16.598452+00:00, sha fb504fcd3005)
  - site_page: https://docs.parsera.org/features/proxy (fetched 2026-08-29T12:01:16.612279+00:00, sha 34ba2c84bdc7)
  - site_page: https://docs.parsera.org/getting-started (fetched 2026-08-29T12:01:16.607318+00:00, sha f9633af6eeae)
  - site_page: https://docs.parsera.org/features/custom-models (fetched 2026-08-29T12:01:16.609028+00:00, sha ea6e9cbd9b9f)
  - site_page: https://docs.parsera.org/features/extractors (fetched 2026-08-29T12:01:16.610606+00:00, sha 4b109cbe83c0)
  - site_page: https://docs.parsera.org/features/custom-browser (fetched 2026-08-29T12:01:16.613836+00:00, sha 4ead80d40f95)
  - site_page: https://docs.parsera.org/features/custom-cookies (fetched 2026-08-29T12:01:16.615404+00:00, sha a32f7d28bfc6)
  - site_page: https://docs.parsera.org/features/custom-playwright (fetched 2026-08-29T12:01:16.616903+00:00, sha 7b8ef7d56aa9)
  - site_page: https://docs.parsera.org/features/scrolling (fetched 2026-08-29T12:01:16.618474+00:00, sha bf17621de6cd)
- Data as of 2026-08-30T08:39:29.467469+00:00.
