DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
Live OnPage API Content Parsing
Parses any url into structured content immediately, with no crawl needed - the only tool in this family that works standalone. browser_preset, browser_screen_width, browser_screen_height and custom_user_agent control the render, disable_cookie_popup removes consent overlays, store_raw_html keeps the source. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. For pages already inside a crawl use post_dataforseo_on_page_content_parsing, which is free.
- Type: array object[]
- urlType: stringrequired
URL of the content to parse required field URL of the page to parse example: https://www.fujielectric.com/
- acceptType: string
_language language header for accessing the website optional field all locale formats are supported (xx, xx-XX, xxx-XX, etc.) Note: if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the "type":"broken in the response array
- browserType: string
_preset preset for browser screen parameters optional field if you use this field, you don’t need to indicate browser_screen_width, browser_screen_height, browser_screen_scale_factor possible values: desktop, mobile, tablet desktop preset will apply the following values: browser_screen_width: 1920 browser_screen_height: 1080 browser_screen_scale_factor: 1 mobile preset will apply the following values: browser_screen_width: 390 browser_screen_height: 844 browser_screen_scale_factor: 3 tablet preset will apply the following values: browser_screen_width: 1024 browser_screen_height: 1366 browser_screen_scale_factor: 2 Note: to use this parameter, set enable_javascript or enable_browser_rendering to true
- browserType: integer
_screen _height browser screen height optional field you can set a custom browser screen height to perform audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to true minimum value, in pixels: 240 maximum value, in pixels: 9999
- browserType: number
_screen _scale _factor browser screen scale factor optional field you can set a custom browser screen resolution ratio to perform audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to true minimum value: 0.5 maximum value: 3
- browserType: integer
_screen _width browser screen width optional field you can set a custom browser screen width to perform audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to true minimum value, in pixels: 240 maximum value, in pixels: 9999
- customType: string
_user _agent custom user agent optional field custom user agent for crawling a website example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 default value: Mozilla/5.0 (compatible; RSiteAuditor)
- disableType: boolean
_cookie _popup disable the cookie popup optional field set to true if you want to disable the popup requesting cookie consent from the user; default value: false
- enableType: boolean
_browser _rendering emulate browser rendering to measure Core Web Vitals optional field by using this parameter you will be able to emulate a browser when loading a web page; enable_browser_rendering loads styles, images, fonts, animations, videos, and other resources on a page; default value: false set to true to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response; if you use this field, enable_javascript, and load_resources parameters must be set to true Note: 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
- enableType: boolean
_javascript load javascript on a page optional field set to true if you want to load the scripts available on a page default value: false Note: 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
- enableType: boolean
_xhr enable XMLHttpRequest on a page optional field set to true if you want our crawler to request data from a web server using the XMLHttpRequest object default value: false if you use this field, enable_javascript must be set to true;
- ipType: string
_pool _for _scan proxy pool optional field you can choose a location of the proxy pool that will be used to obtain the requested data; the parameter can be used if page content is inaccessible in one of the locations, resulting in occasional site_unreachable errors possible values: us, de
- markdownType: boolean
_view return page content as markdown optional field if set to true, the markdown-formatted content of the page will be returned in the page_as_markdown field of the response; default value: false
- storeType: boolean
_raw _html store HTML of a crawled page optional field set to true if you want to get the HTML of the page using the OnPage Raw HTML endpoint default value: false
- switchType: boolean
_pool switch proxy pool optional field if true, additional proxy pools will be used to obtain the requested data; the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional rate-limit and/or site_unreachable errors
- Type: object200
Successful response
- Type: numbercost
total tasks cost, USD
- Type: integerstatus
_code general status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions
- Type: stringstatus
_message general informational message you can find the full list of general informational messages here
- Type: array string[]tasks
array of tasks
- Type: integertasks
_count the number of tasks in the tasks array
- Type: integertasks
_error the number of tasks in the tasks array returned with an error
- Type: numbertasks
.cost cost of the task, USD
- Type: objecttasks
.data contains the same parameters that you specified in the POST request
- Type: stringtasks
.id task identifier unique task identifier in our system in the UUID format
- Type: array string[]tasks
.path URL path
- Type: array string[]tasks
.result array of results
- Type: integertasks
.result _count number of elements in the result array
- Type: stringtasks
.result .crawl _progress status of the crawling session possible values: in_progress, finished
- Type: objecttasks
.result .crawl _status details of the crawling session
- Type: array string[]tasks
.result .items items array
- Type: integertasks
.result .items _count number of items in the results array
- Type: stringtasks
.result .items .fetch _time date and time when the content was fetched in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: "2022-11-01 10:02:52 +00:00"
- Type: stringtasks
.result .items .page _as _markdown page content in the markdown format page content in the text-to-HTML markdown format specify markdown_view as true in the request to return the value
- Type: objecttasks
.result .items .page _content parsed content of the page
- Type: array string[]tasks
.result .items .page _content .comments array of comments displayed on the page contains objects with information on comments related to displayed products
- Type: string
author of the comment
- Type: integertasks
.result .items .page _content .comments .max _rating _value maximum value for the rating
- Type: stringtasks
.result .items .page _content .comments .name rating name Note: this field is not used in this particular object, and its value is always null
- Type: array string[]tasks
.result .items .page _content .comments .primary _content primary content on the page you can find more information about content priority calculation in this help center article
- Type: stringtasks
.result .items .page _content .comments .primary _content .text text of the comment
- Type: stringtasks
.result .items .page _content .comments .primary _content .url displayed in case the text is a link anchor
- Type: array string[]tasks
.result .items .page _content .comments .primary _content .urls contains other URLs and anchors found in the content element
- Type: stringtasks
.result .items .page _content .comments .publish _date date when the comment was published
- Type: objecttasks
.result .items .page _content .comments .rating product’s rating contains information about the rating a customer has given to the product
- Type: integertasks
.result .items .page _content .comments .rating _count the amount of feedback Note: this field is not used in this particular object, and its value is always null
- Type: integertasks
.result .items .page _content .comments .rating _value the value of the rating
- Type: numbertasks
.result .items .page _content .comments .relative rating relative rating can take values from 0 to 1
- Type: stringtasks
.result .items .page _content .comments .title title of the customer’s comment
- Type: objecttasks
.result .items .page _content .contacts contact information contains contact information displayed on the page
- Type: array string[]tasks
.result .items .page _content .contacts .emails array of emails
- Type: array string[]tasks
.result .items .page _content .contacts .telephones array of telephone numbers
- Type: object
parsed content of the footer
- Type: objecttasks
.result .items .page _content .header parsed content of the header
- Type: array string[]tasks
.result .items .page _content .main _topic main topic on the page you can find more information about topic priority calculation in this help center article
- Type: string
content author name
- Type: stringtasks
.result .items .page _content .main _topic .h _title meta title
- Type: stringtasks
.result .items .page _content .main _topic .language content language
- Type: stringtasks
.result .items .page _content .main _topic .level HTML level
- Type: stringtasks
.result .items .page _content .main _topic .main _title main title of the block
- Type: array string[]tasks
.result .items .page _content .main _topic .primary _content primary content on the page you can find more information about content priority calculation in this help center article
- Type: array string[]tasks
.result .items .page _content .main _topic .secondary _content secondary content on the page you can find more information about content priority calculation in this help center article
- Type: stringtasks
.result .items .page _content .main _topic .text content text
- Type: stringtasks
.result .items .page _content .main _topic .url page URL displayed in case the text is a link anchor
- Type: array string[]tasks
.result .items .page _content .main _topic .urls contains other URLs and anchors found in the content element
- Type: stringtasks
.result .items .page _content .main _topic .urls .anchor _text text of the URL’s anchor
- Type: stringtasks
.result .items .page _content .main _topic .urls .url other URL found in the content element
- Type: array string[]tasks
.result .items .page _content .offers array of products displayed on the page contains objects with information on products displayed on the page
- Type: stringtasks
.result .items .page _content .offers .name name of the product
- Type: integertasks
.result .items .page _content .offers .price price of the product
- Type: stringtasks
.result .items .page _content .offers .price _currency price currency
- Type: integertasks
.result .items .page _content .offers .price _valid _until displays the date and time until which the price is valid in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: "2022-11-01 10:02:52 +00:00"
- Type: array string[]tasks
.result .items .page _content .primary _content primary content on the page you can find more information about content priority calculation in this help center article
- Type: stringtasks
.result .items .page _content .primary _content .text content text
- Type: stringtasks
.result .items .page _content .primary _content .url page URL displayed in case the text is a link anchor
- Type: array string[]tasks
.result .items .page _content .primary _content .urls contains other URLs and anchors found in the content element
- Type: stringtasks
.result .items .page _content .primary _content .urls .anchor _text text of the URL’s anchor
- Type: stringtasks
.result .items .page _content .primary _content .urls .url other URL found in the content element
- Type: array string[]tasks
.result .items .page _content .ratings contains objects with rating information for the products displayed on the page
- Type: integertasks
.result .items .page _content .ratings .max _rating _value maximum value for the rating
- Type: stringtasks
.result .items .page _content .ratings .name rating name Note: this field is not used in this particular object, and its value is always set to null
- Type: integertasks
.result .items .page _content .ratings .rating _count the amount of feedback
- Type: integertasks
.result .items .page _content .ratings .rating _value the value of the rating
- Type: numbertasks
.result .items .page _content .ratings .relative _rating relative rating can take values from 0 to 1
- Type: array string[]tasks
.result .items .page _content .secondary _content secondary content on the page you can find more information about content priority calculation in this help center article
- Type: stringtasks
.result .items .page _content .secondary _content .text content text
- Type: stringtasks
.result .items .page _content .secondary _content .url page URL displayed in case the text is a link anchor
- Type: array string[]tasks
.result .items .page _content .secondary _content .urls contains other URLs and anchors found in the content element
- Type: stringtasks
.result .items .page _content .secondary _content .urls .anchor _text text of the URL’s anchor
- Type: stringtasks
.result .items .page _content .secondary _content .urls .url other URL found in the content element
- Type: array string[]tasks
.result .items .page _content .secondary _topic secondary topic on the page you can find more information about topic priority calculation in this help center article
- Type: string
content author name
- Type: stringtasks
.result .items .page _content .secondary _topic .h _title meta title
- Type: stringtasks
.result .items .page _content .secondary _topic .language content language
- Type: stringtasks
.result .items .page _content .secondary _topic .level HTML level
- Type: stringtasks
.result .items .page _content .secondary _topic .main _title main title of the block
- Type: array string[]tasks
.result .items .page _content .secondary _topic .primary _content primary content on the page you can find more information about content priority calculation in this help center article
- Type: array string[]tasks
.result .items .page _content .secondary _topic .secondary _content secondary content on the page you can find more information about content priority calculation in this help center article
- Type: stringtasks
.result .items .page _content .secondary _topic .text content text
- Type: stringtasks
.result .items .page _content .secondary _topic .url page URL displayed in case the text is a link anchor
- Type: array string[]tasks
.result .items .page _content .secondary _topic .urls contains other URLs and anchors found in the content element
- Type: stringtasks
.result .items .page _content .secondary _topic .urls .anchor _text text of the URL’s anchor
- Type: stringtasks
.result .items .page _content .secondary _topic .urls .url other URL found in the content element
- Type: array string[]tasks
.result .items .page _content .table _content content of the table on the page
- Type: array string[]tasks
.result .items .page _content .table _content .body content of the body of the table
- Type: array string[]tasks
.result .items .page _content .table _content .body .row _cells content of the row cells of the header
- Type: booleantasks
.result .items .page _content .table _content .body .row _cells .is _header indicates if the text belongs to the header
- Type: stringtasks
.result .items .page _content .table _content .body .row _cells .text text in the row cell
- Type: array string[]tasks
.result .items .page _content .table _content .body .row _cells .urls contains other URLs and anchors found in the cell
- Type: stringtasks
.result .items .page _content .table _content .body .row _cells .urls .anchor _text text of the URL’s anchor
- Type: stringtasks
.result .items .page _content .table _content .body .row _cells .urls .url URL found in the cell
- Type: array string[]
content of the footer of the table
- Type: array string[]
content of the row cells of the header
- Type: boolean
indicates if the text belongs to the header
- Type: string
text in the row cell
- Type: array string[]
contains other URLs and anchors found in the cell
- Type: string
text of the URL’s anchor
- Type: string
URL found in the cell
- Type: array string[]tasks
.result .items .page _content .table _content .header content of the header of the table
- Type: array string[]tasks
.result .items .page _content .table _content .header .row _cells content of the row cells of the header
- Type: booleantasks
.result .items .page _content .table _content .header .row _cells .is _header indicates if the text belongs to the header
- Type: stringtasks
.result .items .page _content .table _content .header .row _cells .text text in the row cell
- Type: array string[]tasks
.result .items .page _content .table _content .header .row _cells .urls contains other URLs and anchors found in the cell
- Type: stringtasks
.result .items .page _content .table _content .header .row _cells .urls .anchor _text text of the URL’s anchor
- Type: stringtasks
.result .items .page _content .table _content .header .row _cells .urls .url URL found in the cell
- Type: integertasks
.result .items .status _code status code of the page
- Type: stringtasks
.result .items .type type of the returned item = ‘сontent_parsing_element’
- Type: integertasks
.status _code status code of the task generated by DataForSEO; can be within the following range: 10000-60000 you can find the full list of the response codes here
- Type: stringtasks
.status _message informational message of the task you can find the full list of general informational messages here
- Type: stringtasks
.time execution time, seconds
- Type: stringtime
execution time, seconds
- Type: stringversion
the current version of the API
application/json - 400
Bad request
- 401
Unauthorized
- 402
The request cannot proceed because a billing requirement is not met.
- 403
The account is not permitted to perform this operation.
- 429
Rate limit exceeded
- 500
Internal server error
- 502
The service could not complete the request.
- 503
The API or billing service is temporarily unavailable.
- 504
The service timed out while processing the request.
- default
The operation failed. Keep the response request ID when contacting Felo support.
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/content_parsing/live \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"url": "",
"custom_user_agent": "",
"browser_preset": "",
"browser_screen_width": 1,
"browser_screen_height": 1,
"browser_screen_scale_factor": 1,
"store_raw_html": true,
"disable_cookie_popup": true,
"accept_language": "",
"enable_javascript": true,
"enable_browser_rendering": true,
"enable_xhr": true,
"switch_pool": true,
"ip_pool_for_scan": "",
"markdown_view": true
}
]'
{
"version": "string",
"status_code": 1,
"status_message": "string",
"time": "string",
"cost": 1,
"tasks_count": 1,
"tasks_error": 1,
"tasks": [
"string"
],
"tasks.id": "string",
"tasks.status_code": 1,
"tasks.status_message": "string",
"tasks.time": "string",
"tasks.cost": 1,
"tasks.result_count": 1,
"tasks.path": [
"string"
],
"tasks.data": {},
"tasks.result": [
"string"
],
"tasks.result.crawl_progress": "string",
"tasks.result.crawl_status": {},
"tasks.result.items_count": 1,
"tasks.result.items": [
"string"
],
"tasks.result.items.type": "string",
"tasks.result.items.fetch_time": "string",
"tasks.result.items.status_code": 1,
"tasks.result.items.page_content": {},
"tasks.result.items.page_content.header": {},
"tasks.result.items.page_content.primary_content": [
"string"
],
"tasks.result.items.page_content.primary_content.text": "string",
"tasks.result.items.page_content.primary_content.url": "string",
"tasks.result.items.page_content.primary_content.urls": [
"string"
],
"tasks.result.items.page_content.primary_content.urls.url": "string",
"tasks.result.items.page_content.primary_content.urls.anchor_text": "string",
"tasks.result.items.page_content.secondary_content": [
"string"
],
"tasks.result.items.page_content.secondary_content.text": "string",
"tasks.result.items.page_content.secondary_content.url": "string",
"tasks.result.items.page_content.secondary_content.urls": [
"string"
],
"tasks.result.items.page_content.secondary_content.urls.url": "string",
"tasks.result.items.page_content.secondary_content.urls.anchor_text": "string",
"tasks.result.items.page_content.table_content": [
"string"
],
"tasks.result.items.page_content.table_content.header": [
"string"
],
"tasks.result.items.page_content.table_content.header.row_cells": [
"string"
],
"tasks.result.items.page_content.table_content.header.row_cells.text": "string",
"tasks.result.items.page_content.table_content.header.row_cells.urls": [
"string"
],
"tasks.result.items.page_content.table_content.header.row_cells.urls.url": "string",
"tasks.result.items.page_content.table_content.header.row_cells.urls.anchor_text": "string",
"tasks.result.items.page_content.table_content.header.row_cells.is_header": true,
"tasks.result.items.page_content.table_content.body": [
"string"
],
"tasks.result.items.page_content.table_content.body.row_cells": [
"string"
],
"tasks.result.items.page_content.table_content.body.row_cells.text": "string",
"tasks.result.items.page_content.table_content.body.row_cells.urls": [
"string"
],
"tasks.result.items.page_content.table_content.body.row_cells.urls.url": "string",
"tasks.result.items.page_content.table_content.body.row_cells.urls.anchor_text": "string",
"tasks.result.items.page_content.table_content.body.row_cells.is_header": true,
"tasks.result.items.page_content.table_content.footer": [
"string"
],
"tasks.result.items.page_content.table_content.footer.row_cells": [
"string"
],
"tasks.result.items.page_content.table_content.footer.row_cells.text": "string",
"tasks.result.items.page_content.table_content.footer.row_cells.urls": [
"string"
],
"tasks.result.items.page_content.table_content.footer.row_cells.urls.url": "string",
"tasks.result.items.page_content.table_content.footer.row_cells.urls.anchor_text": "string",
"tasks.result.items.page_content.table_content.footer.row_cells.is_header": true,
"tasks.result.items.page_content.footer": {},
"tasks.result.items.page_content.main_topic": [
"string"
],
"tasks.result.items.page_content.main_topic.h_title": "string",
"tasks.result.items.page_content.main_topic.main_title": "string",
"tasks.result.items.page_content.main_topic.author": "string",
"tasks.result.items.page_content.main_topic.language": "string",
"tasks.result.items.page_content.main_topic.level": "string",
"tasks.result.items.page_content.main_topic.primary_content": [
"string"
],
"tasks.result.items.page_content.main_topic.text": "string",
"tasks.result.items.page_content.main_topic.url": "string",
"tasks.result.items.page_content.main_topic.urls": [
"string"
],
"tasks.result.items.page_content.main_topic.urls.url": "string",
"tasks.result.items.page_content.main_topic.urls.anchor_text": "string",
"tasks.result.items.page_content.main_topic.secondary_content": [
"string"
],
"tasks.result.items.page_content.secondary_topic": [
"string"
],
"tasks.result.items.page_content.secondary_topic.h_title": "string",
"tasks.result.items.page_content.secondary_topic.main_title": "string",
"tasks.result.items.page_content.secondary_topic.author": "string",
"tasks.result.items.page_content.secondary_topic.language": "string",
"tasks.result.items.page_content.secondary_topic.level": "string",
"tasks.result.items.page_content.secondary_topic.primary_content": [
"string"
],
"tasks.result.items.page_content.secondary_topic.text": "string",
"tasks.result.items.page_content.secondary_topic.url": "string",
"tasks.result.items.page_content.secondary_topic.urls": [
"string"
],
"tasks.result.items.page_content.secondary_topic.urls.url": "string",
"tasks.result.items.page_content.secondary_topic.urls.anchor_text": "string",
"tasks.result.items.page_content.secondary_topic.secondary_content": [
"string"
],
"tasks.result.items.page_content.ratings": [
"string"
],
"tasks.result.items.page_content.ratings.name": "string",
"tasks.result.items.page_content.ratings.rating_value": 1,
"tasks.result.items.page_content.ratings.max_rating_value": 1,
"tasks.result.items.page_content.ratings.rating_count": 1,
"tasks.result.items.page_content.ratings.relative_rating": 1,
"tasks.result.items.page_content.offers": [
"string"
],
"tasks.result.items.page_content.offers.name": "string",
"tasks.result.items.page_content.offers.price": 1,
"tasks.result.items.page_content.offers.price_currency": "string",
"tasks.result.items.page_content.offers.price_valid_until": 1,
"tasks.result.items.page_content.comments": [
"string"
],
"tasks.result.items.page_content.comments.rating": {},
"tasks.result.items.page_content.comments.name": "string",
"tasks.result.items.page_content.comments.rating_value": 1,
"tasks.result.items.page_content.comments.max_rating_value": 1,
"tasks.result.items.page_content.comments.rating_count": 1,
"tasks.result.items.page_content.comments.relative rating": 1,
"tasks.result.items.page_content.comments.title": "string",
"tasks.result.items.page_content.comments.publish_date": "string",
"tasks.result.items.page_content.comments.author": "string",
"tasks.result.items.page_content.comments.primary_content": [
"string"
],
"tasks.result.items.page_content.comments.primary_content.text": "string",
"tasks.result.items.page_content.comments.primary_content.url": "string",
"tasks.result.items.page_content.comments.primary_content.urls": [
"string"
],
"tasks.result.items.page_content.contacts": {},
"tasks.result.items.page_content.contacts.telephones": [
"string"
],
"tasks.result.items.page_content.contacts.emails": [
"string"
],
"tasks.result.items.page_as_markdown": "string"
}