lacspace-scraper

Scrape structured data from any website — CSS selectors or auto-detect.

terminal
npx lacspace-scraper https://example.com --auto -f json
What it does

Everything, in one command

lacspace-scraper ships its own zero-dependency HTML parser and CSS-selector engine, so a fast static engine handles most sites with no browser at all — and an optional real-browser mode renders JavaScript apps when you need it. Extract exactly the fields you want with a selector schema, turn repeating cards into one record each, or let the auto-detectors grab everything a page exposes. It now follows pagination automatically, opens each list item's detail page to merge extra fields, transforms values inline (numbers, dates, regex, absolute URLs…), dedupes and limits output, rotates proxies with per-host rate limits, and can screenshot or PDF a page in browser mode.

Features

What's inside

Selector schema

Map fields to CSS selectors (text, @attributes, inner HTML, or all matches as an array).

Repeating items

--item ".card" yields one record per element — product grids, list rows, search results.

Pagination

--paginate "a.next" follows the next-page link and accumulates every record, up to --max-pages.

Follow detail pages

--follow opens each result's link and merges fields scraped from the detail page into the record.

Field transforms

Clean inline with a pipe: --field "price=.price | number" — trim, date, regex, split, absolute URL and more.

Auto-detect

Metadata, headings, links, images, emails, phones, tables, JSON-LD, OpenGraph, feeds and readable text.

Static or browser

A fast zero-dependency engine by default; a real browser (--browser) with --scroll, --screenshot and --pdf.

Crawl & sitemap

BFS crawl with depth/page limits, or seed the whole run straight from a sitemap.xml.

Dedupe & limit

--unique <field>, --dedupe and --limit keep the output clean; --header/--cookie/--proxy/--rate control the session.

Any format

JSON, NDJSON, CSV or Excel, plus a feed command for RSS/Atom/JSON Feed.

How to use

Copy, paste, done

Real commands and snippets — from a one-liner to the typed library.

Paginate a product grid, clean prices
terminal
npx lacspace-scraper https://shop.site/page/1 \
  --item ".product" --field "name=h3" --field "price=.price | number" \
  --paginate "a.pagination-next" --max-pages 10 -f csv

Follows every next page; prices come out as real numbers.

List → open each → merge detail fields
terminal
npx lacspace-scraper https://jobs.site \
  --item ".job" --field "title=h2" --field "link=a@href" \
  --follow link --detail-field "salary=.salary" --unique link -f xlsx

Visits each job's page and merges its salary.

Scrape straight from a sitemap
terminal
npx lacspace-scraper --sitemap https://blog.site/sitemap.xml \
  --auto metadata --dedupe --limit 100 -f ndjson

Seeds the URL list from the sitemap.

Render, scroll & screenshot
terminal
npx lacspace-scraper https://app.site --browser \
  --scroll 8 --screenshot app.png --auto

Auto-scrolls a lazy page, then captures it.

Parse a feed
terminal
npx lacspace-scraper feed https://blog.site/feed.xml -f xlsx

RSS, Atom or JSON Feed → rows.

Good for

What people build with it

✓ Turn any website's listings into a spreadsheet

✓ Monitor prices, jobs, listings or catalog changes

✓ Build a dataset from a site's sitemap

✓ Extract metadata, tables or JSON-LD at scale

Start now

Run lacspace-scraper today

Free, open-source, no API keys. It's a CLI and a typed library.

terminal
npx lacspace-scraper https://example.com --auto -f json