Website Screenshots, PDF & HTML Capture
Pricing
from $14.00 / 1,000 captured pages
Website Screenshots, PDF & HTML Capture
Capture public website URLs as PNG, JPEG or PDF, with optional mobile images, rendered HTML and per-page metadata.
Website Screenshots, PDF & HTML Capture
Pricing
from $14.00 / 1,000 captured pages
Capture public website URLs as PNG, JPEG or PDF, with optional mobile images, rendered HTML and per-page metadata.
You can access the Website Screenshots, PDF & HTML Capture programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.1", "x-build-id": "9iWyYqW86DzPuX6IY" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/peerless_columbine~website-screenshot-html-capture/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-peerless_columbine-website-screenshot-html-capture", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/peerless_columbine~website-screenshot-html-capture/runs": { "post": { "operationId": "runs-sync-peerless_columbine-website-screenshot-html-capture", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/peerless_columbine~website-screenshot-html-capture/run-sync": { "post": { "operationId": "run-sync-peerless_columbine-website-screenshot-html-capture", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "required": [ "startUrls" ], "properties": { "startUrls": { "title": "URLs to capture", "minItems": 1, "maxItems": 1000000, "type": "array", "description": "Public HTTP(S) URL objects, each containing only url. This product uses one Apify homepage when omitted; supplied duplicate occurrences remain separate.", "items": { "type": "object", "properties": { "url": { "type": "string", "title": "URL", "description": "Public HTTP(S) page URL without credentials.", "minLength": 1, "maxLength": 8192 } }, "required": [ "url" ], "additionalProperties": false }, "default": [ { "url": "https://apify.com/" } ] }, "maxItems": { "title": "Maximum URL occurrences", "minimum": 1, "maximum": 1000000, "type": "integer", "description": "Maximum input occurrences to process, including duplicates; mobile is an additional variant of the same occurrence.", "default": 10 }, "viewport": { "title": "Desktop viewport", "required": [ "width", "height" ], "type": "object", "description": "Desktop CSS-pixel width and height. This product accepts 64–4096 per dimension; these are our implementation limits.", "properties": { "width": { "title": "Width", "type": "integer", "description": "CSS-pixel width.", "minimum": 64, "maximum": 4096 }, "height": { "title": "Height", "type": "integer", "description": "CSS-pixel height.", "minimum": 64, "maximum": 4096 } }, "default": { "width": 1920, "height": 1080 }, "additionalProperties": false }, "fullPage": { "title": "Full page", "type": "boolean", "description": "Capture scrollable page height within the documented finite rendering limits; limits reached remain partial.", "default": true }, "format": { "title": "Desktop output format", "enum": [ "png", "jpeg", "pdf" ], "type": "string", "description": "PNG, JPEG image, or PDF document. With PDF and mobile enabled, the additional mobile artifact is PNG; inspect its own format field.", "default": "png" }, "captureMobile": { "title": "Additional mobile capture", "type": "boolean", "description": "Also capture an iPhone-class viewport separately from desktop; inspect mobile artifact and partial diagnostics.", "default": false }, "captureHtml": { "title": "Rendered HTML snapshot", "type": "boolean", "description": "Save rendered DOM HTML alongside desktop capture, subject to the disclosed HTML byte limit.", "default": true }, "waitForSelector": { "title": "Wait for selector", "maxLength": 2048, "type": "string", "description": "Optional CSS selector before capture. Empty disables selector waiting. A timeout may leave a partial capture when visible content exists.", "default": "" }, "waitMs": { "title": "Additional wait", "minimum": 0, "maximum": 60000, "type": "integer", "description": "Additional wait in milliseconds after navigation/readiness handling.", "default": 2000 }, "navigationTimeoutSecs": { "title": "Navigation timeout", "minimum": 5, "maximum": 180, "type": "integer", "description": "Navigation timeout in seconds for each variant, not the entire run deadline.", "default": 45 } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 }, "PROXY_UNBLOCKER_UNITS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 }, "PROXY_UNBLOCKER_UNITS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Website Screenshots, PDF & HTML Capture from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: