Scrapfly · Schema
Scrapfly Scrape Response
Schema for the response returned by the Scrapfly Scrape API
AIData ExtractionScreenshotsWeb ScrapingProxiesBrowser Automation
Properties
| Name | Type | Description |
|---|---|---|
| result | object | Scrape result data |
| context | object | Request context and billing metadata |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://api-evangelist.github.io/scrapfly/json-schema/scrapfly-scrape-response-schema.json",
"title": "Scrapfly Scrape Response",
"description": "Schema for the response returned by the Scrapfly Scrape API",
"type": "object",
"properties": {
"result": {
"type": "object",
"description": "Scrape result data",
"properties": {
"content": {
"type": "string",
"description": "Scraped page content in the requested format (HTML, markdown, text, or JSON)"
},
"content_type": {
"type": "string",
"description": "MIME type of the returned content",
"examples": ["text/html", "text/markdown", "application/json"]
},
"url": {
"type": "string",
"format": "uri",
"description": "Final URL after any redirects were followed"
},
"status_code": {
"type": "integer",
"description": "HTTP status code of the scraped page",
"minimum": 100,
"maximum": 599
},
"cookies": {
"type": "array",
"description": "Cookies set by the scraped page",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Cookie name"
},
"value": {
"type": "string",
"description": "Cookie value"
},
"domain": {
"type": "string",
"description": "Cookie domain"
},
"path": {
"type": "string",
"description": "Cookie path"
},
"secure": {
"type": "boolean",
"description": "Whether cookie requires HTTPS"
},
"http_only": {
"type": "boolean",
"description": "Whether cookie is HTTP-only"
}
}
}
},
"request_headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers sent with the scrape request"
},
"response_headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers received in the scrape response"
},
"screenshots": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Screenshot data keyed by selector name or 'main'"
},
"dns": {
"type": "object",
"description": "DNS information for the target domain",
"properties": {
"a_records": {
"type": "array",
"items": { "type": "string" }
},
"mx_records": {
"type": "array",
"items": { "type": "string" }
}
}
},
"ssl": {
"type": "object",
"description": "SSL/TLS certificate information",
"properties": {
"subject": { "type": "string" },
"issuer": { "type": "string" },
"valid_from": { "type": "string", "format": "date-time" },
"valid_to": { "type": "string", "format": "date-time" },
"protocol": { "type": "string" }
}
},
"extracted_data": {
"type": "object",
"description": "Structured data extracted via template or LLM prompt",
"additionalProperties": true
}
},
"required": ["content", "url", "status_code"]
},
"context": {
"type": "object",
"description": "Request context and billing metadata",
"properties": {
"api_cost": {
"type": "integer",
"description": "Number of credits consumed by this request"
},
"remaining_credits": {
"type": "integer",
"description": "Remaining API credits in the account"
},
"attempts": {
"type": "integer",
"description": "Number of retry attempts made",
"minimum": 1
},
"asp_enabled": {
"type": "boolean",
"description": "Whether Anti Scraping Protection was used"
},
"proxy_country": {
"type": "string",
"description": "Country of the proxy used for this request"
}
}
}
},
"required": ["result", "context"]
}