structured-data-extractionlisted
Install: claude install-skill manypicom/web-data-skills
# Structured Data Extraction
A large share of the web already publishes the data you want in a typed, machine-readable format, put there deliberately so that machines can read it. Most scrapers ignore it and write CSS selectors against the rendered markup instead.
**Check the structured formats first, every time.** It's faster to write, far more stable, semantically labelled, and it usually gives you fields the visible page doesn't show.
## The formats, in order of usefulness
| Format | Where | What you get |
|---|---|---|
| **JSON-LD** | `<script type="application/ld+json">` | Typed entities. Often the complete record |
| **Hydration blob** | `__NEXT_DATA__`, `window.__NUXT__`, inline JSON | The page's own data model. Richest of all |
| **Microdata** | `itemscope` / `itemprop` attributes | Typed, inline, older but common |
| **RDFa** | `vocab` / `typeof` / `property` | Same idea, less common |
| **Open Graph / Twitter** | `<meta property="og:*">` | Title, description, image, type |
| **RSS / Atom** | `/feed`, `/rss.xml`, `<link rel="alternate">` | Clean list of items with dates |
| **Sitemaps** | `/sitemap.xml`, `robots.txt` | The site's own URL inventory |
| **JSON API** | Network requests behind the page | Paginated, typed, most stable of all |
JSON-LD is the highest-value routine check. Hydration blobs and the underlying API are higher value still when present, and both are covered in `javascript-rendered-scraping`.
## Finding what a page publishes
```bash
u="https