## TL;DR

ScrapingBee can return structured JSON directly via extract_rules - free, no extra credits - and most people still parse HTML by hand.

## Fix

1. ScrapingBee can return structured JSON directly via extract_rules - free, no extra credits - and most people still parse HTML by hand.
   Expected: you can confirm this matches your situation.

## When to use

- You are dealing with this situation.
- The symptom matches: ScrapingBee extract_rules returns structured JSON for free - stop parsing HTML by hand.

## When NOT to use

- Unrelated issues with a different cause.
- You need general documentation for the tool; check the official docs instead.

## Compatibility

Reported per the linked source.

## Variant phrasings

### ScrapingBee extract_rules returns structured JSON for free - stop parsing HTML by hand

## Why it happens

ScrapingBee docs (via de0ch/claude-env SKILL.md): extract_rules returns JSON instead of HTML at no extra cost - prefer it over parsing the HTML yourself. JSON params must be stringified in the query string. Shorthand form: {"title": "h1", "link": "a@href"}; full form uses selector, type (item or list), output (text, html, @attr, table_json, table_array, or nested rules), and clean. table_json turns a table into row objects keyed by headers - no BeautifulSoup needed. AI extraction (ai_query / ai_extract_rules) costs +5 credits for semantic or irregularly structured fields.

## Edge cases

- If your error message differs even slightly, this is probably a different issue; search the exact text.
- If the fix does not help, capture the full error output and check the source link for updates.