extract
Pull structured JSON data such as products, articles, and listings from a webpage with Zenrows, using auto, autoparse, or CSS selector modes.
Instructions
Extract structured data from a webpage via Zenrows.
Returns JSON fields (products, articles, listings) rather than a full page body. Modes:
auto (default): extract=auto, site-tailored Extract (currently free, billing may apply later). Works on any domain Zenrows has prepared, with any API key; falls back to autoparse when the domain isn't prepared yet (REQS007)
autoparse: general-purpose structured JSON on any domain
css: css_extractor with an explicit selector map
Requests use automatic mode (mode=auto) by default: Zenrows enables JS rendering and premium proxies only when the site needs them, and charges only for the configuration that succeeds. Pass just the URL. Set js_render or premium_proxy only to force a fixed configuration; that turns automatic mode off and bills every request at that configuration's cost.
Check "empty" in the result: true means no field came back with a value. "noDataExtracted": true means Extract processed the page and found nothing to extract (not charged); retrying the same request returns the same answer. Full-page markdown, HTML and screenshots come from scrape.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The webpage URL to extract from | |
| mode | No | Extraction mode: auto (extract=auto, default), autoparse, or css (requires css_extractor) | auto |
| wait | No | Milliseconds to wait after load. Requires js_render=true; without it, including in automatic mode, it may be ignored. | |
| wait_for | No | CSS selector to wait for before extracting. Requires js_render=true; without it, including in automatic mode, it may be ignored. | |
| js_render | No | Force JS rendering on every request. Overrides automatic mode (mode=auto), which already renders when needed. | |
| mode_auto | No | Automatic mode (mode=auto) is on by default; leave unset. False sends a plain request without it. | |
| css_extractor | No | Required when mode=css. JSON map of field→selector, e.g. '{"title":"h1","price":".price"}' | |
| premium_proxy | No | Force premium residential proxies on every request (10x cost). Overrides automatic mode (mode=auto), which already uses premium proxies when a page needs them. | |
| proxy_country | No | ISO 3166-1 alpha-2 country code. Works in automatic mode (mode=auto); with js_render or mode_auto=false it requires premium_proxy. | |
| fallback_autoparse | No | When mode=auto and the domain isn't prepared for Extract yet (REQS007, or the legacy AUTH010), retry once with autoparse (default true) |