---
title: "Capture a website screenshot"
method: POST
path: "/api/data/{project_id}/screenshot"
tags: ["Data"]
---

# Capture a website screenshot

`POST /api/data/{project_id}/screenshot`

## Request

- Base URL: `https://core.blink.new`
- URL: `https://core.blink.new/api/data/{project_id}/screenshot`
- Auth: HTTP bearer

Capture a screenshot of a URL using a headless browser. The page is fully rendered before capture. Returns a public WebP image URL. Defaults to 1400×1050 px viewport. Set `fullPage: true` to capture the full page length.

**📦 Output**
Returns a public URL to the captured screenshot image stored in cloud storage.

## Path parameters

- `project_id` string, required

## Request body

- ScreenshotRequest
  - `url` string, uri, required: URL of the website to screenshot
  - `fullPage` boolean: Whether to capture the full page or just the viewport
  - `width` integer: Viewport width in pixels
  - `height` integer: Viewport height in pixels

## Response `200`

Screenshot captured successfully

- ScreenshotResponse
  - `url` string, uri: URL of the generated screenshot image

## Other responses

- `400`: Validation error
- `401`: Authentication required or invalid API key
- `405`: Method not allowed — only POST is supported
- `500`: Internal server error

---

[API](https://skmtc.dev/blink/apis/blink-apis.md) - [All operations](https://skmtc.dev/blink/apis/blink-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/blink/apis/blink-apis/revisions/4c59c706078e?raw)
