{"slug":"agentsvc-io-api-v1-proxy-page-extract-f0b79a","title":"Extract structured JSON from a web page or text with fields you define","host":"agentsvc.io","method":"POST","resource":"https://agentsvc.io/api/v1/proxy/page-extract","category":"code","description":"Extract structured JSON from a web page or text with fields you define: send url (or text) and fields like {\"price\": \"price in EUR as number\", \"in_stock\": {\"type\": \"boolean\"}}, get back exactly those fields, typed and validated against a JSON schema. Types: string, number, integer, boolean, string[]","price_listed":0.007,"price_asked":null,"state":"effects","state_label":"Not tested: has real-world effects","checks_7d":0,"answered_7d":0,"latency_ms_median":null,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:137","eip155:42161","eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"fields":{"city":"city of the registered office","company":"legal company name","register_number":"commercial register number","vat_id":"VAT ID"},"url":"https://www.zalando.de/zalando-impressum/"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"fields":{"description":"Field name -> description string, or {type, description}. Types: string, number, integer, boolean, string[], number[]","type":"object"},"instructions":{"description":"Optional extra rules, max 500 chars","type":"string"},"text":{"description":"Raw text instead of a URL, max 60,000 chars","type":"string"},"url":{"description":"Page to extract from (or send text)","type":"string"}},"required":["fields"]},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"data":{"properties":{"data":{"properties":{"city":{"type":"string"},"company":{"type":"string"},"register_number":{"type":"string"},"vat_id":{"type":"string"}},"type":"object"},"extracted_at":{"type":"string"},"fields_filled":{"type":"integer"},"fields_total":{"type":"integer"},"input_truncated":{"type":"boolean"},"model":{"type":"string"},"source":{"type":"string"},"title":{"type":"string"}},"required":["source","data"],"type":"object"},"success":{"type":"boolean"}},"required":["success","data"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[],"description_full":"Extract structured JSON from a web page or text with fields you define: send url (or text) and fields like {\"price\": \"price in EUR as number\", \"in_stock\": {\"type\": \"boolean\"}}, get back exactly those fields, typed and validated against a JSON schema. Types: string, number, integer, boolean, string[], number[]. Fields the content does not state come back as null instead of being guessed. Up to 25 fields; optional instructions for extra rules.","last_updated":"2026-10-10T10:01:20.332Z","schemes":["exact"]}