Screenshot
Render a public webpage as PNG, JPEG, or WebP with controls for the viewport, page readiness, and capture area.
The success response is image binary data, not JSON. Save the response body to a file, return it from your own service, or create a browser object URL for preview.
Use full_page to capture the whole document, or selector to capture one visible element. These options cannot be enabled together.
A successful screenshot costs 2 credits. Failed requests are not charged.
Use an SDK
The official SDKs return the image body as bytes and keep the response content type and request ID available as metadata.
import { writeFile } from 'node:fs/promises';
import { Search1API } from '@search1api/client';
const client = new Search1API();
const screenshot = await client.screenshot('https://example.com', {
format: 'png',
fullPage: true,
});
await writeFile('screenshot.png', screenshot.data);from pathlib import Path
from search1api import Search1API
client = Search1API()
screenshot = client.screenshot(
"https://example.com",
format="png",
full_page=True,
)
Path("screenshot.png").write_bytes(screenshot["data"])Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/problem+json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/screenshot" \ -H "Content-Type: application/json" \ -d '{ "url": "http://example.com" }'"string"{ "ok": false, "error": "string", "message": "string", "errors": [ { "field": "string", "message": "string", "code": "string" } ], "type": "http://example.com", "title": "string", "status": 0, "detail": "string"}{ "ok": false, "error": "string", "message": "string", "errors": [ { "field": "string", "message": "string", "code": "string" } ], "type": "http://example.com", "title": "string", "status": 0, "detail": "string"}{ "ok": false, "error": "string", "message": "string", "errors": [ { "field": "string", "message": "string", "code": "string" } ], "type": "http://example.com", "title": "string", "status": 0, "detail": "string"}{ "ok": false, "error": "string", "message": "string", "errors": [ { "field": "string", "message": "string", "code": "string" } ], "type": "http://example.com", "title": "string", "status": 0, "detail": "string"}{ "ok": false, "error": "string", "message": "string", "errors": [ { "field": "string", "message": "string", "code": "string" } ], "type": "http://example.com", "title": "string", "status": 0, "detail": "string"}{ "ok": false, "error": "string", "message": "string", "errors": [ { "field": "string", "message": "string", "code": "string" } ], "type": "http://example.com", "title": "string", "status": 0, "detail": "string"}{ "ok": false, "error": "string", "message": "string", "errors": [ { "field": "string", "message": "string", "code": "string" } ], "type": "http://example.com", "title": "string", "status": 0, "detail": "string"}{ "ok": false, "error": "string", "message": "string", "errors": [ { "field": "string", "message": "string", "code": "string" } ], "type": "http://example.com", "title": "string", "status": 0, "detail": "string"}{ "ok": false, "error": "string", "message": "string", "errors": [ { "field": "string", "message": "string", "code": "string" } ], "type": "http://example.com", "title": "string", "status": 0, "detail": "string"}