{"slug":"vaaya-ai-api-run-crw-extract-c78449","title":"CRW — Structured extraction over up to 10 URLs using an LLM","host":"vaaya.ai","method":"POST","resource":"https://vaaya.ai/api/run/crw/extract","category":"code","description":"CRW — Structured extraction over up to 10 URLs using an LLM. Pass `urls` plus `prompt` (natural language) and/or `schema` (JSON schema); optional `basis: true` for per-field source evidence. Usually returns the extracted objects INLINE and already complete: `{ results: [{ url, status: completed, dat","price_listed":0.05,"price_asked":0.05,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":323,"reported_calls_30d":2,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"prompt":"Extract the page title and main heading","urls":["https://example.com"]},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"basis":{"type":"boolean"},"prompt":{"minLength":1,"type":"string"},"schema":{"additionalProperties":{},"type":"object"},"urls":{"items":{"format":"uri","type":"string"},"maxItems":10,"minItems":1,"type":"array"}},"required":["urls"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-28","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.05,"price_match":true,"latency_ms":323,"error":null}],"description_full":"CRW — Structured extraction over up to 10 URLs using an LLM. Pass `urls` plus `prompt` (natural language) and/or `schema` (JSON schema); optional `basis: true` for per-field source evidence. Usually returns the extracted objects INLINE and already complete: `{ results: [{ url, status: completed, data }] }` — read `data` directly, do not poll. The extracted object may be nested one level (`data.data`) on multi-URL calls; unwrap defensively. If a call instead returns `{ id, status: processing }`,…","last_updated":"2026-09-27T21:24:05.443Z","schemes":["exact"]}