Search1API
Basic

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"])
POST
/screenshot

Authorization

bearerAuth
AuthorizationBearer <token>

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"}