Back to Blog

research

Scrape Structured Data Without CSS Selectors or Model Calls

Extract repeating records from any web page as JSON using a local binary, no selectors, no API key, no model reading HTML.

OpenAgentSkillPublished:

Where this fits

A user asks your agent to pull all product listings from a competitor's site that has no API, or extract job postings from a board behind a login. You need structured JSON back, but writing CSS selectors is brittle and feeding raw HTML to the model burns tokens. The scrape-structured-data skill solves this by detecting the repeating record pattern on the page and returning it as JSON—directly, without manual selector work or a model call to read the markup.

Why agents benefit

  • Zero selector maintenance: The skill infers the repeating pattern (e.g., TR rows, div cards) automatically, so you don't write or update CSS selectors when the site layout changes.
  • No model token spent on HTML: Instead of dumping thousands of lines of HTML into the context, the agent gets clean JSON instantly, saving cost and latency.
  • Handles login and bot protection: Because it drives a real Chrome instance via chrome-agent, it can navigate authenticated sessions and bypass simple bot checks.
  • Runs locally, no API key: A single binary (chrome-agent) does the work—no external scraping service, no cloud dependency.
  • Direct JSON output: The result is structured and ready for your downstream logic—filtering, saving to a database, or summarizing.

Practical scenarios

Product grid extraction

A user wants to compare prices across an e-commerce category page. The agent runs chrome-agent goto and extract, gets a JSON array of product names, prices, and URLs, then sorts or filters them without ever seeing the raw HTML.

Job listings behind login

Your agent needs to collect new postings from a members-only job board. Since chrome-agent can reuse a logged-in session, it navigates to the listing page and extracts records even though the site requires authentication.

News feed aggregation

For a daily briefing, the agent scrapes headlines and links from multiple news sites. The pattern detection handles varied layouts (lists, grids, tables) and returns uniform JSON for each source.

Add it to your agent workflow

Install the skill with:

npx skills add sderosiaux/chrome-agent --skill scrape-structured-data

Then use it in your agent's tool calls:

chrome-agent goto https://news.ycombinator.com
chrome-agent --json extract --limit 50

The output is a JSON object with a count, the detected pattern, and an items array containing the extracted records.

Compare before adopting

Before committing, compare quality signals: the skill has ~80 stars on GitHub, but check the author's commit history and issue responses for maintenance freshness. Alternatives include traditional scraping with selectors (more control but brittle) or LLM-based extraction (more flexible but token-heavy). Also consider how this fits your agent's existing toolset—does the local binary integrate cleanly with your runtime and permissions?

Why it is worth tracking

This skill is a strong candidate for your agent's research toolkit because it fills a common gap: efficient, selector-free extraction from sites without APIs. The 80 stars and active versioning (0.14.0) signal community interest and ongoing improvements. Evaluate it when you need to reduce token costs or handle repetitive page structures without manual parsing. For more details and usage patterns, see the skill page.

Featured Skill

scrape-structured-data

Skill by sderosiaux