DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
OnPage API Page Screenshot
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.
- 型: array object[]
- 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型: string
_language 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
- browser型: string
_preset 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型: integer
_screen _height 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型: number
_screen _scale _factor 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
- browser型: integer
_screen _width 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
- custom型: string
_user _agent 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)
- disable型: boolean
_cookie _popup 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
- full型: boolean
_page _screenshot 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
- ip型: string
_pool _for _scan 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
- switch型: boolean
_pool 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
- 型: object200
Successful response
- 型: numbercost
total tasks cost, USD
- 型: integerstatus
_code general status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions
- 型: stringstatus
_message general informational message you can find the full list of general informational messages here
- 型: array string[]tasks
array of tasks
- 型: integertasks
_count the number of tasks in the tasks array
- 型: integertasks
_error the number of tasks in the tasks array returned with an error
- 型: numbertasks
.cost cost of the task, USD
- 型: objecttasks
.data contains the same parameters that you specified in the POST request
- 型: stringtasks
.id task identifier unique task identifier in our system in the UUID format
- 型: array string[]tasks
.path URL path
- 型: array string[]tasks
.result array of results
- 型: integertasks
.result _count number of elements in the result array
- 型: stringtasks
.result .crawl _progress status of the crawling session possible values: in_progress, finished
- 型: stringtasks
.result .error _message error message if the url you indicated returns a 404 status code or is not a valid URL, you will obtain "error_message":"Screenshot is empty" if no error is encountered, the value will be null
- 型: array string[]tasks
.result .items items array
- 型: integertasks
.result .items _count number of items in the results array
- 型: stringtasks
.result .items .image screenshot of the requested page URL of the page screenshot on the DataForSEO storage
- 型: integertasks
.status _code status code of the task generated by DataForSEO; can be within the following range: 10000-60000 you can find the full list of the response codes here
- 型: stringtasks
.status _message informational message of the task you can find the full list of general informational messages here
- 型: stringtasks
.time execution time, seconds
- 型: stringtime
execution time, seconds
- 型: stringversion
the current version of the API
application/json - 400
Bad request
- 401
Unauthorized
- 402
The request cannot proceed because a billing requirement is not met.
- 403
The account is not permitted to perform this operation.
- 429
Rate limit exceeded
- 500
Internal server error
- 502
The service could not complete the request.
- 503
The API or billing service is temporarily unavailable.
- 504
The service timed out while processing the request.
- default
The operation failed. Keep the response request ID when contacting Felo support.
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/page_screenshot \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"url": "",
"accept_language": "",
"custom_user_agent": "",
"browser_preset": "",
"browser_screen_width": 1,
"browser_screen_height": 1,
"browser_screen_scale_factor": 1,
"full_page_screenshot": true,
"disable_cookie_popup": true,
"switch_pool": true,
"ip_pool_for_scan": ""
}
]'
{
"version": "string",
"status_code": 1,
"status_message": "string",
"time": "string",
"cost": 1,
"tasks_count": 1,
"tasks_error": 1,
"tasks": [
"string"
],
"tasks.id": "string",
"tasks.status_code": 1,
"tasks.status_message": "string",
"tasks.time": "string",
"tasks.cost": 1,
"tasks.result_count": 1,
"tasks.path": [
"string"
],
"tasks.data": {},
"tasks.result": [
"string"
],
"tasks.result.crawl_progress": "string",
"tasks.result.error_message": "string",
"tasks.result.items_count": 1,
"tasks.result.items": [
"string"
],
"tasks.result.items.image": "string"
}