Skip to main content
GET
/
web
/
screenshot
JavaScript
import ContextDev from 'context.dev';

const client = new ContextDev({
  apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
});

const response = await client.web.screenshot();

console.log(response.width);
{
  "status": "<string>",
  "domain": "<string>",
  "screenshot": "<string>",
  "screenshotType": "viewport",
  "width": 123,
  "height": 123,
  "code": 123
}

Documentation Index

Fetch the complete documentation index at: https://docs.context.dev/llms.txt

Use this file to discover all available pages before exploring further.

5 Credits

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

domain
string

Domain name to take screenshot of (e.g., 'example.com', 'google.com'). The domain will be automatically normalized and validated. You must provide either 'domain' or 'directUrl', but not both.

directUrl
string<uri>

A specific URL to screenshot directly, bypassing domain resolution (e.g., 'https://example.com/pricing'). When provided, the screenshot is taken of this exact URL. You must provide either 'domain' or 'directUrl', but not both.

fullScreenshot
enum<string>

Optional parameter to determine screenshot type. If 'true', takes a full page screenshot capturing all content. If 'false' or not provided, takes a viewport screenshot (standard browser view).

Available options:
true,
false
viewport
object

Optional browser viewport dimensions for the screenshot. Defaults to 1920x1080.

maxAgeMs
integer
default:86400000

Return a cached screenshot if a prior screenshot for the same parameters exists and is younger than this many milliseconds. Defaults to 1 day (86400000 ms) when omitted. Max is 30 days (2592000000 ms). Set to 0 to always capture fresh.

Required range: 0 <= x <= 2592000000
page
enum<string>

Optional parameter to specify which page type to screenshot. If provided, the system will scrape the domain's links and use heuristics to find the most appropriate URL for the specified page type (30 supported languages). If not provided, screenshots the main domain landing page. Only applicable when using 'domain', not 'directUrl'.

Available options:
login,
signup,
blog,
careers,
pricing,
terms,
privacy,
contact
waitForMs
integer
default:3000

Optional browser wait time in milliseconds after initial page load before taking the screenshot. Min: 0. Max: 30000 (30 seconds). Defaults to 3000 ms when omitted.

Required range: 0 <= x <= 30000
timeoutMS
integer

Optional timeout in milliseconds for the request. If the request takes longer than this value, it will be aborted with a 408 status code. Maximum allowed value is 300000ms (5 minutes).

Required range: 1000 <= x <= 300000

Response

Successful response

status
string

Status of the response, e.g., 'ok'

domain
string

The normalized domain that was processed

screenshot
string

Public URL of the uploaded screenshot image

screenshotType
enum<string>

Type of screenshot that was captured

Available options:
viewport,
fullPage
width
integer

Width in pixels of the returned screenshot image

height
integer

Height in pixels of the returned screenshot image

code
integer

HTTP status code