View raw JSON
{
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"url"
],
"~standard": {
"vendor": "zod",
"version": 1,
"jsonSchema": {}
},
"properties": {
"url": {
"type": "string",
"format": "uri",
"examples": [
"https://example.com/pricing"
],
"description": "The https URL to scrape."
},
"json": {
"type": "boolean",
"description": "Extract structured JSON from the page with an LLM — costs five times a plain scrape (see the price card's JSON tier)."
},
"proxy": {
"enum": [
"basic",
"enhanced",
"auto"
],
"type": "string",
"description": "'auto' (default) retries with enhanced anti-bot proxies when the plain fetch is blocked — no extra charge either way."
},
"maxAge": {
"type": "integer",
"maximum": 604800000,
"minimum": 0,
"description": "Cache-reuse window in ms — a fresh-enough cached copy returns much faster. 0 forces a live fetch."
},
"mobile": {
"type": "boolean"
},
"formats": {
"type": "array",
"items": {
"enum": [
"markdown",
"html",
"rawHtml",
"links",
"images",
"summary"
],
"type": "string"
},
"maxItems": 6,
"minItems": 1,
"description": "Output formats (default markdown). LLM extraction is the separate 'json' option."
},
"timeout": {
"type": "integer",
"maximum": 120000,
"minimum": 1000,
"description": "Per-page deadline in ms; time queued for a browser counts too."
},
"waitFor": {
"type": "integer",
"maximum": 30000,
"minimum": 0,
"description": "Extra ms to wait after load for JavaScript-heavy pages."
},
"blockAds": {
"type": "boolean"
},
"location": {
"type": "object",
"properties": {
"country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "ISO 3166-1 alpha-2 country code to emulate (e.g. 'US')."
},
"languages": {
"type": "array",
"items": {
"type": "string",
"maxLength": 10,
"minLength": 2
},
"maxItems": 5,
"description": "Preferred languages, best-effort (e.g. ['en'])."
}
},
"additionalProperties": false
},
"jsonPrompt": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "What to extract from the page (with json: true)."
},
"jsonSchema": {
"type": "object",
"description": "JSON Schema the extracted object must conform to (with json: true).",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"excludeTags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50
},
"includeTags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50
},
"onlyMainContent": {
"type": "boolean",
"description": "Strip headers, navs, and footers (default true)."
},
"removeBase64Images": {
"type": "boolean"
}
},
"description": "Scrape one URL into clean, LLM-ready content",
"additionalProperties": false
}
},
"additionalProperties": false
}