Scrapfly · JSON Structure
Scrapfly Scrape Request Structure
JSON structure documentation for Scrapfly scrape API request parameters
Type: object
Properties: 0
AIData ExtractionScreenshotsWeb ScrapingProxiesBrowser Automation
Scrapfly Scrape Request Structure is a JSON Structure definition published by Scrapfly.
Meta-schema:
JSON Structure
{
"title": "Scrapfly Scrape Request Structure",
"description": "JSON structure documentation for Scrapfly scrape API request parameters",
"type": "object",
"fields": [
{
"name": "key",
"type": "string",
"required": true,
"description": "API key from the Scrapfly dashboard"
},
{
"name": "url",
"type": "string",
"format": "uri",
"required": true,
"description": "Target URL to scrape (must be URL-encoded)"
},
{
"name": "render_js",
"type": "boolean",
"required": false,
"default": false,
"description": "Enable headless browser rendering for JavaScript-heavy pages"
},
{
"name": "asp",
"type": "boolean",
"required": false,
"default": false,
"description": "Enable Anti Scraping Protection bypass (increases credit cost)"
},
{
"name": "country",
"type": "string",
"required": false,
"description": "ISO 3166-1 alpha-2 country code for proxy location"
},
{
"name": "proxy_pool",
"type": "string",
"required": false,
"description": "Proxy network: public_datacenter_pool or residential_pool"
},
{
"name": "format",
"type": "string",
"required": false,
"default": "raw",
"description": "Response format: raw, clean_html, json, markdown, or text"
},
{
"name": "lang",
"type": "string",
"required": false,
"description": "Preferred language via Accept-Language header (e.g., en-US)"
},
{
"name": "headers",
"type": "object",
"required": false,
"description": "Custom HTTP headers as key-value pairs"
},
{
"name": "timeout",
"type": "integer",
"required": false,
"default": 150000,
"description": "Request timeout in milliseconds"
},
{
"name": "retry",
"type": "boolean",
"required": false,
"default": true,
"description": "Automatically retry failed requests"
},
{
"name": "rendering_wait",
"type": "integer",
"required": false,
"description": "Milliseconds to wait after page load before capturing (requires render_js)"
},
{
"name": "wait_for_selector",
"type": "string",
"required": false,
"description": "CSS/XPath selector to wait for before capturing content"
},
{
"name": "js",
"type": "string",
"required": false,
"description": "Base64-encoded custom JavaScript to execute on the page (max 16KB)"
},
{
"name": "screenshots",
"type": "string",
"required": false,
"description": "CSS selectors for element screenshots, or 'main' for viewport"
},
{
"name": "js_scenario",
"type": "string",
"required": false,
"description": "URL-encoded JSON scenario for page interactions (click, scroll, etc.)"
},
{
"name": "cache",
"type": "boolean",
"required": false,
"default": false,
"description": "Cache the scrape response to avoid redundant requests"
},
{
"name": "cache_ttl",
"type": "integer",
"required": false,
"description": "Cache time-to-live in seconds"
},
{
"name": "cache_clear",
"type": "boolean",
"required": false,
"description": "Force cache refresh for the URL"
},
{
"name": "session",
"type": "string",
"required": false,
"description": "Named session for cookie/fingerprint persistence across requests"
},
{
"name": "session_sticky_proxy",
"type": "boolean",
"required": false,
"description": "Reuse the same proxy IP within the session"
},
{
"name": "extraction_template",
"type": "string",
"required": false,
"description": "Predefined extraction template name for structured data"
},
{
"name": "extraction_prompt",
"type": "string",
"required": false,
"description": "Natural language LLM prompt for custom data extraction"
},
{
"name": "extraction_model",
"type": "string",
"required": false,
"description": "AI auto-extraction model for predefined content types"
},
{
"name": "debug",
"type": "boolean",
"required": false,
"description": "Store results and screenshots for debugging in the dashboard"
},
{
"name": "correlation_id",
"type": "string",
"required": false,
"description": "Group related scrape requests by a shared identifier"
},
{
"name": "tags",
"type": "array",
"items": { "type": "string" },
"required": false,
"description": "Tags for categorizing scrapes in the dashboard"
},
{
"name": "webhook_name",
"type": "string",
"required": false,
"description": "Webhook name for asynchronous response delivery"
},
{
"name": "cost_budget",
"type": "integer",
"required": false,
"description": "Maximum credits to spend on ASP retries"
}
]
}