{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "DataForSEO On Page API Schemas", "definitions": { "OnPagePagesByResourceResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPagePagesByResourceTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPagePagesByResourceTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPagePagesByResourceResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPagePagesByResourceResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "total_items_count": { "type": "integer", "description": "total number of relevant items in the database", "format": "int64", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageHtmlResourceItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "CrawlStatusInfo": { "type": "object", "properties": { "max_crawl_pages": { "type": "integer", "description": "maximum number of pages to crawl\n indicates the max_crawl_pages limit you specified when setting a task", "format": "int64", "nullable": true }, "pages_in_queue": { "type": "integer", "description": "number of pages that are currently in the crawling queue", "format": "int64", "nullable": true }, "pages_crawled": { "type": "integer", "description": "number of crawled pages", "format": "int64", "nullable": true } } }, "OnPageHtmlResourceItem": { "type": "object", "allOf": [ { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/BaseOnPageResourceItem" } ], "nullable": true }, { "type": "object", "properties": { "meta": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/PageMetaInfo" } ], "properties": { "social_media_tags": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "nullable": true }, "broken_html": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageResourceIssueInfo" } ], "description": "resource errors and warnings", "nullable": true } }, "description": "page properties\nthe value depends on the resource_type", "nullable": true }, "page_timing": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/PageTiming" } ], "description": "object of page load metrics", "nullable": true }, "onpage_score": { "type": "number", "description": "shows how page is optimized on a 100-point scale\nthis field shows how page is optimized considering critical on-page issues and warnings detected;\n100 is the highest possible score that means the page does not have any critical on-page issues and important warnings;\nlearn more about how the metric is calculated in this help center article", "nullable": true }, "total_dom_size": { "type": "integer", "description": "total DOM size of a page", "format": "int64", "nullable": true }, "custom_js_response": { "type": "object", "description": "the result of executing a specified JS script\nnote that you should specify a custom_js field when setting a task to receive this data and the field type and its value will totally depend on the script you specified;\nyou can also filter the results by this value specifying filters in the following way:\n[\"custom_js_response.url\", \"like\", \"pixel\"]", "nullable": true }, "custom_js_client_exception": { "type": "string", "description": "error when executing a custom js\nif the error occurred when executing the script you specified in the custom_js field, the error message would be displayed here", "nullable": true }, "broken_resources": { "type": "boolean", "description": "indicates whether a page contains broken resources", "nullable": true }, "broken_links": { "type": "boolean", "description": "indicates whether a page contains broken links", "nullable": true }, "duplicate_title": { "type": "boolean", "description": "indicates whether a page has duplicate title tags", "nullable": true }, "duplicate_description": { "type": "boolean", "description": "indicates whether a page has a duplicate description", "nullable": true }, "duplicate_content": { "type": "boolean", "description": "indicates whether a page has duplicate content", "nullable": true }, "click_depth": { "type": "integer", "description": "number of clicks it takes to get to the page\nindicates the number of clicks from the homepage needed before landing at the target page", "nullable": true }, "is_resource": { "type": "boolean", "description": "indicates whether a page is a single resource", "nullable": true }, "url_length": { "type": "integer", "description": "page URL length in characters", "nullable": true }, "relative_url_length": { "type": "integer", "description": "relative URL length in characters", "nullable": true } } } ] }, "BaseOnPageResourceItem": { "type": "object", "properties": { "resource_type": { "type": "string", "description": "type of the returned resource = \u2018html\u2019", "nullable": true }, "status_code": { "type": "integer", "description": "status code of the page", "nullable": true }, "location": { "type": "string", "description": "location header\nindicates the URL to redirect a page to", "nullable": true }, "url": { "type": "string", "description": "page URL", "nullable": true }, "resource_errors": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageResourceIssueInfo" } ], "description": "resource errors and warnings", "nullable": true }, "size": { "type": "integer", "description": "resource size\nindicates the size of a given page measured in bytes", "nullable": true }, "encoded_size": { "type": "integer", "description": "page size after encoding\nindicates the size of the encoded page measured in bytes", "nullable": true }, "total_transfer_size": { "type": "integer", "description": "compressed page size\nindicates the compressed size of a given page", "format": "int64", "nullable": true }, "fetch_time": { "type": "string", "description": "date and time when a resource was fetched\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2019-11-15 12:57:46 +00:00", "nullable": true }, "cache_control": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CacheControl" } ], "description": "instructions for caching", "nullable": true }, "checks": { "type": "object", "additionalProperties": { "type": "boolean", "nullable": true }, "description": "website checks\non-page check-ups related to the page", "nullable": true }, "content_encoding": { "type": "string", "description": "type of encoding", "nullable": true }, "media_type": { "type": "string", "description": "types of media used to display a page", "nullable": true }, "server": { "type": "string", "description": "server version", "nullable": true }, "last_modified": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/LastModified" } ], "description": "contains data on changes related to the resource\nif there is no data, the value will be null", "nullable": true } }, "additionalProperties": false, "discriminator": { "propertyName": "resource_type", "mapping": { "html": "#/components/schemas/OnPageHtmlResourceItem", "broken": "#/components/schemas/OnPageBrokenResourceItem", "redirect": "#/components/schemas/OnPageRedirectResourceItem", "script": "#/components/schemas/OnPageScriptResourceItem", "image": "#/components/schemas/OnPageImageResourceItem", "stylesheet": "#/components/schemas/OnPageStylesheetResourceItem" } } }, "CacheControl": { "type": "object", "properties": { "cachable": { "type": "boolean", "description": "indicates whether the page is cacheable", "nullable": true }, "ttl": { "type": "integer", "description": "time to live\nthe amount of time the browser caches a resource", "nullable": true } } }, "LastModified": { "type": "object", "properties": { "header": { "type": "string", "description": "date and time when the header was last modified\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2019-11-15 12:57:46 +00:00\nif there is no data, the value will be null", "nullable": true }, "sitemap": { "type": "string", "description": "date and time when the sitemap was last modified\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2019-11-15 12:57:46 +00:00\nif there is no data, the value will be null", "nullable": true }, "meta_tag": { "type": "string", "description": "date and time when the meta tag was last modified\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2019-11-15 12:57:46 +00:00\nif there is no data, the value will be null", "nullable": true } } }, "OnPageResourceIssueInfo": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageResourceIssueItemInfo" } ], "nullable": true }, "description": "resource errors", "nullable": true }, "warnings": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageResourceIssueItemInfo" } ], "nullable": true }, "description": "resource warnings", "nullable": true } }, "description": "resource errors and warnings" }, "OnPageResourceIssueItemInfo": { "type": "object", "properties": { "line": { "type": "integer", "description": "line where the error was found", "nullable": true }, "column": { "type": "integer", "description": "column where the error was found", "nullable": true }, "message": { "type": "string", "description": "text message of the error\nthe full list of possible HTML errors can be found here", "nullable": true }, "status_code": { "type": "integer", "description": "status code of the error\npossible values:\n0 \u2014 Unidentified Error;\n501 \u2014 Html Parse Error;\n1501 \u2014 JS Parse Error;\n2501 \u2014 CSS Parse Error;\n3501 \u2014 Image Parse Error;\n3502 \u2014 Image Scale Is Zero;\n3503 \u2014 Image Size Is Zero;\n3504 \u2014 Image Format Invalid", "nullable": true } } }, "PageTiming": { "type": "object", "properties": { "time_to_interactive": { "type": "integer", "description": "Time To Interactive (TTI) metric\nthe time it takes until the user can interact with a page (in milliseconds)", "nullable": true }, "dom_complete": { "type": "integer", "description": "time to load resources\nthe time it takes until the page and all of its subresources are downloaded (in milliseconds)", "nullable": true }, "largest_contentful_paint": { "type": "number", "description": "Core Web Vitals metric measuring how fast the largest above-the-fold content element is displayed\nThe amount of time (in milliseconds) to render the largest content element visible in the viewport, from when the user requests the URL. Learn more.", "nullable": true }, "first_input_delay": { "type": "number", "description": "Core Web Vitals metric indicating the responsiveness of a page\nThe time (in milliseconds) from when a user first interacts with your page to the time when the browser responds to that interaction. Learn more.", "nullable": true }, "connection_time": { "type": "integer", "description": "time to connect to a server\nthe time it takes until the connection with a server is established (in milliseconds)", "nullable": true }, "time_to_secure_connection": { "type": "integer", "description": "time to establish a secure connection\nthe time it takes until the secure connection with a server is established (in milliseconds)", "nullable": true }, "request_sent_time": { "type": "integer", "description": "time to send a request to a server\nthe time it takes until the request to a server is sent (in milliseconds)", "nullable": true }, "waiting_time": { "type": "integer", "description": "time to first byte (TTFB) in milliseconds", "nullable": true }, "download_time": { "type": "integer", "description": "time it takes for a browser to receive a response (in milliseconds)", "nullable": true }, "duration_time": { "type": "integer", "description": "total time it takes until a browser receives a complete response from a server (in milliseconds)", "nullable": true }, "fetch_start": { "type": "integer", "description": "time to start downloading the HTML resource\nthe amount of time the browser needs to start downloading a page", "nullable": true }, "fetch_end": { "type": "integer", "description": "time to complete downloading the HTML resource\nthe amount of time the browser needs to complete downloading a page", "nullable": true } } }, "PageMetaInfo": { "type": "object", "properties": { "title": { "type": "string", "description": "page title", "nullable": true }, "charset": { "type": "integer", "description": "code page\nexample: 65001", "nullable": true }, "follow": { "type": "boolean", "description": "indicates whether a page\u2019s \u2018meta robots\u2019 allows crawlers to follow the links on the page\nif false, the page\u2019s \u2018meta robots\u2019 tag contains \u201cnofollow\u201d parameter instructing crawlers not to follow the links on the page", "nullable": true }, "generator": { "type": "string", "description": "meta tag generator", "nullable": true }, "htags": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" }, "nullable": true }, "description": "HTML header tags", "nullable": true }, "description": { "type": "string", "description": "content of the meta description tag", "nullable": true }, "favicon": { "type": "string", "description": "favicon of the page", "nullable": true }, "meta_keywords": { "type": "string", "description": "content of the keywords meta tag", "nullable": true }, "canonical": { "type": "string", "description": "canonical page", "nullable": true }, "internal_links_count": { "type": "integer", "description": "number of internal links on the page", "format": "int64", "nullable": true }, "external_links_count": { "type": "integer", "description": "number of external links on the page", "format": "int64", "nullable": true }, "inbound_links_count": { "type": "integer", "description": "number of internal links pointing at the page", "format": "int64", "nullable": true }, "images_count": { "type": "integer", "description": "number of images on the page", "format": "int64", "nullable": true }, "images_size": { "type": "integer", "description": "total size of images on the page measured in bytes", "nullable": true }, "scripts_count": { "type": "integer", "description": "number of scripts on the page", "format": "int64", "nullable": true }, "scripts_size": { "type": "integer", "description": "total size of scripts on the page measured in bytes", "nullable": true }, "stylesheets_count": { "type": "integer", "description": "number of stylesheets on the page", "format": "int64", "nullable": true }, "stylesheets_size": { "type": "integer", "description": "total size of stylesheets on the page measured in bytes", "nullable": true }, "title_length": { "type": "integer", "description": "length of the title tag in characters", "nullable": true }, "description_length": { "type": "integer", "description": "length of the description tag in characters", "nullable": true }, "render_blocking_scripts_count": { "type": "integer", "description": "number of scripts on the page that block page rendering", "format": "int64", "nullable": true }, "render_blocking_stylesheets_count": { "type": "integer", "description": "number of CSS styles on the page that block page rendering", "format": "int64", "nullable": true }, "cumulative_layout_shift": { "type": "number", "description": "Core Web Vitals metric measuring the layout stability of the page\nmeasures the sum total of all individual layout shift scores for every unexpected layout shift that occurs during the entire lifespan of the page. Learn more.", "nullable": true }, "meta_title": { "type": "string", "description": "meta title of the page\nmeta tag in the head section of an HTML document that defines the title of a page", "nullable": true }, "content": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/HtmlContentInfo" } ], "description": "overall information about content of the page", "nullable": true }, "deprecated_tags": { "type": "array", "items": { "type": "string", "nullable": true }, "description": "deprecated tags on the page", "nullable": true }, "duplicate_meta_tags": { "type": "array", "items": { "type": "string", "nullable": true }, "description": "duplicate meta tags on the page", "nullable": true }, "spell": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/HunspellInfo" } ], "description": "spellcheck\nhunspell spellcheck errors", "nullable": true }, "social_media_tags": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "description": "object of social media tags found on the page\ncontains social media tags and their content\nsupported tags include but are not limited to Open Graph and Twitter card", "nullable": true }, "broken_html": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageResourceIssueInfo" } ], "description": "resource errors and warnings", "nullable": true } } }, "HtmlContentInfo": { "type": "object", "properties": { "plain_text_size": { "type": "integer", "description": "total size of the text on the page measured in bytes", "nullable": true }, "plain_text_rate": { "type": "number", "description": "plaintext rate value\nplain_text_size to size ratio", "format": "double", "nullable": true }, "plain_text_word_count": { "type": "integer", "description": "number of words on the page", "nullable": true }, "automated_readability_index": { "type": "number", "description": "Automated Readability Index", "nullable": true }, "coleman_liau_readability_index": { "type": "number", "description": "Coleman\u2013Liau Index", "nullable": true }, "dale_chall_readability_index": { "type": "number", "description": "Dale\u2013Chall Readability Index", "nullable": true }, "flesch_kincaid_readability_index": { "type": "number", "description": "Flesch\u2013Kincaid Readability Index", "nullable": true }, "smog_readability_index": { "type": "number", "description": "SMOG Readability Index", "nullable": true }, "description_to_content_consistency": { "type": "number", "description": "consistency of the meta description tag with the page content\nmeasured from 0 to 1", "nullable": true }, "title_to_content_consistency": { "type": "number", "description": "consistency of the meta title tag with the page content\nmeasured from 0 to 1", "nullable": true }, "meta_keywords_to_content_consistency": { "type": "number", "description": "consistency of meta keywordstag with the page content\nmeasured from 0 to 1", "nullable": true } } }, "HunspellInfo": { "type": "object", "properties": { "hunspell_language_code": { "type": "string", "description": "spellcheck language code", "nullable": true }, "misspelled": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/HunspellMisspelledInfo" } ], "nullable": true }, "description": "array of misspelled words", "nullable": true } } }, "HunspellMisspelledInfo": { "type": "object", "properties": { "word": { "type": "string", "description": "misspelled word", "nullable": true } } }, "BaseResponseTaskInfo": { "properties": { "id": { "type": "string", "description": "task identifier\nunique task identifier in our system in the UUID format", "nullable": true }, "status_code": { "type": "integer", "description": "status code of the task\ngenerated by DataForSEO, can be within the following range: 10000-60000\nyou can find the full list of the response codes here", "nullable": true }, "status_message": { "type": "string", "description": "informational message of the task\nyou can find the full list of general informational messages here", "nullable": true }, "time": { "type": "string", "description": "execution time, seconds", "nullable": true }, "cost": { "type": "number", "description": "total tasks cost, USD", "format": "double", "nullable": true }, "result_count": { "type": "integer", "description": "number of elements in the result array", "format": "int64", "nullable": true }, "path": { "type": "array", "items": { "type": "string", "nullable": true }, "description": "URL path", "nullable": true }, "data": { "type": "object", "additionalProperties": { "type": "object", "nullable": true }, "description": "contains the same parameters that you specified in the POST request", "nullable": true } } }, "BaseResponseInfo": { "properties": { "version": { "type": "string", "description": "the current version of the API", "nullable": true }, "status_code": { "type": "integer", "description": "general status code\nyou can find the full list of the response codes here", "nullable": true }, "status_message": { "type": "string", "description": "general informational message\nyou can find the full list of general informational messages here", "nullable": true }, "time": { "type": "string", "description": "total execution time, seconds", "nullable": true }, "cost": { "type": "number", "description": "total tasks cost, USD", "format": "double", "nullable": true }, "tasks_count": { "type": "integer", "description": "the number of tasks in the tasks array", "format": "int64", "nullable": true }, "tasks_error": { "type": "integer", "description": "the number of tasks in the tasks array returned with an error", "format": "int64", "nullable": true } } }, "OnPageNonIndexableRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "limit": { "type": "integer", "description": "the maximum number of returned pages\noptional field\ndefault value: 100\nmaximum value: 1000", "nullable": true }, "offset": { "type": "integer", "description": "offset in the results array of returned pages\noptional field\ndefault value: 0\nif you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages", "nullable": true }, "filters": { "type": "array", "items": { "type": "object", "nullable": true }, "description": "array of results filtering parameters\noptional field\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like, not_like\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"reason\",\"=\",\"robots_txt\"][[\"reason\",\"<>\",\"robots_txt\"],\n\"and\",\n[\"url\",\"not_like\",\"%/wp-admin/%\"]]\n[[\"url\",\"not_like\",\"%/wp-admin/%\"],\n\"and\",\n[[\"reason\",\"<>\",\"meta_tag\"],\"or\",[\"reason\",\"<>\",\"http_header\"]]]\nThe full list of possible filters is available by this link.", "nullable": true } }, "example": [ { "id": "07281559-0695-0216-0000-c269be8b7592", "filters": [ [ "reason", "=", "robots_txt" ], "and", [ "url", "like", "%go%" ] ], "limit": 10 } ] }, "OnPagePagesByResourceRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "url": { "type": "string", "description": "resource URL\nrequired field\nyou can get this URL in the response of the Resources endpoint\nexample:\nhttps://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js" }, "limit": { "type": "integer", "description": "the maximum number of returned pages\noptional field\ndefault value: 100\nmaximum value: 1000", "nullable": true }, "offset": { "type": "integer", "description": "offset in the results array of returned pages\noptional field\ndefault value: 0\nif you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages", "nullable": true }, "filters": { "type": "array", "items": { "type": "object", "nullable": true }, "description": "array of results filtering parameters\noptional field\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like, not_like\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"meta.external_links_count\",\"<=\",50][\"url\",\"like\",\"https://dataforseo.com/apis/dataforseo-labs-api\"]\n[[\"checks.high_waiting_time\",\"=\",false],\n\"and\",[\"resource_type\",\"=\",\"html\"]]\n[[\"page_timing.duration_time\",\"<\",100],\"and\",[[\"checks.large_page_size\",\"=\",false],\"or\",[\"checks.high_waiting_time\",\"=\",false]]]\nThe full list of possible filters is available by this link.", "nullable": true }, "order_by": { "type": "array", "items": { "type": "string" }, "description": "results sorting rules\noptional field\nyou can use the same values as in the filters array to sort the results\npossible sorting types:\nasc \u2013 results will be sorted in the ascending order\ndesc \u2013 results will be sorted in the descending order\nyou should use a comma to set up a sorting type\nexample:\n[\"meta.external_links_count,desc\"]\nnote that you can set no more than three sorting rules in a single request\nyou should use a comma to separate several sorting rules\nexample:\n[\"page_timing.dom_complete,asc\",\"size,desc\"]", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "id": "02241700-1535-0216-0000-034137259bc1", "url": "https://www.etsy.com/about/jobs.workco2018.js?" } ] }, "OnPageResourcesRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "url": { "type": "string", "description": "page URL\noptional field\nspecify this field if you want to get the resources for a specific page\nnote that to obtain resource\u2019s meta from a particular URL, you should specify the URL in this field;\nif you do not indicate a url when setting a task, resource\u2019s meta in the results will be returned based on the data from the page where our crawler first saw the resource", "nullable": true }, "limit": { "type": "integer", "description": "the maximum number of returned resources\noptional field\ndefault value: 100\nmaximum value: 1000", "nullable": true }, "offset": { "type": "integer", "description": "offset in the results array of returned resources\noptional field\ndefault value: 0\nif you specify the 10 value, the first ten resources in the results array will be omitted and the data will be provided for the successive resources", "nullable": true }, "filters": { "type": "array", "items": { "type": "object", "nullable": true }, "description": "array of results filtering parameters\noptional field\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like, not_like\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"resource_type\",\"=\",\"stylesheet\"]\n[[\"resource_type\",\"=\",\"image\"],\n\"and\",[\"checks.is_https\",\"=\",false]]\n[[\"fetch_timing.duration_time\",\">\",1],\"and\",[[\"total_transfer_size\",\">\",100],\"or\",[\"checks.high_loading_time\",\"=\",true]]]\nThe full list of possible filters is available by this link.", "nullable": true }, "relevant_pages_filters": { "type": "array", "items": { "type": "string" }, "description": "filter the resources by relevant pages\noptional field\nyou can use this field to obtain resources from pages matching to the defined parameters\nyou can apply the same filters here as available for the pages endpoint\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like, not_like\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"checks.no_image_title\",\"=\",true]", "nullable": true }, "order_by": { "type": "array", "items": { "type": "string" }, "description": "results sorting rules\noptional field\nyou can use the same values as in the filters array to sort the results\npossible sorting types:\nasc \u2013 results will be sorted in the ascending order\ndesc \u2013 results will be sorted in the descending order\nyou should use a comma to set up a sorting type\nexample:\n[\"size,desc\"]\nnote that you can set no more than three sorting rules in a single request\nyou should use a comma to separate several sorting rules\nexample:\n[\"size,desc\",\"fetch_timing.fetch_end,desc\"]", "nullable": true }, "search_after_token": { "type": "string", "description": "token for subsequent requests\noptional field\nprovided in the identical filed of the response to each request;\nuse this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request;\nby specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task;\nsearch_after_token values are unique for each subsequent task ;\nNote: if the search_after_token is specified in the request, all other parameters should be identical to the previous request", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "id": "07281559-0695-0216-0000-c269be8b7592", "filters": [ [ "resource_type", "=", "image" ], "and", [ "size", ">", 100000 ] ], "order_by": [ "size,desc" ], "limit": 10 } ] }, "OnPagePageScreenshotRequestInfo": { "type": "object", "properties": { "url": { "type": "string", "description": "page url\nrequired field\nabsolute URL of the page to snap\nnote: 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": { "type": "string", "description": "language header for accessing the website\noptional field\nall locale formats are supported (xx, xx-XX, xxx-XX, etc.)\nnote: 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", "nullable": true }, "custom_user_agent": { "type": "string", "description": "custom user agent\noptional field\ncustom user agent for crawling a website\nexample: 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\n\ndefault value: Mozilla/5.0 (compatible; RSiteAuditor)", "nullable": true }, "browser_preset": { "type": "string", "description": "preset for browser screen parameters\noptional field\nif you use this field, you don\u2019t need to indicate browser_screen_width, browser_screen_height, browser_screen_scale_factor\npossible values:\ndesktop, mobile, tablet\ndesktop preset will apply the following values:\nbrowser_screen_width: 1920\nbrowser_screen_height: 1080\nbrowser_screen_scale_factor: 1\nmobile preset will apply the following values:\nbrowser_screen_width: 390\nbrowser_screen_height: 844\nbrowser_screen_scale_factor: 3\ntablet preset will apply the following values:\nbrowser_screen_width: 1024\nbrowser_screen_height: 1366\nbrowser_screen_scale_factor: 2\nNote: in this endpoint, the enable_browser_rendering, enable_javascript, load_resources, and enable_xhr parameters are always enabled.", "nullable": true }, "browser_screen_width": { "type": "integer", "description": "browser screen width\noptional field\nyou can set a custom browser screen width to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;\nminimum value, in pixels: 240\nmaximum value, in pixels: 9999", "format": "int64", "nullable": true }, "browser_screen_height": { "type": "integer", "description": "browser screen height\noptional field\nyou can set a custom browser screen height to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;\nminimum value, in pixels: 240\nmaximum value, in pixels: 9999", "nullable": true }, "browser_screen_scale_factor": { "type": "number", "description": "browser screen scale factor\noptional field\nyou can set a custom browser screen resolution ratio to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;\nminimum value: 0.5\nmaximum value: 3", "nullable": true }, "full_page_screenshot": { "type": "boolean", "description": "take a screenshot of the full page\noptional field\nset to false if you want to capture only the part of the page displayed before scrolling\ndefault value: true", "nullable": true }, "disable_cookie_popup": { "type": "boolean", "description": "disable the cookie popup \noptional field\nset to true if you want to disable the popup requesting cookie consent from the user;\ndefault value:\nfalse", "nullable": true }, "switch_pool": { "type": "boolean", "description": "switch proxy pool\noptional field\nif true, additional proxy pools will be used to obtain the requested data;\nthe parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional rate-limit and/or site_unreachable errors", "nullable": true }, "ip_pool_for_scan": { "type": "string", "description": "proxy pool\noptional field\nyou can choose a location of the proxy pool that will be used to obtain the requested data;\nthe parameter can be used if page content is inaccessible in one of the locations, resulting in occasional site_unreachable errors\npossible values: us, de", "nullable": true } }, "example": [ { "url": "https://dataforseo.com/apis" } ] }, "OnPageWaterfallRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "url": { "type": "string", "description": "page URL\nrequired field\nspecify the pages you want to receive timing for" }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "id": "08101204-0696-0216-0000-644a7b21a48a", "url": "https://dataforseo.com/tag/broken-links" } ] }, "OnPageKeywordDensityResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageKeywordDensityTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageKeywordDensityTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageKeywordDensityResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageKeywordDensityResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "total_items_count": { "type": "integer", "description": "total number of relevant items\ntotal number of keywords on the specified website or web page matching the set keyword_length and filters", "format": "int64", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageKeywordDensityItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageKeywordDensityItem": { "type": "object", "properties": { "keyword": { "type": "string", "description": "returned keyword", "nullable": true }, "frequency": { "type": "integer", "description": "keyword frequency\nnumber of times the keyword appears on the website (or webpage if you specified a url)", "nullable": true }, "density": { "type": "number", "description": "keyword density\ncalculated as a ratio of frequency to the total count of keywords with the set keyword_length on the web page or website", "nullable": true } } }, "OnPageLinksResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLinksTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageLinksTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLinksResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageLinksResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "search_after_token": { "type": "string", "nullable": true }, "current_offset": { "type": "integer", "nullable": true }, "total_items_count": { "type": "integer", "description": "total number of relevant items in the database", "format": "int64", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/BaseOnPageLinkItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "BaseOnPageLinkItem": { "type": "object", "properties": { "type": { "type": "string", "description": "type of element", "nullable": true }, "domain_from": { "type": "string", "description": "referring domain\nthe link was found on this domain", "nullable": true }, "domain_to": { "type": "string", "description": "referenced domain\nthe link is pointing to this domain", "nullable": true }, "page_from": { "type": "string", "description": "referring page\nrelative URL of the page on which the link was found", "nullable": true }, "page_to": { "type": "string", "description": "referenced page\nrelative URL of the page to which the link is pointing", "nullable": true }, "link_from": { "type": "string", "description": "referring page\nabsolute URL of the page on which the link was found", "nullable": true }, "link_to": { "type": "string", "description": "referenced page\nabsolute URL of the page to which the link is pointing", "nullable": true }, "dofollow": { "type": "boolean", "description": "indicates whether the link is dofollow\nif the value is true, the link doesn\u2019t have a rel=\"nofollow\" attribute", "nullable": true }, "page_from_scheme": { "type": "string", "description": "url scheme of the referring page", "nullable": true }, "page_to_scheme": { "type": "string", "description": "url scheme of the referenced page", "nullable": true }, "direction": { "type": "string", "description": "direction of the link\npossible values: internal, external", "nullable": true }, "is_broken": { "type": "boolean", "description": "link is broken\nindicates whether a link is directing to a broken page or resource", "nullable": true }, "is_link_relation_conflict": { "type": "boolean", "description": "indicates that the link may have a conflict with another link\nif true, at least one link pointing to link_to has a rel=\"nofollow\" attribute and at least one is dofollow", "nullable": true }, "page_to_status_code": { "type": "integer", "description": "status code of the referenced page\nstatus code of the page to which the link is pointing", "nullable": true } }, "additionalProperties": false, "discriminator": { "propertyName": "type", "mapping": { "anchor": "#/components/schemas/OnPageAnchorLinkItem", "image": "#/components/schemas/OnPageImageLinkItem", "canonical": "#/components/schemas/OnPageCanonicalLinkItem", "alternate": "#/components/schemas/OnPageAlternateLinkItem", "link": "#/components/schemas/OnPageLinkLinkItem", "redirect": "#/components/schemas/OnPageRedirectLinkItem", "meta": "#/components/schemas/OnPageMetaLinkItem" } } }, "OnPageNonIndexableResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageNonIndexableTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageNonIndexableTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageNonIndexableResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageNonIndexableResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "total_items_count": { "type": "integer", "description": "total number of relevant items in the database", "format": "int64", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageNonIndexableItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageNonIndexableItem": { "type": "object", "properties": { "reason": { "type": "string", "description": "the reason why the page is non-indexable\ncan take the following values: robots_txt, meta_tag, http_header, attribute, too_many_redirects", "nullable": true }, "url": { "type": "string", "description": "url of the non-indexable page", "nullable": true } } }, "OnPageIdListRequestInfo": { "type": "object", "properties": { "datetime_from": { "type": "string", "description": "start time for filtering results\nrequired field\nif include_metadata is set to true, maximum value: a month from current datetime;\nif include_metadata is set to false, maximum value: six months from current datetime;\nmust be specified in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2023-01-15 12:57:46 +00:00" }, "datetime_to": { "type": "string", "description": "finish time for filtering results\nrequired field\nmaximum value: current datetime;\nmust be specified in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2023-01-31 13:57:46 +00:00" }, "limit": { "type": "integer", "description": "the maximum number of returned task IDs\noptional field\ndefault value: 1000\nmaximum value: 1000", "nullable": true }, "offset": { "type": "integer", "description": "offset in the results array of returned task IDs\noptional field\ndefault value: 0\nif you specify the 10 value, the first ten tasks in the results array will be omitted", "nullable": true }, "sort": { "type": "string", "description": "sorting by task execution time\noptional field\npossible values: \"asc\", \"desc\"\ndefault value: \"asc\"", "nullable": true }, "include_metadata": { "type": "boolean", "description": "include task metadata in the respond\noptional field\ndefault value: false", "nullable": true } }, "example": [ { "datetime_from": "2026-04-12 04:39:39 +00:00", "datetime_to": "2026-04-14 04:39:39 +00:00", "limit": 100, "offset": 0, "sort": "desc", "include_metadata": true } ] }, "OnPageLighthouseAuditsResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseAuditsTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageLighthouseAuditsTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseAuditsResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageLighthouseAuditsResultInfo": { "type": "object", "properties": { "audits": { "type": "array", "items": { "type": "string", "nullable": true }, "description": "the list of available lighthouse audits\nan array containing the titles of available audits;\nNote: the titles can change depending on if the audit passed or failed and may contain markdown code;\nNote #2: if you\u2019re using the audit that contains a slash (/) in its name, search by the last word after the slash", "nullable": true } } }, "OnPageLighthouseLiveJsonRequestInfo": { "type": "object", "properties": { "url": { "type": "string", "description": "target URL\nrequired field\ntarget page should be specified with its absolute URL (including http:// or https://)\nexample:\nhttps://dataforseo.com/" }, "for_mobile": { "type": "boolean", "description": "applies mobile emulation\noptional field\nif set to true, Lighthouse will use mobile device and screen emulation to test the page against mobile environment\nif set to false, the results will be provided for desktop\ndefault value: false", "nullable": true }, "categories": { "type": "array", "items": { "type": "string" }, "description": "categories of Lighthouse audits\noptional field\neach category is a collection of audits and audit groups that applies weighting and scoring to the section (see official definition)\nif you ignore this field, we will return data for all categories unless you specify audits\nuse this field to get data for specific categories you indicate here\npossible values:\nseo, performance, best_practices, accessibility", "nullable": true }, "audits": { "type": "array", "items": { "type": "string" }, "description": "Lighthouse audits\noptional field\naudits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (see official definition); \nif you ignore this field, we will return data for all audits;\nuse this field to get data for specific audits you indicate here;\nNote: that some audits do not belong to a specific category and are stand-alone page quality measurements;\nin general, there can be several use cases:\n1. if you ignore categories, you can use this field to get data for the specified audits only\nfor example, if you ignore \"categories\" and specify \"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"], you will get data only for these audits\n2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified\nfor example, if you specify \"categories\": [\"seo\"] and \"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"], you will get only these audits under \u201cperformance\u201d and all audits under \u201cseo\u201d\nyou can get the full list of possible audits here", "nullable": true }, "version": { "type": "string", "description": "lighthouse version\noptional field\nyou can obtain the results specific to a certain Lighthouse version by specifying its number\nthe list of available versions is available through the Lighthouse Versions endpoint", "nullable": true }, "language_name": { "type": "string", "description": "lighthouse language name\noptional field\nyou can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languages\ndefault value:\nEnglish", "nullable": true }, "language_code": { "type": "string", "description": "lighthouse language code\noptional field\nyou can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languages\ndefault value:\nen", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "url": "https://dataforseo.com", "for_mobile": true, "tag": "some_string_123" } ] }, "OnPageContentParsingRequestInfo": { "type": "object", "properties": { "url": { "type": "string", "description": "URL of the content to parse\nrequired field\nURL of the page to parse\nexample:\nhttps://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api" }, "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nnote: the enable_content_parsing parameter in the POST request must be set to true\nexample:\n\"07131248-1535-0216-1000-17384017ad04\"" }, "markdown_view": { "type": "boolean", "description": "return page content as markdown\noptional field\nif set to true, the markdown-formatted content of the page will be returned in the page_as_markdown field of the response;\ndefault value: false", "nullable": true } }, "example": [ { "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api", "id": "11161551-1535-0216-0000-500b3f307f92" } ] }, "OnPageMicrodataRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\"07131248-1535-0216-1000-17384017ad04\"" }, "url": { "type": "string", "description": "resource URL\nrequired field\nyou can get this URL in the response of the Pages endpoint\nexample:\nhttps://dataforseo.com/apis" }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "id": "02241700-1535-0216-0000-034137259bc1", "url": "https://dataforseo.com/apis" } ] }, "OnPageContentParsingLiveRequestInfo": { "type": "object", "properties": { "url": { "type": "string", "description": "URL of the content to parse\nrequired field\nURL of the page to parse\nexample:\nhttps://www.fujielectric.com/" }, "custom_user_agent": { "type": "string", "description": "custom user agent\noptional field\ncustom user agent for crawling a website\nexample: 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\n\ndefault value: Mozilla/5.0 (compatible; RSiteAuditor)", "nullable": true }, "browser_preset": { "type": "string", "description": "preset for browser screen parameters\noptional field\nif you use this field, you don\u2019t need to indicate browser_screen_width, browser_screen_height, browser_screen_scale_factor\npossible values:\ndesktop, mobile, tablet\ndesktop preset will apply the following values:\nbrowser_screen_width: 1920\nbrowser_screen_height: 1080\nbrowser_screen_scale_factor: 1\nmobile preset will apply the following values:\nbrowser_screen_width: 390\nbrowser_screen_height: 844\nbrowser_screen_scale_factor: 3\ntablet preset will apply the following values:\nbrowser_screen_width: 1024\nbrowser_screen_height: 1366\nbrowser_screen_scale_factor: 2\nNote: to use this parameter, set enable_javascript or enable_browser_rendering to true", "nullable": true }, "browser_screen_width": { "type": "integer", "description": "browser screen width\noptional field\nyou can set a custom browser screen width to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;\nNote: to use this parameter, set enable_javascript or enable_browser_rendering to true\nminimum value, in pixels: 240\nmaximum value, in pixels: 9999", "format": "int64", "nullable": true }, "browser_screen_height": { "type": "integer", "description": "browser screen height\noptional field\nyou can set a custom browser screen height to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;\nNote: to use this parameter, set enable_javascript or enable_browser_rendering to true\nminimum value, in pixels: 240\nmaximum value, in pixels: 9999", "nullable": true }, "browser_screen_scale_factor": { "type": "number", "description": "browser screen scale factor\noptional field\nyou can set a custom browser screen resolution ratio to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;\nNote: to use this parameter, set enable_javascript or enable_browser_rendering to true\nminimum value: 0.5\nmaximum value: 3", "nullable": true }, "store_raw_html": { "type": "boolean", "description": "store HTML of a crawled page\noptional field\nset to true if you want to get the HTML of the page using the OnPage Raw HTML endpoint\ndefault value: false", "nullable": true }, "disable_cookie_popup": { "type": "boolean", "description": "disable the cookie popup \noptional field\nset to true if you want to disable the popup requesting cookie consent from the user;\ndefault value:\nfalse", "nullable": true }, "accept_language": { "type": "string", "description": "language header for accessing the website\noptional field\nall locale formats are supported (xx, xx-XX, xxx-XX, etc.)\nNote: if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the \"type\":\"broken in the response array", "nullable": true }, "enable_javascript": { "type": "boolean", "description": "load javascript on a page\noptional field\nset to true if you want to load the scripts available on a page\ndefault value: false\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page", "nullable": true }, "enable_browser_rendering": { "type": "boolean", "description": "emulate browser rendering to measure Core Web Vitals\noptional field\nby using this parameter you will be able to emulate a browser when loading a web page;\nenable_browser_rendering loads styles, images, fonts, animations, videos, and other resources on a page;\ndefault value: false\nset to true to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response;\nif you use this field, enable_javascript, and load_resources parameters must be set to true\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page", "nullable": true }, "enable_xhr": { "type": "boolean", "description": "enable XMLHttpRequest on a page\noptional field\nset to true if you want our crawler to request data from a web server using the XMLHttpRequest object\ndefault value:\nfalse\nif you use this field, enable_javascript must be set to true;", "nullable": true }, "switch_pool": { "type": "boolean", "description": "switch proxy pool\noptional field\nif true, additional proxy pools will be used to obtain the requested data;\nthe parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional rate-limit and/or site_unreachable errors", "nullable": true }, "ip_pool_for_scan": { "type": "string", "description": "proxy pool\noptional field\nyou can choose a location of the proxy pool that will be used to obtain the requested data;\nthe parameter can be used if page content is inaccessible in one of the locations, resulting in occasional site_unreachable errors\npossible values: us, de", "nullable": true }, "markdown_view": { "type": "boolean", "description": "return page content as markdown\noptional field\nif set to true, the markdown-formatted content of the page will be returned in the page_as_markdown field of the response;\ndefault value: false", "nullable": true } }, "example": [ { "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api" } ] }, "OnPageInstantPagesResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageInstantPagesTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageInstantPagesTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageInstantPagesResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageInstantPagesResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "description": "details of the crawling session\nin this case the value will be null", "nullable": true }, "crawl_gateway_address": { "type": "string", "description": "crawler ip address\ndisplays the IP address used by the crawler to initiate the current crawling session\nyou can find the full list of IPs used by our crawler in the Overview section", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/BaseOnPageResourceItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageErrorsResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageErrorsTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageErrorsTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageErrorsResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageErrorsResultInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "id of the task", "nullable": true }, "datetime": { "type": "string", "description": "date and time when an error occurred\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2019-11-15 12:57:46 +00:00", "nullable": true }, "function": { "type": "string", "description": "corresponding API function", "nullable": true }, "error_code": { "type": "integer", "description": "error code", "nullable": true }, "error_message": { "type": "string", "description": "error message or error URL\nerror message (see full list) or URL that caused an error", "nullable": true }, "http_url": { "type": "string", "description": "URL that caused an error\nURL you used for making an API call or pingback/postback URL", "nullable": true }, "http_method": { "type": "string", "description": "HTTP method", "nullable": true }, "http_code": { "type": "integer", "description": "HTTP status code", "nullable": true }, "http_time": { "type": "number", "description": "time taken by HTTP request\nfor tasks set with a pingback/postback, this field will show the time it took your server to respond", "nullable": true }, "http_response": { "type": "string", "description": "HTTP response\nserver response", "nullable": true } } }, "OnPageIdListResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageIdListTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageIdListTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageIdListResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageIdListResultInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "id of the task", "nullable": true }, "url": { "type": "string", "description": "URL of the task\nURL you used for making an API call", "nullable": true }, "datetime_posted": { "type": "string", "description": "date and time when the task was made\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2023-01-15 12:57:46 +00:00", "nullable": true }, "datetime_done": { "type": "string", "description": "date and time when the task was completed\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2023-01-15 12:57:46 +00:00", "nullable": true }, "status": { "type": "string", "description": "informational message of the task\nyou can find the full list of general informational messages here", "nullable": true }, "cost": { "type": "number", "description": "cost of the task, USD", "nullable": true }, "metadata": { "type": "object", "additionalProperties": { "type": "object", "nullable": true }, "description": "contains parameters you specified in the POST request", "nullable": true } } }, "OnPagePageScreenshotResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPagePageScreenshotTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPagePageScreenshotTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPagePageScreenshotResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPagePageScreenshotResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "error_message": { "type": "string", "description": "error message\nif the url you indicated returns a 404 status code or is not a valid URL, you will obtain \"error_message\":\"Screenshot is empty\"\nif no error is encountered, the value will be null", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/ScreenshotItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "ScreenshotItem": { "type": "object", "properties": { "image": { "type": "string", "description": "screenshot of the requested page\nURL of the page screenshot on the DataForSEO storage\nnote: the page screenshot saved on the DataForSEO storage only remains accessible for one day after making the request", "nullable": true } } }, "OnPageForceStopResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageForceStopTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageForceStopTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "object", "description": "array of results", "nullable": true } } } ] }, "OnPageLighthouseLanguagesResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseLanguagesTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageLighthouseLanguagesTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseLanguagesResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageLighthouseLanguagesResultInfo": { "type": "object", "properties": { "language_name": { "type": "string", "description": "language name", "nullable": true }, "language_code": { "type": "string", "description": "language code according to ISO 639-1", "nullable": true } } }, "OnPageLighthouseTaskGetJsonResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseTaskGetJsonTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageLighthouseTaskGetJsonTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "additionalProperties": { "type": "object", "nullable": true }, "nullable": true }, "description": "results of Lighthouse audit\nthis array will include data according to the parameters specified in the POST request;\ndescription of the fields in the result array is available in the official documentation", "nullable": true } } } ] }, "OnPageLighthouseVersionsResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseVersionsTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageLighthouseVersionsTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseVersionsResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageLighthouseVersionsResultInfo": { "type": "object", "properties": { "availible_versions": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/AvailibleVersions" } ], "nullable": true }, "nullable": true } } }, "AvailibleVersions": { "type": "object", "properties": { "version": { "type": "string", "description": "lighthouse version", "nullable": true }, "default": { "type": "boolean", "description": "the version is used by default\nif false, the version is not used by default and should be specified in the corresponding field of the POST request if necessary", "nullable": true } } }, "OnPageDuplicateContentResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageDuplicateContentTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageDuplicateContentTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageDuplicateContentResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageDuplicateContentResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageDuplicateContentItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageDuplicateContentItem": { "type": "object", "properties": { "url": { "type": "string", "description": "URL of the specified page", "nullable": true }, "total_count": { "type": "integer", "description": "total count of duplicate pages", "format": "int64", "nullable": true }, "pages": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/DuplicatePageInfo" } ], "nullable": true }, "description": "pages with duplicate content", "nullable": true } } }, "DuplicatePageInfo": { "type": "object", "properties": { "similarity": { "type": "integer", "description": "content similarity score\nby default, the content is considered duplicate if the value is greater than or equals 6\ncan take values from 0 to 10", "nullable": true }, "page": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageHtmlResourceItem" } ], "nullable": true }, "description": "information about the page with duplicate content", "nullable": true } } }, "OnPageKeywordDensityRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "keyword_length": { "type": "integer", "description": "number of words for a keyword\nrequired field\npossible values:\n1, 2, 3, 4, 5" }, "url": { "type": "string", "description": "page URL\noptional field\nif you do not specify a page here, the results will be provided for the whole website\nif you use this field, the API response will contain only keywords from the specified page\na page should be specified with absolute URL (including http:// or https://)", "nullable": true }, "limit": { "type": "integer", "description": "the maximum number of returned keywords\noptional field\ndefault value: 100\nmaximum value: 1000", "nullable": true }, "filters": { "type": "array", "items": { "type": "object", "nullable": true }, "description": "array of results filtering parameters\noptional field\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, =, <>, in, not_in, like, not_like\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"keyword\",\"=\",\"%seo%\"]\n[[\"keyword\",\"=\",\"%seo%\"],\n\"and\",\n[\"frequency\",\"<\",\"6\"]]\n[[\"keyword\",\"not_like\",\"%seo%\"],\n\"and\",\n[[\"frequency\",\">\",\"6\"],\"or\",[\"density\",\">\",\"0.02\"]]]\nThe full list of possible filters is available by this link.", "nullable": true }, "order_by": { "type": "array", "items": { "type": "string" }, "description": "results sorting rules\noptional field\nyou can use the same values as in the filters array to sort the results\npossible sorting types:\nasc \u2013 results will be sorted in the ascending order\ndesc \u2013 results will be sorted in the descending order\nyou should use a comma to set up a sorting type\nexample:\n[\"frequency,desc\"]\nnote that you can set no more than three sorting rules in a single request\nyou should use a comma to separate several sorting rules\nexample:\n[\"keyword,asc\",\"frequency,desc\"]", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "id": "09101923-1535-0216-0000-2389a8854b70", "url": "https://dataforseo.com/", "keyword_length": 2, "filters": [ "frequency", ">", 5 ] } ] }, "OnPageSummaryResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageSummaryTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageSummaryTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageSummaryResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageSummaryResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "crawl_gateway_address": { "type": "string", "description": "crawler ip address\ndisplays the IP address used by the crawler to initiate the current crawling session\nyou can find the full list of IPs used by our crawler in the Overview section", "nullable": true }, "crawl_stop_reason": { "type": "string", "description": "reason why the crawling stopped\ninformation about the reason why the crawling process stopped;\npossible values:\nlimit_exceeded \u2013 the limit set in the max_crawl_pages was exceeded;\nempty_queue \u2013 all URLs in the queue were crawled;\nforce_stopped \u2013 the crawling process was halted using the On Page API Force Stop function;\nunexpected_exception \u2013 an internal error was encountered while crawling the target, contact support for more info", "nullable": true }, "domain_info": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/DomainInfo" } ], "description": "domain-wide info\non-page information about the target domain and crawling process", "nullable": true }, "page_metrics": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/PageMetrics" } ], "description": "page-specific info\nmetrics information on the target website pages", "nullable": true } } }, "PageMetrics": { "type": "object", "properties": { "links_external": { "type": "integer", "description": "number of external links\nthe number of links pointing to other websites", "nullable": true }, "links_internal": { "type": "integer", "description": "number of internal links\nthe number of links pointing to other pages within the target website", "nullable": true }, "duplicate_title": { "type": "integer", "description": "number of pages with duplicate titles", "nullable": true }, "duplicate_description": { "type": "integer", "description": "number of pages with duplicate descriptions", "nullable": true }, "duplicate_content": { "type": "integer", "description": "number of pages with duplicate content", "nullable": true }, "broken_links": { "type": "integer", "description": "number of broken links\nnumber of broken links across all crawled pages on a target website", "nullable": true }, "broken_resources": { "type": "integer", "description": "number of broken resources\nthe number of images and other resources with broken links", "nullable": true }, "links_relation_conflict": { "type": "integer", "description": "number of links present on the target website that may have a conflict\nfor example, if \"links_relation_conflict\": 2, the target website is referring to the same source by at least one internal link with the rel=\"nofollow\" attribute and by at least one dofollow link", "nullable": true }, "redirect_loop": { "type": "integer", "description": "number of redirect chains that start and end at the same URL\nnumber of redirect chains where the destination URL redirects back to the original URL", "nullable": true }, "onpage_score": { "type": "number", "description": "shows how website is optimized on a 100-point scale\nthis field shows how website is optimized considering critical on-page issues and warnings detected;\n100 is the highest possible score that means website does not have any critical on-page issues and important warnings;\nnote that this value depends on the number of crawled pages;\nlearn more about how the metric is calculated in this help center article", "nullable": true }, "non_indexable": { "type": "integer", "description": "number of non-indexable pages\nnumber of pages that are blocked from being indexed by Google and other search engines by robots.txt, HTTP headers, or meta tags settings;\nyou can receive a list of non-indexable URLs using this endpoint", "nullable": true }, "checks": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64", "nullable": true }, "description": "page-specific on-page check-ups", "nullable": true } } }, "DomainInfo": { "type": "object", "properties": { "name": { "type": "string", "description": "domain name", "nullable": true }, "cms": { "type": "string", "description": "content management system\ncontent management system identified on a website\nthe content of\u00a0the generator\u00a0meta tag\nthe data is taken from the first random page that returns the 200 response code\nif our crawler was unable to identify the cms, the value would be null", "nullable": true }, "ip": { "type": "string", "description": "domain ip address", "nullable": true }, "server": { "type": "string", "description": "website server\nthe version of the server detected on a website\nthe content of the server header\nthe information is taken from the first page which response code is 200", "nullable": true }, "crawl_start": { "type": "string", "description": "time when the crawling start\ndate and time when the website was sent for crawling\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2019-11-15 12:57:46 +00:00", "nullable": true }, "crawl_end": { "type": "string", "description": "time when the crawling ended\ndate and time when the crawling was finished\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2019-11-15 12:57:46 +00:00\nNote: informative only if \"crawl_progress\" is \"finished\"\nif \"crawl_progress\" is in_progress, the value will be null", "nullable": true }, "extended_crawl_status": { "type": "string", "description": "crawl status and errors\nindicates the reason why a website was not crawled;\ncan take the following values:\nno_errors \u2013 no crawling errors were detected;\nsite_unreachable \u2013 our crawler could not reach a website and thus was not able to obtain a status code;\ninvalid_page_status_code \u2013 status code of the first crawled page >= 400;\nforbidden_meta_tag \u2013 the first crawled page contains the tag;\nforbidden_robots \u2013 robots.txt forbids crawling the page;\nforbidden_http_header \u2013 HTTP header of the page contains \u201cX-Robots-Tag: noindex\u201d ;\ntoo_many_redirects \u2013 the first crawled page has more than 10 redirects;\nunknown \u2013 the reason is unknown", "nullable": true }, "ssl_info": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/SslInfo" } ], "description": "ssl certificate info\ninformation about the Secure Sockets Layer protocol detected on a website", "nullable": true }, "checks": { "type": "object", "additionalProperties": { "type": "boolean", "nullable": true }, "description": "website checks\nother on-page check-ups related to the website", "nullable": true }, "total_pages": { "type": "integer", "description": "total crawled pages\nthe total number of crawled pages", "format": "int64", "nullable": true }, "page_not_found_status_code": { "type": "integer", "description": "status code returned by a non-existent page\nin most cases, it is recommended a server returns a 404 response code", "nullable": true }, "canonicalization_status_code": { "type": "integer", "description": "status code returned by a canonicalized page\nthe checkup of the server behavior when our crawler tries to access the website via IP;\nin most cases, it is recommended that canonicalized pages respond with a 301 or 302 status code", "nullable": true }, "directory_browsing_status_code": { "type": "integer", "description": "status code returned by a directory\nthe status code returned by a directory page on a target website\nin most cases, it is recommended that directories respond with a 403 or 401 status code", "nullable": true }, "www_redirect_status_code": { "type": "integer", "description": "redirect status code\nthe status code of the www to non-www redirect\nin most cases, it is recommended that redirect returns a 301 status code", "nullable": true }, "main_domain": { "type": "string", "description": "root domain name", "nullable": true } } }, "SslInfo": { "type": "object", "properties": { "valid_certificate": { "type": "boolean", "description": "ssl certificate validity\nindicates whether the ssl certificate detected on a website is not expired, suspended, revoked or invalid", "nullable": true }, "certificate_issuer": { "type": "string", "description": "ssl certificate authority\nthe entity that issued the detected ssl certificate", "nullable": true }, "certificate_subject": { "type": "string", "description": "ssl certificate subject\nthe entity associated with the public key", "nullable": true }, "certificate_version": { "type": "integer", "description": "ssl certificate version\nindicates the version of X.509 used by an ssl certificate", "nullable": true }, "certificate_hash": { "type": "string", "description": "ssl certificate hash\nthe version of the ssl certificate\u2019s hash function", "nullable": true }, "certificate_expiration_date": { "type": "string", "description": "ssl certificate expiration date\nthe date and time when the ssl certificate expires\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2019-11-15 12:57:46 +00:00", "nullable": true } } }, "OnPageDuplicateContentRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "url": { "type": "string", "description": "page URL\nrequired field\nspecify the initial page you want to receive duplicate content for" }, "similarity": { "type": "integer", "description": "content similarity score\nby default, the content is considered duplicate if the value is greater than or equals 6\nyou can specify any similarity score in the 0-to-10 range", "nullable": true }, "limit": { "type": "integer", "description": "the maximum number of returned pages\noptional field\ndefault value: 100\nmaximum value: 1000", "nullable": true }, "offset": { "type": "integer", "description": "offset in the results array of returned pages\noptional field\ndefault value: 0\nif you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "id": "07281559-0695-0216-0000-c269be8b7592", "url": "https://www.etsy.com/" } ] }, "OnPageLighthouseLiveJsonResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseLiveJsonTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageLighthouseLiveJsonTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "additionalProperties": { "type": "object", "nullable": true }, "nullable": true }, "description": "results of Lighthouse audit\nthis array will include data according to the parameters you specified when setting a task;\nall fields and their descriptions are available in the official documentation by this link.", "nullable": true } } } ] }, "OnPageLighthouseTaskPostResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseTaskPostTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageLighthouseTaskPostTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "additionalProperties": { "type": "object", "nullable": true }, "nullable": true }, "nullable": true } } } ] }, "OnPageAvailableFiltersResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageAvailableFiltersTaskInfo" } ], "nullable": true }, "nullable": true } } } ] }, "OnPageAvailableFiltersTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageAvailableFiltersResultInfo" } ], "nullable": true }, "nullable": true } } } ] }, "OnPageAvailableFiltersResultInfo": { "type": "object", "properties": { "resources": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "nullable": true }, "pages": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "nullable": true }, "non_indexable": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "nullable": true }, "links": { "type": "object", "additionalProperties": { "type": "string", "description": "type of element", "nullable": true }, "nullable": true }, "pages_by_resource": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "nullable": true }, "redirect_chains": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "nullable": true }, "keyword_density": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "nullable": true }, "invalid_resources": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "nullable": true } } }, "OnPageTasksReadyResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageTasksReadyTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageTasksReadyTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageTasksReadyResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageTasksReadyResultInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "task identifier of the completed task\nunique task identifier in our system in the UUID format", "nullable": true }, "target": { "type": "string", "description": "target website specified when setting a task", "nullable": true }, "date_posted": { "type": "string", "description": "date when the task was posted (in the UTC format)", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier", "nullable": true } } }, "OnPagePagesRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "limit": { "type": "integer", "description": "the maximum number of returned pages\noptional field\ndefault value: 100\nmaximum value: 1000", "nullable": true }, "offset": { "type": "integer", "description": "offset in the results array of returned pages\noptional field\ndefault value: 0\nif you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages", "nullable": true }, "filters": { "type": "array", "items": { "type": "object", "nullable": true }, "description": "array of results filtering parameters\noptional field\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like, not_like\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"meta.external_links_count\",\"<=\",50][\"url\",\"like\",\"https://dataforseo.com/apis/dataforseo-labs-api\"][[\"checks.high_waiting_time\",\"=\",false],\n\"and\",[\"resource_type\",\"=\",\"html\"]][[\"page_timing.duration_time\",\"<\",100],\"and\",[[\"checks.large_page_size\",\"=\",false],\"or\",[\"checks.high_waiting_time\",\"=\",false]]]The full list of possible filters is available by this link.", "nullable": true }, "order_by": { "type": "array", "items": { "type": "string" }, "description": "results sorting rules\noptional field\nyou can use the same values as in the filters array to sort the results\npossible sorting types:\nasc \u2013 results will be sorted in the ascending order\ndesc \u2013 results will be sorted in the descending order\nyou should use a comma to set up a sorting type\nexample:\n[\"meta.external_links_count,desc\"]\nnote that you can set no more than three sorting rules in a single request\nyou should use a comma to separate several sorting rules\nexample:\n[\"page_timing.dom_complete,asc\",\"size,desc\"]", "nullable": true }, "search_after_token": { "type": "string", "description": "token for subsequent requests\noptional field\nprovided in the identical filed of the response to each request;\nuse this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request;\nby specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task;\nsearch_after_token values are unique for each subsequent task ;\nNote: if the search_after_token is specified in the request, all other parameters should be identical to the previous request", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "id": "07281559-0695-0216-0000-c269be8b7592", "filters": [ [ "resource_type", "=", "html" ], "and", [ "meta.scripts_count", ">", 40 ] ], "order_by": [ "meta.content.plain_text_word_count,desc" ], "limit": 10 } ] }, "OnPagePagesResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPagePagesTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPagePagesTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPagePagesResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPagePagesResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "search_after_token": { "type": "string", "nullable": true }, "current_offset": { "type": "integer", "nullable": true }, "total_items_count": { "type": "integer", "description": "total number of relevant items in the database", "format": "int64", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/BaseOnPageResourceItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageWaterfallResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageWaterfallTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageWaterfallTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageWaterfallResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageWaterfallResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageWaterfallItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageWaterfallItem": { "type": "object", "properties": { "page_url": { "type": "string", "description": "URL of the page", "nullable": true }, "time_to_interactive": { "type": "integer", "description": "Time To Interactive (TTI) metric\nthe time it takes until the user can interact with a page (in milliseconds)", "nullable": true }, "dom_complete": { "type": "integer", "description": "time to load resources\nthe time it takes until the page and all of its subresources are downloaded (in milliseconds)", "nullable": true }, "connection_time": { "type": "integer", "description": "time to connect to a server\nthe time it takes until the connection with a server is established (in milliseconds)", "nullable": true }, "time_to_secure_connection": { "type": "integer", "description": "time to establish a secure connection\nthe time it takes until the secure connection with a server is established (in milliseconds)", "nullable": true }, "request_sent_time": { "type": "integer", "description": "time to send a request to a server\nthe time it takes until the request to a server is sent (in milliseconds)", "nullable": true }, "waiting_time": { "type": "integer", "description": "time to first byte (TTFB) in milliseconds", "nullable": true }, "download_time": { "type": "integer", "description": "time it takes for a browser to receive a response (in milliseconds)", "nullable": true }, "duration_time": { "type": "integer", "description": "total time it takes until a browser receives a complete response from a server (in milliseconds)", "nullable": true }, "fetch_start": { "type": "integer", "description": "time to start downloading the HTML resource\nthe amount of time the browser needs to start downloading a page", "nullable": true }, "fetch_end": { "type": "integer", "description": "time to complete downloading the HTML resource\nthe amount of time the browser needs to complete downloading a page", "nullable": true }, "resources": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/WaterfallResourceInfo" } ], "nullable": true }, "description": "resource-specific timing\ncontains separate arrays with timing for each resource found on the page", "nullable": true } } }, "WaterfallResourceInfo": { "type": "object", "properties": { "resource_type": { "type": "string", "nullable": true }, "url": { "type": "string", "description": "resource URL", "nullable": true }, "initiator": { "type": "string", "description": "resource initiator", "nullable": true }, "duration_time": { "type": "integer", "description": "total time it takes until a browser receives a complete response from a server (in milliseconds)", "nullable": true }, "fetch_start": { "type": "integer", "description": "time to start downloading the resource\nthe amount of time the browser needs to start downloading a resource", "nullable": true }, "fetch_end": { "type": "integer", "description": "time to complete downloading the resource\nthe amount of time the browser needs to complete downloading a resource", "nullable": true }, "location": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageResourceLocationInfo" } ], "description": "location of the resource in the document\nparameters defining the location of the specific resource within the document\u2019s HTML", "nullable": true }, "is_render_blocking": { "type": "boolean", "description": "indicates whether the resource blocks rendering", "nullable": true } } }, "OnPageResourceLocationInfo": { "type": "object", "properties": { "line": { "type": "integer", "description": "line number\nthe number of the line on which the resource is located", "nullable": true }, "offset_left": { "type": "integer", "description": "position in line\nthe number of line characters before the resource;\nsometimes referred to as column\nNote: counts from 1, i.e. if the resource doesn\u2019t have any characters to the left, the value will be 1", "nullable": true }, "offset_top": { "type": "integer", "description": "position in the document\nthe total number of characters between the resource and the top of HTML", "nullable": true } } }, "OnPageErrorsRequestInfo": { "type": "object", "properties": { "limit": { "type": "integer", "description": "the maximum number of returned tasks that responded with an error\noptional field\ndefault value: 1000\nmaximum value: 1000", "nullable": true }, "offset": { "type": "integer", "description": "offset in the results array of returned tasks\noptional field\ndefault value: 0\nif you specify the 10 value, the first ten tasks in the results array will be omitted and the data will be provided for the successive tasks", "nullable": true }, "filtered_function": { "type": "string", "description": "return tasks with a certain function\nuse this field to obtain a list of tasks that returned an error filtered by a certain function\nyou can filter the results by the values you receive in the function fields of the API response\ni.e., once you receive unfiltered results, you can call this API again to filter them by function\nexample: on_page/task_post, postback_url, pingback_url", "nullable": true }, "datetime_from": { "type": "string", "description": "start time for filtering results\noptional field\nallows filtering results by the datetime parameter within the range of the last 7 days;\nmust be specified in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2021-11-15 12:57:46 +00:00", "nullable": true }, "datetime_to": { "type": "string", "description": "finish time for filtering results\noptional field\nallows filtering results by the datetime parameter within the range of the last 7 days;\nmust be specified in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample:\n2021-11-15 13:57:46 +00:00", "nullable": true } }, "example": [ { "limit": 10, "offset": 0, "filtered_function": "pingback_url" } ] }, "OnPageLinksRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "page_from": { "type": "string", "description": "relative page URL\noptional field\nif you use this field, the API response will contain only links from the specified page\nnote that in this field you can specify relative URLs only", "nullable": true }, "page_to": { "type": "string", "description": "relative page URL\noptional field\nif you use this field, the API response will contain only internal links pointing to the specified page\nnote that in this field you can specify relative URLs only", "nullable": true }, "limit": { "type": "integer", "description": "the maximum number of returned links\noptional field\ndefault value: 100\nmaximum value: 1000", "nullable": true }, "offset": { "type": "integer", "description": "offset in the results array of returned links\noptional field\ndefault value: 0\nif you specify the 10 value, the first ten links in the results array will be omitted and the data will be provided for the successive links", "nullable": true }, "filters": { "type": "array", "items": { "type": "object", "nullable": true }, "description": "array of results filtering parameters\noptional field\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, =, <>, in, not_in, like, not_like\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"direction\",\"=\",\"external\"]\n[[\"domain_to\",\"<>\",\"example.com\"],\n\"and\",\n[\"link_from\",\"not_like\",\"%example.com/blog%\"]]\n[[\"direction\",\"=\",\"external\"],\n\"and\",\n[[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]]\nThe full list of possible filters is available by this link.", "nullable": true }, "search_after_token": { "type": "string", "description": "token for subsequent requests\noptional field\nprovided in the identical filed of the response to each request;\nuse this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request;\nby specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task;\nsearch_after_token values are unique for each subsequent task ;\nNote: if the search_after_token is specified in the request, all other parameters should be identical to the previous request", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "id": "07281559-0695-0216-0000-c269be8b7592", "page_from": "/apis/google-trends-api", "filters": [ [ "dofollow", "=", true ], "and", [ "direction", "=", "external" ] ], "limit": 10 } ] }, "OnPageRedirectChainsRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "url": { "type": "string", "description": "page URL\noptional field\nabsolute URL of the target page\nif you use this field, the API response will return only redirect chains which contain the specified URL", "nullable": true }, "limit": { "type": "integer", "description": "the maximum number of returned redirect chains\noptional field\ndefault value: 100\nmaximum value: 1000", "nullable": true }, "offset": { "type": "integer", "description": "offset in the results array of returned redirect chains\noptional field\ndefault value: 0\nif you specify the 10 value, the first ten redirect chains in the results array will be omitted and the data will be provided for the successive redirect chains", "nullable": true }, "filters": { "type": "array", "items": { "type": "object", "nullable": true }, "description": "array of results filtering parameters\noptional field\nyou can use only one filtering parameter with this endpoint\nthe following filtering parameter is supported:\nis_redirect_loop\nthe following operators are supported:\nregex, not_regex, =, <>\nexamples:\n[\"is_redirect_loop\",\"=\",\"true\"]\n[\"is_redirect_loop\",\"<>\",\"false\"]", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "id": "03051327-4536-0216-1000-3b458a2cfcca", "url": "https://test_rdr.dataforseo.com/a/" } ] }, "OnPageLighthouseTasksReadyResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseTasksReadyTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageLighthouseTasksReadyTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageLighthouseTasksReadyResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageLighthouseTasksReadyResultInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "task identifier of the completed task\nunique task identifier in our system in the UUID format", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier", "nullable": true }, "endpoint_json": { "type": "string", "description": "URL for collecting the results of the OnPage Lighthouse JSON task", "nullable": true } } }, "OnPageTaskPostResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageTaskPostTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageTaskPostTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "object", "description": "array of results\nin this case, the value will be null", "nullable": true } } } ] }, "OnPageDuplicateTagsResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageDuplicateTagsTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageDuplicateTagsTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageDuplicateTagsResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageDuplicateTagsResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "total_pages_count": { "type": "integer", "description": "total number of pages with duplicate tags\ndisplays the total number of pages with duplicate tags of the target website", "format": "int64", "nullable": true }, "pages_count": { "type": "integer", "description": "number of pages with duplicate tags in the response\ndisplays the number of pages with duplicate tags returned in the response", "format": "int64", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageDuplicateTagsItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageDuplicateTagsItem": { "type": "object", "properties": { "accumulator": { "type": "string", "description": "contains the value of duplicated tag", "nullable": true }, "total_count": { "type": "integer", "description": "total count of duplicate pages", "format": "int64", "nullable": true }, "pages": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageHtmlResourceItem" } ], "nullable": true }, "description": "pages with duplicate tags", "nullable": true } } }, "OnPageContentParsingResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageContentParsingTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageContentParsingTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageContentParsingResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageContentParsingResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/ContentParsingElement" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "ContentParsingElement": { "type": "object", "properties": { "type": { "type": "string", "description": "type of element", "nullable": true }, "fetch_time": { "type": "string", "description": "date and time when the content was fethced\nexample:\n\"2022-11-01 10:02:52 +00:00\"", "nullable": true }, "status_code": { "type": "integer", "description": "status code of the page", "nullable": true }, "page_content": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/PageContentInfo" } ], "description": "parsed content of the page", "nullable": true }, "page_as_markdown": { "type": "string", "description": "page content in the markdown format\npage content in the text-to-HTML markdown format\nspecify markdown_view as true in the request to return the value", "nullable": true } } }, "PageContentInfo": { "type": "object", "properties": { "header": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/PageSectionContentInfo" } ], "description": "content of the header of the table", "nullable": true }, "footer": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/PageSectionContentInfo" } ], "description": "content of the footer of the table", "nullable": true }, "main_topic": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/TopicInfo" } ], "nullable": true }, "description": "main topic on the page\nyou can find more information about topic priority calculation in this help center article", "nullable": true }, "secondary_topic": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/TopicInfo" } ], "nullable": true }, "description": "secondary topic on the page\nyou can find more information about topic priority calculation in this help center article", "nullable": true }, "ratings": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/ContentRatingInfo" } ], "nullable": true }, "description": "contains objects with rating information for the products displayed on the page", "nullable": true }, "offers": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/ContentOfferInfo" } ], "nullable": true }, "description": "array of products displayed on the page\ncontains objects with information on products displayed on the page", "nullable": true }, "comments": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/ContentCommentInfo" } ], "nullable": true }, "description": "array of comments displayed on the page\ncontains objects with information on comments related to displayed products", "nullable": true }, "contacts": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/Contacts" } ], "description": "contact information\ncontains contact information displayed on the page", "nullable": true } } }, "ContentCommentInfo": { "type": "object", "properties": { "rating": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/ContentRatingInfo" } ], "description": "product\u2019s rating\ncontains information about the rating a customer has given to the product", "nullable": true }, "title": { "type": "string", "description": "title of the customer\u2019s comment", "nullable": true }, "publish_date": { "type": "string", "description": "date when the comment was published", "nullable": true }, "author": { "type": "string", "description": "author of the comment", "nullable": true }, "have_form": { "type": "boolean", "description": "", "nullable": true }, "primary_content": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/SectionContentItemInfo" } ], "nullable": true }, "description": "primary content on the page\nyou can find more information about content priority calculation in this help center article", "nullable": true } } }, "ContentRatingInfo": { "type": "object", "properties": { "name": { "type": "string", "description": "rating name\nhere you can find the following elements: Max5, Percents, CustomMax", "nullable": true }, "rating_value": { "type": "string", "description": "the value of the rating", "nullable": true }, "rating_count": { "type": "string", "description": "number of votes", "nullable": true }, "max_rating_value": { "type": "string", "description": "maximum value for the rating name", "nullable": true }, "relative_rating": { "type": "string", "description": "relative rating", "nullable": true } } }, "SectionContentItemInfo": { "type": "object", "properties": { "text": { "type": "string", "description": "secondary content on the page\nyou can find more information about content priority calculation in this help center article", "nullable": true }, "url": { "type": "string", "description": "page URL.\ndisplayed in case the text is a link anchor", "nullable": true }, "urls": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/ContentUrlInfo" } ], "nullable": true }, "description": "contains other URLs and anchors found in the content element", "nullable": true } } }, "ContentUrlInfo": { "type": "object", "properties": { "url": { "type": "string", "description": "contains other URLs and anchors found in the content element", "nullable": true }, "anchor_text": { "type": "string", "description": "text of the URL\u2019s anchor", "nullable": true } } }, "TopicInfo": { "type": "object", "properties": { "h_title": { "type": "string", "description": "meta title", "nullable": true }, "main_title": { "type": "string", "description": "main title of the block", "nullable": true }, "author": { "type": "string", "description": "content author name", "nullable": true }, "language": { "type": "string", "description": "content language", "nullable": true }, "level": { "type": "integer", "description": "HTML level", "nullable": true }, "primary_content": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/SectionContentItemInfo" } ], "nullable": true }, "description": "primary content on the page\nyou can find more information about content priority calculation in this help center article", "nullable": true }, "secondary_content": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/SectionContentItemInfo" } ], "nullable": true }, "description": "secondary content on the page\nyou can find more information about content priority calculation in this help center article", "nullable": true }, "table_content": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/TableContentInfo" } ], "nullable": true }, "description": "content of the table on the page", "nullable": true } } }, "TableContentInfo": { "type": "object", "properties": { "header": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/TableContentItemInfo" } ], "nullable": true }, "description": "parsed content of the header", "nullable": true }, "body": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/TableContentItemInfo" } ], "nullable": true }, "description": "content of the body of the table", "nullable": true }, "footer": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/TableContentItemInfo" } ], "nullable": true }, "description": "content of the footer of the table", "nullable": true } } }, "TableContentItemInfo": { "type": "object", "properties": { "row_cells": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/RowCellInfo" } ], "nullable": true }, "description": "content of the row cells of the header", "nullable": true } } }, "RowCellInfo": { "type": "object", "properties": { "text": { "type": "string", "description": "content of the row cells of the header", "nullable": true }, "urls": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/ContentUrlInfo" } ], "nullable": true }, "description": "contains other URLs and anchors found in the content element", "nullable": true }, "is_header": { "type": "boolean", "description": "content of the row cells of the header", "nullable": true } } }, "ContentOfferInfo": { "type": "object", "properties": { "name": { "type": "string", "description": "name of the product", "nullable": true }, "price": { "type": "number", "description": "price of the product", "format": "double", "nullable": true }, "price_currency": { "type": "string", "description": "price currency", "nullable": true }, "price_valid_until": { "type": "string", "description": "displays the date and time until which the price is valid\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d\nexample: \"2022-11-01 10:02:52 +00:00\"", "nullable": true } } }, "Contacts": { "type": "object", "properties": { "telephones": { "type": "array", "items": { "type": "string", "nullable": true }, "description": "array of telephone numbers", "nullable": true }, "emails": { "type": "array", "items": { "type": "string", "nullable": true }, "description": "array of emails", "nullable": true } } }, "PageSectionContentInfo": { "type": "object", "properties": { "primary_content": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/SectionContentItemInfo" } ], "nullable": true }, "description": "primary content on the page\nyou can find more information about content priority calculation in this help center article", "nullable": true }, "secondary_content": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/SectionContentItemInfo" } ], "nullable": true }, "description": "secondary content on the page\nyou can find more information about content priority calculation in this help center article", "nullable": true }, "table_content": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/TableContentInfo" } ], "nullable": true }, "description": "content of the table on the page", "nullable": true } } }, "OnPageContentParsingLiveResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageContentParsingLiveTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageContentParsingLiveTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageContentParsingLiveResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageContentParsingLiveResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/ContentParsingElement" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageTaskPostRequestInfo": { "type": "object", "properties": { "target": { "type": "string", "description": "target domain\nrequired field\ndomain name should be specified without https:// and www.\nif you specify the page URL, the results will be returned for the domain included in the URL" }, "max_crawl_pages": { "type": "integer", "description": "crawled pages limit\nrequired field\nthe number of pages to crawl on the specified domain\nNote:\nif you set max_crawl_pages to 1 and do not specify start_url or set a homepage in it, the following sitewide checks will be disabled:\ntest_canonicalization, enable_www_redirect_check, test_hidden_server_signature, test_page_not_found, test_directory_browsing, test_https_redirect\nto enable them anyway, set force_sitewide_checks to trueif you set max_crawl_pages to 1 and specify start_url other than a homepage, all sitewide checks will be disabled;\nto enable them anyway, set force_sitewide_checks to true" }, "start_url": { "type": "string", "description": "the first url to crawl \noptional field\nNote: you should specify an absolute URL\nif you want to crawl a single page, specify its URL in this field and additionally set the max_crawl_pages parameter to 1\nyou can also use the live Instant Pages endpoint to get page-specific data", "nullable": true }, "force_sitewide_checks": { "type": "boolean", "description": "enable sitewide checks when crawling a single page\noptional field\nset to true to get data on sitewide checks when crawling a single page;\ndefault value: false", "nullable": true }, "priority_urls": { "type": "array", "items": { "type": "string" }, "description": "urls to be crawled bypassing the queue\noptional field\nURLs specified in this array will be crawled in the first instance, bypassing the crawling queue;\nNote: you should specify the absolute URL;\nyou can specify up to 20 URLs;\nall URLs in the array must belong to the target domain;\nsubdomains will be ignored unless the allow_subdomains parameter is set to trueexample:\n\"priority_urls\": [\n\"https://dataforseo.com/apis/serp-api\",\n\"https://dataforseo.com/contact\"\n]", "nullable": true }, "max_crawl_depth": { "type": "integer", "description": "crawl depth\noptional field\nthe linking depth of the pages to crawl;\nfor example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.", "nullable": true }, "crawl_delay": { "type": "integer", "description": "delay between hits, ms\noptional field\nthe custom delay between crawler hits to the server\ndefault value: 2000", "nullable": true }, "store_raw_html": { "type": "boolean", "description": "store HTML of crawled pages\noptional field\nset to true if you want to get the HTML of the page using the OnPage Raw HTML endpoint\ndefault value: false", "nullable": true }, "enable_content_parsing": { "type": "boolean", "description": "parse content on crawled pages\noptional field\nset to true to use the OnPage Content Parsing endpoint\ndefault value: false", "nullable": true }, "support_cookies": { "type": "boolean", "description": "support cookies on crawled pages\noptional field\nset to true to support cookies when crawling the pages\ndefault value: false", "nullable": true }, "accept_language": { "type": "string", "description": "language header for accessing the website\noptional field\nall locale formats are supported (xx, xx-XX, xxx-XX, etc.)\nNote: if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the \"type\":\"broken in the response array", "nullable": true }, "custom_robots_txt": { "type": "string", "description": "custom robots.txt settings\noptional field\nexample: Disallow: /directory1/", "nullable": true }, "robots_txt_merge_mode": { "type": "string", "description": "merge with or override robots.txt settings\noptional field\npossible values: merge, override;\nset to override if you want to ignore website crawling restrictions and other robots.txt settings\ndefault value: merge;\nNote: if set to override, specify the custom_robots_txt parameter", "nullable": true }, "custom_user_agent": { "type": "string", "description": "custom user agent\noptional field\ncustom user agent for crawling a website\nexample: 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\n\ndefault value: Mozilla/5.0 (compatible; RSiteAuditor)", "nullable": true }, "browser_preset": { "type": "string", "description": "preset for browser screen parameters\noptional field\nif you use this field, you don\u2019t need to indicate browser_screen_width, browser_screen_height, browser_screen_scale_factorpossible values:\ndesktop, mobile, tabletdesktop preset will apply the following values:browser_screen_width: 1920\nbrowser_screen_height: 1080\nbrowser_screen_scale_factor: 1mobile preset will apply the following values:browser_screen_width: 390\nbrowser_screen_height: 844\nbrowser_screen_scale_factor: 3tablet preset will apply the following values:browser_screen_width: 1024\nbrowser_screen_height: 1366\nbrowser_screen_scale_factor: 2\nNote: to use this parameter, set enable_javascript or enable_browser_rendering to true", "nullable": true }, "browser_screen_width": { "type": "integer", "description": "browser screen width\noptional field\nyou can set a custom browser screen width to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;\nNote: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value, in pixels: 240\nmaximum value, in pixels: 9999", "format": "int64", "nullable": true }, "browser_screen_height": { "type": "integer", "description": "browser screen height\noptional field\nyou can set a custom browser screen height to perform an audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;\nNote: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value, in pixels: 240\nmaximum value, in pixels: 9999", "nullable": true }, "browser_screen_scale_factor": { "type": "number", "description": "browser screen scale factor\noptional field\nyou can set a custom browser screen resolution ratio to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;\nNote: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value: 0.5\nmaximum value: 3", "nullable": true }, "respect_sitemap": { "type": "boolean", "description": "respect sitemap when crawling\noptional field\nset to true if you want to follow the order of pages indicated in the primary sitemap when crawling;\ndefault value: false\nNote: if set to true, the click_depth value in the API response will equal 0;\nthe max_crawl_depth field of the request will be ignored, you can specify the number of pages to crawl using the max_crawl_pages parameter", "nullable": true }, "custom_sitemap": { "type": "string", "description": "custom sitemap url\noptional field\nthe URL of the page where the alternative sitemap is located\nNote: if you want to use this parameter, respect_sitemap should be true", "nullable": true }, "crawl_sitemap_only": { "type": "boolean", "description": "crawl only pages indicated in the sitemap\noptional field\nset to true if you want to crawl only the pages indicated in the sitemap\nif you set this parameter to true and do not specify custom_sitemap, we will crawl the default sitemap\ndefault value: false\nNote: if you want to use this parameter, respect_sitemap should be true", "nullable": true }, "load_resources": { "type": "boolean", "description": "load resources\noptional field\nset to true if you want to load image, stylesheets, scripts, and broken resources\ndefault value: false\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page", "nullable": true }, "enable_www_redirect_check": { "type": "boolean", "description": "check if the domain implemented the www redirection\noptional field\nset to true if you want to check if the requested domain implemented the www to non-www or non-www to www redirect;\ndefault value: false", "nullable": true }, "enable_javascript": { "type": "boolean", "description": "load javascript on a page\noptional field\nset to true if you want to load the scripts available on a page\ndefault value: false\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page", "nullable": true }, "enable_xhr": { "type": "boolean", "description": "enable XMLHttpRequest on a page\noptional field\nset to true if you want our crawler to request data from a web server using the XMLHttpRequest object\ndefault value: false;if you use this field, enable_javascript must be set to true;", "nullable": true }, "enable_browser_rendering": { "type": "boolean", "description": "emulate browser rendering to measure Core Web Vitals\noptional field\nby using this parameter you will be able to emulate a browser when loading a web page;\nenable_browser_rendering loads styles, images, fonts, animations, videos, and other resources on a page;\ndefault value: false\nset to true to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response;\nif you use this field, enable_javascript, and load_resources parameters must be set to true\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page", "nullable": true }, "disable_cookie_popup": { "type": "boolean", "description": "disable the cookie popup\noptional field\nset to true if you want to disable the popup requesting cookie consent from the user;\ndefault value:\nfalse", "nullable": true }, "custom_js": { "type": "string", "description": "custom javascript\noptional field\nNote that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a scr attribute:\nlet meta = { haveGoogleAnalytics: false, haveTagManager: false };\\r\\nfor (var i = 0; i < document.scripts.length; i++) {\\r\\n let src = document.scripts[i].getAttribute(\\\"src\\\");\\r\\n if (src != undefined) {\\r\\n if (src.indexOf(\\\"analytics.js\\\") >= 0)\\r\\n meta.haveGoogleAnalytics = true;\\r\\n\\tif (src.indexOf(\\\"gtm.js\\\") >= 0)\\r\\n meta.haveTagManager = true;\\r\\n }\\r\\n}\\ r\\nmeta;the returned value depends on what you specified in this field. For instance, if you specify the following script:\nmeta = {}; meta.url = document.URL; meta.test = 'test'; meta;\nas a response you will receive the following data:\n\"custom_js_response\": {\n\"url\": \"https://dataforseo.com/\",\n\"test\": \"test\"\n}\nNote: the length of the script you enter must be no more than 2000 characters\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page", "nullable": true }, "validate_micromarkup": { "type": "boolean", "description": "enable microdata validation\noptional field\nset to true if you want to use the OnPage API Microdata endpoint\ndefault value: false", "nullable": true }, "allow_subdomains": { "type": "boolean", "description": "include pages on subdomains\noptional field\nset to true if you want to crawl all subdomains of a target website\ndefault value: false", "nullable": true }, "allowed_subdomains": { "type": "array", "items": { "type": "string" }, "description": "subdomains to crawl\noptional field\nspecify subdomains that you want to crawl\nexample: [\"blog.site.com\", \"my.site.com\", \"shop.site.com\"]\nNote: to use this parameter, the allow_subdomains parameter should be set to false;\notherwise, the content of allowed_subdomains field will be ignored and the results will be returned for all subdomains", "nullable": true }, "disallowed_subdomains": { "type": "array", "items": { "type": "string" }, "description": "subdomains not to crawl\noptional field\nspecify subdomains that you don\u2019t want to crawl\nexample: [\"status.site.com\", \"docs.site.com\"]\nNote: to use this parameter, the allow_subdomains parameter should be set to true", "nullable": true }, "check_spell": { "type": "boolean", "description": "check spelling\noptional field\nset to true to check spelling on a website using Hunspell library\ndefault value: false", "nullable": true }, "check_spell_language": { "type": "string", "description": "language of the spell check\noptional field\nsupported languages: \u2018hy\u2019, \u2018eu\u2019, \u2018bg\u2019, \u2018ca\u2019, \u2018hr\u2019, \u2018cs\u2019, \u2018da\u2019, \u2018nl\u2019, \u2018en\u2019, \u2018eo\u2019, \u2018et\u2019, \u2018fo\u2019, \u2018fa\u2019, \u2018fr\u2019, \u2018fy\u2019, \u2018gl\u2019, \u2018ka\u2019, \u2018de\u2019, \u2018el\u2019, \u2018he\u2019, \u2018hu\u2019, \u2018is\u2019, \u2018ia\u2019, \u2018ga\u2019, \u2018it\u2019, \u2018rw\u2019, \u2018la\u2019, \u2018lv\u2019, \u2018lt\u2019, \u2018mk\u2019, \u2018mn\u2019, \u2018ne\u2019, \u2018nb\u2019, \u2018nn\u2019, \u2018pl\u2019, \u2018pt\u2019, \u2018ro\u2019, \u2018gd\u2019, \u2018sr\u2019, \u2018sk\u2019, \u2018sl\u2019, \u2018es\u2019, \u2018sv\u2019, \u2018tr\u2019, \u2018tk\u2019, \u2018uk\u2019, \u2018vi\u2019\nNote: if no language is specified, it will be set automatically based on page content", "nullable": true }, "check_spell_exceptions": { "type": "array", "items": { "type": "string" }, "description": "words excluded from spell check\noptional field\nspecify the words that you want to exclude from spell check\nmaximum word length: 100 characters\nmaximum amount of words: 1000\nexample: \"SERP\", \"minifiers\", \"JavaScript\"", "nullable": true }, "calculate_keyword_density": { "type": "boolean", "description": "calculate keyword density for the target domain\noptional field\nset to true if you want to calculate keyword density for website pages\ndefault value: false\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article\nonce the crawl is completed, you can obtain keyword density values with the Keyword Density endpoint", "nullable": true }, "checks_threshold": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64", "nullable": true }, "description": "custom threshold values for checks\noptional field\nyou can specify custom threshold values for the parameters included in the checks object of OnPage API responses;\nNote: only integer threshold values can be modified;\nfor example, the high_loading_time and large_page_size parameters are set to 3 seconds and 1 megabyte respectively by default;\nif you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet:\n\"checks_threshold\": {\n\"high_loading_time\": 1,\n\"large_page_size\": 1000\n}available customizable parameters with default values:\n\"title_too_short\", default value: 30, type: \"int\"\n\"title_too_long\", default value: 65, type: \"int\"\n\"small_page_size\", default value: 1024, type: \"int\"\n\"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\"\n\"low_character_count\", default value: 1024, type: \"int\"\n\"high_character_count\", default value: 256000 (250 * 1024), type: \"int\"\n\"low_content_rate\", default value: 0.1, type: \"float\"\n\"high_content_rate\", default value: 0.9, type: \"float\"\n\"high_loading_time\", default value: 3000, type: \"int\"\n\"high_waiting_time\", default value: 1500, type: \"int\"\n\"low_readability_rate\", default value: 15.0, type: \"float\"\n\"irrelevant_description\", default value: 0.2, type: \"float\"\n\"irrelevant_title\", default value: 0.3, type: \"float\"\n\"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"", "nullable": true }, "disable_sitewide_checks": { "type": "array", "items": { "type": "string" }, "description": "prevent certain sitewide checks from running\noptional field\nspecify the following checks to prevent them from running on the target website:\n\"test_page_not_found\"\n\"test_canonicalization\"\n\"test_https_redirect\"\n\"test_directory_browsing\"example:\n\"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]learn more on our help center", "nullable": true }, "disable_page_checks": { "type": "array", "items": { "type": "string" }, "description": "prevent certain page checks from running\noptional field\nspecify certain checks to prevent them from running and impacting the onpage_scoreexample:\n\"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]", "nullable": true }, "switch_pool": { "type": "boolean", "description": "switch proxy pool\noptional field\nif true, additional proxy pools will be used to obtain the requested data;\nthe parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional rate-limit and/or site_unreachable errors", "nullable": true }, "return_despite_timeout": { "type": "boolean", "description": "return data on pages despite the timeout error\noptional field\nif true, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error;\ndefault value: false", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true }, "pingback_url": { "type": "string", "description": "notification URL of a completed task\noptional field\nwhen a task is completed we will notify you by GET request sent to the URL you have specified\nyou can use the \u2018$id\u2019 string as a $id variable and \u2018$tag\u2019 as urlencoded $tag variable. We will set the necessary values before sending the request.\nexample:\nhttp://your-server.com/pingscript?id=$id\nhttp://your-server.com/pingscript?id=$id&tag=$tag\nNote: special characters in pingback_url will be urlencoded;\ni.a., the # character will be encoded into %23\nlearn more on our Help Center", "nullable": true } }, "example": [ { "target": "dataforseo.com", "max_crawl_pages": 10, "load_resources": true, "enable_javascript": true, "custom_js": "meta = {}; meta.url = document.URL; meta;", "tag": "some_string_123", "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag" } ] }, "OnPageResourcesResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageResourcesTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageResourcesTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageResourcesResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageResourcesResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "search_after_token": { "type": "string", "nullable": true }, "current_offset": { "type": "integer", "nullable": true }, "total_items_count": { "type": "integer", "description": "total number of relevant items crawled", "format": "int64", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/BaseOnPageResourceItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageMicrodataResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageMicrodataTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageMicrodataTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageMicrodataResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageMicrodataResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "test_summary": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/TestSummary" } ], "description": "microdata validation test results", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageMicrodataInfoItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageMicrodataInfoItem": { "type": "object", "properties": { "type": { "type": "string", "description": "type of element", "nullable": true }, "inspection_info": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/MicrodataInspectionInfo" } ], "description": "information related to microdata validation", "nullable": true } } }, "MicrodataInspectionInfo": { "type": "object", "properties": { "types": { "type": "array", "items": { "type": "string", "nullable": true }, "description": "parent microdata types\nfor a full list of available types, please visit schema.org", "nullable": true }, "fields": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/MicrodataFieldsInfo" } ], "nullable": true }, "description": "microdata fields\nan array of objects containing data fields related to the certain microdata type", "nullable": true } } }, "MicrodataFieldsInfo": { "type": "object", "properties": { "name": { "type": "string", "description": "field name\nname of the data field", "nullable": true }, "types": { "type": "array", "items": { "type": "string", "nullable": true }, "description": "list of microdata types", "nullable": true }, "value": { "type": "string", "description": "microdata value\nmicrodata value specified on a target web page", "nullable": true }, "test_results": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/MessageInfo" } ], "description": "microdata validation test results\nsub-type microdata test results that contain detected errors and related messages", "nullable": true }, "fields": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/MicrodataFieldsInfo" } ], "nullable": true }, "description": "microdata fields\nan array of objects containing data fields related to the certain microdata type", "nullable": true } } }, "MessageInfo": { "type": "object", "properties": { "level": { "type": "string", "description": "level of error\ncan take the following values: fatal, error, warning, info", "nullable": true }, "message": { "type": "string", "description": "message associated with an error\nmessage providing the details of the detected error", "nullable": true } } }, "TestSummary": { "type": "object", "properties": { "fatal": { "type": "integer", "description": "number of fatal microdata errors", "nullable": true }, "error": { "type": "integer", "description": "number of serious microdata errors", "nullable": true }, "warning": { "type": "integer", "description": "number of microdata warnings", "nullable": true }, "info": { "type": "integer", "description": "number of microdata information flags", "nullable": true } } }, "OnPageForceStopRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d\nnote: you can set up to 1000 id values as separate objects in the POST array" } }, "example": [ { "id": "08121600-1535-0216-0000-37b4c7a34453" }, { "id": "08121600-1535-0216-0000-d6a5000b6897" } ] }, "OnPageRawHtmlRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "url": { "type": "string", "description": "page url\nrequired field\nthe absolute URL of a page to request HTML\nNote: this field is optional if the task was set using the Instant Pages endpoint" } }, "example": [ { "id": "07281559-0695-0216-0000-c269be8b7592", "url": "https://dataforseo.com/apis" } ] }, "OnPageLighthouseTaskPostRequestInfo": { "type": "object", "properties": { "url": { "type": "string", "description": "target URLrequired fieldtarget page should be specified with its absolute URL (including http:// or https://)example:https://dataforseo.com/" }, "for_mobile": { "type": "boolean", "description": "applies mobile emulationoptional fieldif set to true, Lighthouse will use mobile device and screen emulation to test the page against mobile environmentif set to false, the results will be provided for desktopdefault value: false", "nullable": true }, "categories": { "type": "array", "items": { "type": "string" }, "description": "categories of Lighthouse auditsoptional fieldeach category is a collection of audits and audit groups that applies weighting and scoring to the section (see official definition)if you ignore this field, we will return data for all categories unless you specify auditsuse this field to get data for specific categories you indicate herepossible values:seo, performance, best_practices, accessibility", "nullable": true }, "audits": { "type": "array", "items": { "type": "string" }, "description": "Lighthouse auditsoptional fieldaudits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (see official definition)if you ignore this field, we will return data for all auditsuse this field to get data for specific audits you indicate herenote that some audits do not belong to a specific category and are stand-alone page quality measurementsin general, there can be several use cases:1. if you ignore categories, you can use this field to get data for the specified audits onlyfor example, if you ignore \"categories\" and specify \"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"], you will get data only for these audits2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specifiedfor example, if you specify \"categories\": [\"seo\"] and \"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"], you will get only these audits under \"performance\" and all audits under \"seo\"you can get the full list of possible audits here", "nullable": true }, "version": { "type": "string", "description": "lighthouse versionoptional fieldyou can obtain the results specific to a certain Lighthouse version by specifying its numberthe list of available versions is available through the Lighthouse Versions endpoint", "nullable": true }, "language_name": { "type": "string", "description": "lighthouse language nameoptional fieldyou can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languagesdefault value:English", "nullable": true }, "language_code": { "type": "string", "description": "lighthouse language codeoptional fieldyou can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languagesdefault value:en", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifieroptional fieldthe character limit is 255you can use this parameter to identify the task and match it with the resultyou will find the specified tag value in the data object of the response", "nullable": true }, "pingback_url": { "type": "string", "description": "notification URL of a completed taskoptional fieldwhen a task is completed we will notify you by GET request sent to the URL you have specifiedyou can use the \u2018$id\u2019 string as a $id variable and \u2018$tag\u2019 as urlencoded $tag variable. We will set the necessary values before sending the request.example:http://your-server.com/pingscript?id=$idhttp://your-server.com/pingscript?id=$id&tag=$tagNote: special characters in pingback_url will be urlencoded;i.a., the # character will be encoded into %23learn more on our Help Center", "nullable": true } }, "example": [ { "url": "https://dataforseo.com", "for_mobile": true, "tag": "some_string_123", "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag" } ] }, "OnPageInstantPagesRequestInfo": { "type": "object", "properties": { "url": { "type": "string", "description": "target page url\nrequired field\nabsolute URL of the target page;\nNote #1: results will be returned for the specified URL only;\nNote #2: to prevent denial-of-service events, tasks that contain a duplicate crawl host will be returned with a 40501 error;\nto prevent this error from occurring, avoid setting tasks with the same domain if at least one of your previous tasks with this domain (including a page URL on the domain) is still in a crawling queue" }, "custom_user_agent": { "type": "string", "description": "custom user agent\noptional field\ncustom user agent for crawling a website\nexample: 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\n\ndefault value: Mozilla/5.0 (compatible; RSiteAuditor)", "nullable": true }, "browser_preset": { "type": "string", "description": "preset for browser screen parameters\noptional field\nif you use this field, you don\u2019t need to indicate browser_screen_width, browser_screen_height, browser_screen_scale_factorpossible values:\ndesktop, mobile, tabletdesktop preset will apply the following values:\nbrowser_screen_width: 1920\nbrowser_screen_height: 1080\nbrowser_screen_scale_factor: 1\nmobile preset will apply the following values:\nbrowser_screen_width: 390\nbrowser_screen_height: 844\nbrowser_screen_scale_factor: 3\ntablet preset will apply the following values:\nbrowser_screen_width: 1024\nbrowser_screen_height: 1366\nbrowser_screen_scale_factor: 2\nNote: to use this parameter, set enable_javascript or enable_browser_rendering to true", "nullable": true }, "browser_screen_width": { "type": "integer", "description": "browser screen width\noptional field\nyou can set a custom browser screen width to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value, in pixels: 240\nmaximum value, in pixels: 9999", "format": "int64", "nullable": true }, "browser_screen_height": { "type": "integer", "description": "browser screen height\noptional field\nyou can set a custom browser screen height to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value, in pixels: 240\nmaximum value, in pixels: 9999", "nullable": true }, "browser_screen_scale_factor": { "type": "number", "description": "browser screen scale factor\noptional field\nyou can set a custom browser screen resolution ratio to perform audit for a particular device;\nif you use this field, you don\u2019t need to indicate browser_preset as it will be ignored;Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value: 0.5\nmaximum value: 3", "nullable": true }, "store_raw_html": { "type": "boolean", "description": "store HTML of a crawled page\noptional field\nset to true if you want get the HTML of the page using the OnPage Raw HTML endpoint\ndefault value: false", "nullable": true }, "accept_language": { "type": "string", "description": "language header for accessing the website\noptional field\nall locale formats are supported (xx, xx-XX, xxx-XX, etc.)\nNote: if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the \"type\":\"broken in the response array", "nullable": true }, "load_resources": { "type": "boolean", "description": "load resources\noptional field\nset to true if you want to load image, stylesheets, scripts, and broken resources\ndefault value: false\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page", "nullable": true }, "enable_javascript": { "type": "boolean", "description": "load javascript on a page\noptional field\nset to true if you want to load the scripts available on a page\ndefault value: false\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page", "nullable": true }, "enable_browser_rendering": { "type": "boolean", "description": "emulate browser rendering to measure Core Web Vitals\noptional field\nby using this parameter you will be able to emulate a browser when loading a web page;\nenable_browser_rendering loads styles, images, fonts, animations, videos, and other resources on a page;\ndefault value: false\nset to true to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response;\nif you use this field, parameters enable_javascript, and load_resources are enabled automatically;\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page", "nullable": true }, "disable_cookie_popup": { "type": "boolean", "description": "disable the cookie popup \noptional field\nset to true if you want to disable the popup requesting cookie consent from the user;\ndefault value:\nfalse", "nullable": true }, "return_despite_timeout": { "type": "boolean", "description": "return data on pages despite the timeout error\noptional field\nif true, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error;\ndefault value: false", "nullable": true }, "enable_xhr": { "type": "boolean", "description": "enable XMLHttpRequest on a page\noptional field\nset to true if you want our crawler to request data from a web server using the XMLHttpRequest object\ndefault value:\nfalseif you use this field, enable_javascript must be set to true;", "nullable": true }, "custom_js": { "type": "string", "description": "custom javascript\noptional fieldNote that the execution time for the script you enter here should be 700 ms maximum;\nfor example, you can use the following JS snippet to check if the website contains Google Tag Manager as a scr attribute:\nlet meta = { haveGoogleAnalytics: false, haveTagManager: false };\\r\\nfor (var i = 0; i < document.scripts.length; i++) {\\r\\n let src = document.scripts[i].getAttribute(\\\"src\\\");\\r\\ n if (src != undefined) {\\r\\n if (src.indexOf(\\\"analytics.js\\\") >= 0)\\r\\n meta.haveGoogleAnalytics = true;\\r\\n\\tif (src.indexOf(\\\"gtm.js\\\") >= 0)\\r\\n meta.haveTagManager = true;\\r\\n }\\r\\n}\\ r\\nmeta;the returned value depends on what you specified in this field. For instance, if you specify the following script:\nmeta = {}; meta.url = document.URL; meta.test = 'test'; meta;\nas a response you will receive the following data:\n\"custom_js_response\": {\n\"url\": \"https://dataforseo.com/\",\n\"test\": \"test\"\n}\nNote: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page", "nullable": true }, "validate_micromarkup": { "type": "boolean", "description": "enable microdata validation\noptional field\nif set to true, you can use the OnPage API Microdata endpoint with the id of the task;\ndefault value: false", "nullable": true }, "check_spell": { "type": "boolean", "description": "check spelling\noptional field\nset to true to check spelling on a website using Hunspell library\ndefault value: false", "nullable": true }, "checks_threshold": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64", "nullable": true }, "description": "custom threshold values for checks\noptional field\nyou can specify custom threshold values for the parameters included in the checks array of OnPage API responses;\nNote: only integer threshold values can be modified;", "nullable": true }, "switch_pool": { "type": "boolean", "description": "switch proxy pool\noptional field\nif true, additional proxy pools will be used to obtain the requested data;\nthe parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional rate-limit and/or site_unreachable errors", "nullable": true }, "ip_pool_for_scan": { "type": "string", "description": "proxy pool\noptional field\nyou can choose a location of the proxy pool that will be used to obtain the requested data;\nthe parameter can be used if page content is inaccessible in one of the locations, resulting in occasional site_unreachable errors\npossible values: us, de", "nullable": true } }, "example": [ { "url": "https://dataforseo.com/blog", "enable_javascript": true, "custom_js": "meta = {}; meta.url = document.URL; meta;" } ] }, "OnPageDuplicateTagsRequestInfo": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the task\nrequired field\nyou can get this ID in the response of the Task POST endpoint\nexample:\n\u201c07131248-1535-0216-1000-17384017ad04\u201d" }, "type": { "type": "string", "description": "type of element" }, "accumulator": { "type": "string", "description": "tag value\noptional field\nspecify a title or description here if you want to receive a list of duplicate pages that contains this tag", "nullable": true }, "limit": { "type": "integer", "description": "the maximum number of returned pages\noptional field\ndefault value: 100\nmaximum value: 1000", "nullable": true }, "offset": { "type": "integer", "description": "offset in the results array of returned pages\noptional field\ndefault value: 0\nif you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages", "nullable": true }, "tag": { "type": "string", "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response", "nullable": true } }, "example": [ { "id": "07281559-0695-0216-0000-c269be8b7592", "type": "duplicate_description", "limit": 10 } ] }, "OnPageRedirectChainsResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageRedirectChainsTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageRedirectChainsTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageRedirectChainsResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageRedirectChainsResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "total_items_count": { "type": "integer", "description": "total number of relevant items in the database", "format": "int64", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageRedirectChainsItem" } ], "nullable": true }, "description": "items array", "nullable": true } } }, "OnPageRedirectChainsItem": { "type": "object", "properties": { "is_redirect_loop": { "type": "boolean", "description": "indicates if redirects in chain start and end at the same URL\nif true, the last URL from the chain redirects back to the original URL", "nullable": true }, "chain": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageRedirectLinkItem" } ], "nullable": true }, "description": "contains links that form a chain", "nullable": true } } }, "OnPageRedirectLinkItem": { "type": "object", "allOf": [ { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/BaseOnPageLinkItem" } ], "nullable": true }, { "type": "object" } ] }, "OnPageRawHtmlResponseInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseInfo" }, { "type": "object", "properties": { "tasks": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageRawHtmlTaskInfo" } ], "nullable": true }, "description": "array of tasks", "nullable": true } } } ] }, "OnPageRawHtmlTaskInfo": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/BaseResponseTaskInfo" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageRawHtmlResultInfo" } ], "nullable": true }, "description": "array of results", "nullable": true } } } ] }, "OnPageRawHtmlResultInfo": { "type": "object", "properties": { "crawl_progress": { "type": "string", "description": "status of the crawling session\npossible values: in_progress, finished", "nullable": true }, "crawl_status": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CrawlStatusInfo" } ], "description": "details of the crawling session", "nullable": true }, "items_count": { "type": "integer", "description": "number of items in the results array", "format": "int64", "nullable": true }, "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/OnPageRawHtmlItem" } ], "description": "items object", "nullable": true } } }, "OnPageRawHtmlItem": { "type": "object", "properties": { "html": { "type": "string", "description": "HTML\u00a0page", "nullable": true } } } } }