Extract structured data from a web page
contrie_extractExtract structured data from one public web page. Describe the fields you want in natural language and/or pass a JSON Schema for the exact shape. Returns JSON plus metadata: qualityScore (0-100; structured acceptance also requires success and valid), grounding (value presence, not field attribution), high-level progress and credits charged. Also returns groundingFields, a per-field grounding verdict with page excerpts, so you can see which extracted values have matching source text; this does not establish factual truth or correct field association. metadata.binding, when present, lists the paths of fields whose value is on the page while the passages about that field state a different value. Requires authentication: sign in with your Contrie account (OAuth), or send an API key in the Authorization header. A small set of recorded sample requests works without either. An accepted answer costs 1, 3, 8 or 15 credits; a refused one costs 0. Each plan caps one request's credits, rendering included (Free 3, Builder 5, Pro 17); an answer above the cap is refused and costs 0. Not a crawler or a search engine: one page per call. Eligible JavaScript shells can use bounded browser rendering; successful rendered answers add 2 credits.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The public web page to extract from | |
| maxAge | No | Accept page bytes from your account fetched up to this many seconds ago; origin expiry may be shorter. Default 0 bypasses cache reads/writes. Query/fragment/user-info URLs and restricted origin responses are never cached. | |
| render | No | auto (default): render in a browser only if the page is a JavaScript shell; always: render first; never: plain fetch only. Only a successful rendered result adds 2 credits. | |
| schema | No | JSON Schema subset, max 10,000 serialized UTF-8 bytes: object/array/string/number/integer/boolean, properties, required, items, enum | |
| extract | No | What to extract, in natural language (e.g. "product name, price, and stock status") | |
| idempotencyKey | No | Stable request ID, 8–200 visible ASCII characters. Reuse the same ID and inputs to recover a completed response for 24 hours without another extraction or charge. Use a new ID for deliberately new work. Requires authentication. |