Skip to main content
POST
Reference example
Renders any url and returns a screenshot, with full_page_screenshot for the whole scroll height and browser_screen_width and browser_screen_height setting the viewport. Standalone - no crawl needed. Wrapped in DataForSEO’s envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. ⚠️ An image is a large tool result even before an agent can do anything with it; ask for a screenshot only when the visual is the point, and use post_dataforseo_on_page_content_parsing_live when the text is.

Example

First time? Point any MCP client at https://mcp.aisa.one/mcp — Claude Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client opens a browser, you click Allow once, and there is no key to paste. The commands per client, and what each call costs, are on aisa.one/mcp.
Set this endpoint up in your agent → Currently disabled.

Cost and request rules

Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.
  • Default request reference estimate (USD): 0.0051
  • Cost contract: response_usd
  • Published reference multiplier: 1.0
  • Settlement evidence source: response_body

Authorizations

Authorization
string
header
required

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

Body

application/json
url
string

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

accept_language
string | null

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":"Screenshot is empty" in the response array

custom_user_agent
string | null

custom user agent
optional field
custom user agent for crawling a website
example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
default value: Mozilla/5.0 (compatible; RSiteAuditor)

browser_preset
string | null

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_factor

possible values:
desktop, mobile, tablet

desktop preset will apply the following values:

browser_screen_width: 1920
browser_screen_height: 1080
browser_screen_scale_factor: 1

mobile preset will apply the following values:

browser_screen_width: 390
browser_screen_height: 844
browser_screen_scale_factor: 3

tablet preset will apply the following values:

browser_screen_width: 1024
browser_screen_height: 1366
browser_screen_scale_factor: 2

Note: in this endpoint, the enable_browser_rendering, enable_javascript, load_resources, and enable_xhr parameters are always enabled.

browser_screen_width
integer<int64> | null

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
maximum value, in pixels: 9999

browser_screen_height
integer | null

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
maximum value, in pixels: 9999

browser_screen_scale_factor
number | null

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: 0.5
maximum value: 3

full_page_screenshot
boolean | null

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 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
boolean | null

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 errors

ip_pool_for_scan
string | null

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_unreachable errors
possible values: us, de

Example:

Response

object | null

Successful operation

version
string | null

the current version of the API

status_code
integer | null

general status code you can find the full list of the response codes here

status_message
string | null

general informational message you can find the full list of general informational messages here

time
string | null

total execution time, seconds

cost
number<double> | null

total tasks cost, USD

tasks_count
integer<int64> | null

the number of tasks in the tasks array

tasks_error
integer<int64> | null

the number of tasks in the tasks array returned with an error

tasks
(object | null)[] | null

array of tasks