# On-page screenshot

Using this endpoint, you can capture a full high-quality screenshot of any webpage. Needs id and url. Served by DataForSEO.

Using this endpoint, you can capture a full high-quality screenshot of any webpage. In this way, you can review the target page as the DataForSEO crawler and Googlebot see it.

- Tool ID: `dataforseo/on-page-page-screenshot`
- Name in the catalog: On Page Page Screenshot
- Provider: [DataForSEO](/providers/dataforseo.md)
- Capability: [Site audit (on-page)](/tools/seo/site-audit.md)
- Price: usage based, the maximum is shown before a run
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

Billed at the cost the provider reports for the call, never above $100. Your agent sees the maximum before running.


```json
{
  "model": "reported",
  "costPath": "cost",
  "maxUsdDefault": 0.0048,
  "maxUsdCap": 100,
  "requireCost": true
}
```

Pricing source: [https://docs.dataforseo.com/v3/appendix/user_data/](https://docs.dataforseo.com/v3/appendix/user_data/). Account tariff on_page/page_screenshot; bounds applied to inputs; actual cost from provider response..

Price verification date: 2026-10-10.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "page url required field absolute URL of the page to snap note: if the URL you indicate here returns a 404 status code or the indicated value is not a valid URL, you will obtain \"error_message\":\"Screenshot is empty\" in the response array",
      "maxLength": 2000,
      "minLength": 1
    },
    "accept_language": {
      "type": "string",
      "description": "language header for accessing the website optional field all locale formats are supported (xx, xx-XX, xxx-XX, etc.) note: if you do not specify this parameter, some websites may deny access; in this case, you will obtain \"error_message\":\"Sc",
      "maxLength": 2000,
      "minLength": 1
    },
    "browser_preset": {
      "type": "string",
      "description": "preset for browser screen parameters optional field if you use this field, you don't need to indicate browser_screen_width, browser_screen_height, browser_screen_scale_factorpossible values: desktop, mobile, tabletdesktop preset will apply ",
      "maxLength": 2000,
      "minLength": 1
    },
    "browser_screen_width": {
      "type": "integer",
      "description": "browser screen width optional field you can set a custom browser screen width to perform audit for a particular device; if you use this field, you don't need to indicate browser_preset as it will be ignored;minimum value, in pixels: 240 max"
    },
    "browser_screen_height": {
      "type": "integer",
      "description": "browser screen height optional field you can set a custom browser screen height to perform audit for a particular device; if you use this field, you don't need to indicate browser_preset as it will be ignored;minimum value, in pixels: 240 m"
    },
    "browser_screen_scale_factor": {
      "type": "number",
      "description": "browser screen scale factor optional field you can set a custom browser screen resolution ratio to perform audit for a particular device; if you use this field, you don't need to indicate browser_preset as it will be ignored;minimum value: ",
      "minimum": 0.5,
      "maximum": 3
    },
    "full_page_screenshot": {
      "type": "boolean",
      "description": "take a screenshot of the full page optional field set to false if you want to capture only the part of the page displayed before scrolling default value: true"
    },
    "disable_cookie_popup": {
      "type": "boolean",
      "description": "disable the cookie popup optional field set to true if you want to disable the popup requesting cookie consent from the user; default value: false"
    },
    "switch_pool": {
      "type": "boolean",
      "description": "switch proxy pool optional field if true, additional proxy pools will be used to obtain the requested data; the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional rate-limit and/or site_unreachable "
    },
    "ip_pool_for_scan": {
      "type": "string",
      "description": "proxy pool optional field you can choose a location of the proxy pool that will be used to obtain the requested data; the parameter can be used if page content is inaccessible in one of the locations, resulting in occasional site_unreachabl",
      "maxLength": 2000,
      "minLength": 1
    },
    "id": {
      "type": "string",
      "minLength": 8,
      "maxLength": 80,
      "pattern": "^[A-Za-z0-9-]+$"
    }
  },
  "required": [
    "id",
    "url"
  ],
  "additionalProperties": false
}
```

## Published example

No example input is published for this tool. Ask for the inputs required by its schema.

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://docs.dataforseo.com/v3/on_page/page_screenshot/)

[REST inspection](https://api.agentik.cc/v1/tools/dataforseo/on-page-page-screenshot) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/dataforseo/on-page-page-screenshot) · [Agent index](/llms.txt)
