{"openapi":"3.1.0","info":{"title":"SchemaFetch","version":"1.0.0","description":"Structured web extract for AI agents: fetch any public URL, return schema-constrained JSON for SaaS pricing, contacts, team, product, FAQ, or task-shaped fields. Confidence scores and source snippets. No API key — pay-per-call x402 USDC on Base ($0.02). Better than raw crawl markdown for agent tools. Free sample at /v1/sample. Custom schema route $0.04."},"servers":[{"url":"https://schemafetch.panmediatech.workers.dev"}],"paths":{"/health":{"get":{"summary":"Health check","responses":{"200":{"description":"ok"}}}},"/v1/sample":{"get":{"summary":"Free demo extract (no payment, fixed HTML)","parameters":[{"name":"preset","in":"query","schema":{"type":"string","enum":["saas_pricing","contact","team","product","faq"],"default":"contact"}}],"responses":{"200":{"description":"Extract result"}}}},"/v1/presets":{"get":{"summary":"List presets and their schemas","responses":{"200":{"description":"Preset catalog"}}}},"/x402/extract":{"post":{"summary":"Paid extract (x402 USDC on Base)","description":"Structured web extract for AI agents: fetch any public URL, return schema-constrained JSON for SaaS pricing, contacts, team, product, FAQ, or task-shaped fields. Confidence scores and source snippets. No API key — pay-per-call x402 USDC on Base ($0.02). Better than raw crawl markdown for agent tools.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public HTTPS page to extract (no login walls)"},"preset":{"type":"string","enum":["saas_pricing","contact","team","product","faq"],"description":"Named schema: saas_pricing | contact | team | product | faq"},"schema":{"type":"object","description":"Custom JSON Schema-like object with properties to fill from the page"}},"required":["url"]}}}},"responses":{"200":{"description":"Extract result"},"402":{"description":"Payment required"}}},"get":{"summary":"Paid extract via query params (Agentic.Market compatibility)","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"}},{"name":"preset","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Extract result"},"402":{"description":"Payment required"}}}}}}