URL → structured JSON

Web Scraping API for Structured Data

Pull the facts off any page — schema.org JSON-LD, OpenGraph, every table, every image and link — as one clean JSON payload. Renders JavaScript first, so it works on modern sites, not just static HTML.

GET /v1/extract?url=... loads the page in a real browser and reads back what it already knows about itself: product/article/recipe JSON-LD, OpenGraph and Twitter meta, every <table> as rows of cells, and every image and link, deduped and absolute. It's the "give me the fields, not the prose" counterpart to /v1/read.

Try it

request
curl "https://api.rasterly.dev/v1/extract?url=https://example.com/product/42" \
  -H "X-Api-Key: sk_live_..."
response — application/json
{
  "url": "https://example.com/product/42",
  "title": "Trail Runner 2.0",
  "description": "Lightweight trail running shoe.",
  "meta": { "canonical": "...", "lang": "en", "author": null },
  "og": { "title": "Trail Runner 2.0", "image": "..." },
  "jsonld": [ { "@type": "Product", "name": "Trail Runner 2.0", "offers": { ... } } ],
  "tables": [ [ ["Size","Stock"], ["US 9","12"] ] ],
  "images": [ { "src": "...", "alt": "Trail Runner 2.0, side view", "width": 1200 } ],
  "links": [ { "href": "...", "text": "Add to cart" } ]
}

What it's for

Why rasterly

Extraction is the same one-render engine as the screenshot and read endpoints — one browser process reused across requests, so a warm render is about a second of CPU. That's why it's priced from $0.90 per 1,000 calls with 100/mo free, rather than sold as a separate "scraping" product with its own markup.

FAQ

Does it handle JavaScript-rendered pages?
Yes — /v1/extract loads the page in a real headless browser and waits for network idle before reading the DOM, so client-rendered product pages, SPAs and infinite-scroll grids populate before extraction runs.
What structured data does it return?
Every schema.org JSON-LD block (products, articles, recipes, events), OpenGraph and Twitter meta tags, every HTML table as rows of cells, and every image and link on the page, all as one JSON payload.
Is this the same as a general-purpose scraping framework?
No — it's narrower on purpose. One HTTP call gets you one page's structured data; there's no proxy rotation, CAPTCHA-solving or scheduling built in. For that, pair it with your own orchestration or use /v1/crawl for multi-page jobs.
Does it respect robots.txt or rate limits?
rasterly doesn't currently parse robots.txt itself — you're responsible for scraping URLs you have the right to access. It does block SSRF targets (localhost, private ranges, cloud metadata) unconditionally.
Start free — 100 renders Try the live demo