# DataForSEO Website Screenshot API

> Capture a full-page or viewport screenshot of any URL in desktop, mobile or tablet view. Options for custom screen size, language, user agent and dismissing cookie pop-ups.

Source: https://www.sandbase.ai/apis/dataforseo/v3/on_page/page_screenshot
API reference: https://www.sandbase.ai/apis/dataforseo/v3/on_page/page_screenshot/docs

## Facts

- Provider: DataForSEO
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/dataforseo/v3/on_page/page_screenshot`
- Price: $0.004 per call
- Free allowance: 100 calls per organization per UTC day, shared across eligible APIs
- Capabilities: onpage, screenshot, rendering
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/dataforseo/v3/on_page/page_screenshot` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `url` | string | yes |  |
| `switch_pool` | boolean | no |  |
| `browser_preset` | string | no |  |
| `accept_language` | string | no |  |
| `ip_pool_for_scan` | string | no |  |
| `custom_user_agent` | string | no |  |
| `browser_screen_width` | integer | no |  |
| `disable_cookie_popup` | boolean | no |  |
| `full_page_screenshot` | boolean | no |  |
| `browser_screen_height` | integer | no |  |
| `browser_screen_scale_factor` | number | no |  |

## FAQ

### How do I use the DataForSEO Website Screenshot API?

Send a POST request to https://api.sandbase.ai/v1/api/dataforseo/v3/on_page/page_screenshot with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

### How much does the DataForSEO Website Screenshot API cost?

$0.004 per call. Every organization gets 100 free calls per UTC day, shared across eligible SandBase APIs including this one; after that each call is billed at this price from your SandBase balance. There is no subscription.

### What parameters does the DataForSEO Website Screenshot API accept?

Required: url (string). Optional: switch_pool (boolean), browser_preset (string), accept_language (string), ip_pool_for_scan (string), custom_user_agent (string) and browser_screen_width (integer) and 4 more. The Parameters table and the Playground on this page list every field.

### What does the DataForSEO Website Screenshot API return?

A JSON response returned in the same HTTP request (synchronous). The README on this page includes a sample response.

### Do I need a DataForSEO developer account or API key?

No. DataForSEO Website Screenshot runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for DataForSEO API access separately.

## README

### Website Screenshot API

Pass a URL and get back a hosted screenshot image of the rendered page. Choose a device preset or exact screen size, and capture the full page or only the visible viewport.

#### Use cases

- Generate thumbnails and previews of web pages.
- Visually monitor competitor landing pages or SERP features.
- Archive how a page looked at a point in time.

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/api/dataforseo/v3/on_page/page_screenshot" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://dataforseo.com/apis"}'
```

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `url` | string | Yes | page url required field absolute URL of the page to capture a screenshot of example: https://dataforseo.com/apis |
| `switch_pool` | boolean | No | switch proxy pool optional field if true, additional proxy pools will be used to obtain the requested data |
| `browser_preset` | string | No | preset for browser screen parameters optional field possible values: desktop, mobile, tablet desktop: 1920x1080, scale … |
| `accept_language` | string | No | language header for accessing the website optional field all locale formats are supported (xx, xx-XX, xxx-XX, etc.) Not… |
| `ip_pool_for_scan` | string | No | proxy pool location optional field possible values: us, de |
| `custom_user_agent` | string | No | custom user agent optional field custom user agent for crawling a website default value: Mozilla/5.0 (compatible; RSite… |
| `browser_screen_width` | integer | No | browser screen width in pixels optional field minimum value: 240 maximum value: 9999 if set, browser_preset is ignored |
| `disable_cookie_popup` | boolean | No | disable the cookie popup optional field set to true to dismiss cookie consent dialogs default value: false |
| `full_page_screenshot` | boolean | No | take a screenshot of the full page optional field set to false to capture only the visible viewport default value: true |
| `browser_screen_height` | integer | No | browser screen height in pixels optional field minimum value: 240 maximum value: 9999 if set, browser_preset is ignored |
| `browser_screen_scale_factor` | number | No | browser screen scale factor optional field minimum value: 0.5 maximum value: 3 if set, browser_preset is ignored |

#### Example response

Real response for the request above, trimmed to the main fields. User names and long IDs are masked.

```json
{
  "status_code": 20000,
  "tasks": [
    {
      "status_message": "Ok.",
      "data": {
        "api": "on_page",
        "function": "page_screenshot",
        "url": "https://dataforseo.com/apis"
      },
      "result": [
        {
          "crawl_progress": "finished",
          "items_count": 1,
          "items": [
            {
              "image": "https://api.dataforseo.com/cdn/screenshot/10060902-2190-0444-0000-91f534c360ca"
            }
          ]
        }
      ]
    }
  ]
}
```

#### Notes

- `browser_preset`: `desktop` (1920×1080), `mobile` (390×844) or `tablet`.
- Set `disable_cookie_popup` to `true` to hide consent banners.

#### Pricing

Flat price per call. Failed calls are not charged.

#### Related APIs

- [DataForSEO Google Ads Keyword Search Volume](/model/dataforseo/v3/keywords_data/google_ads/search_volume/live): Get Google Ads search volume, CPC, competition and 12-month trend for up to 1,000 keywords per request, by location and language.
- [DataForSEO Google Trends](/model/dataforseo/v3/keywords_data/google_trends/explore/live): Get Google Trends interest over time for up to 5 keywords by location, language and time range, with weekly values on a 0–100 scale.
- [DataForSEO Google SERP (Advanced)](/model/dataforseo/v3/serp/google/organic/live/advanced): Get live Google organic search results for any keyword, location and language, including AI Overviews, featured snippets, People Also Ask and other SERP featur…
