Felo API PlatformFelo API Platform
v0.1.0-beta
OpenAPI 3.1.0

OnPage API Content Parsing

Server:https://openapi.felo.ai
Client Libraries

DataForSEO

​

SEO, search-engine results, keyword research, backlinks and AI visibility data.

OnPage API Content Parsing

​

Parses one crawled url into structured content, with markdown_view for a markdown rendering. Reads a finished crawl, so it needs the id from post_dataforseo_on_page_submit and returns crawl_progress plus a crawl_status of max_crawl_pages, pages_in_queue and pages_crawled - check those before trusting a small result, because a crawl still running simply has less to report. The standalone twin post_dataforseo_on_page_content_parsing_live parses any URL without a crawl - prefer that unless the page is already part of one.

Body
required
application/json
  • Type: array object[]
    • id
      Type: string
      required

      ID of the task required field you can get this ID in the response of the Task POST endpoint note: the enable_content_parsing parameter in the POST request must be set to true example: "07131248-1535-0216-1000-17384017ad04"

    • url
      Type: string
      required

      URL of the content to parse required field URL of the page to parse example: https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api

    • markdown_view
      Type: boolean

      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

Responses
  • 200
    Type: object

    Successful response

    • cost
      Type: number

      total tasks cost, USD

    • status_code
      Type: integer

      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

    • status_message
      Type: string

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

    • tasks
      Type: array string[]

      array of tasks

    • tasks_count
      Type: integer

      the number of tasks in the tasks array

    • tasks_error
      Type: integer

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

    • tasks.cost
      Type: number

      cost of the task, USD

    • tasks.data
      Type: object

      contains the same parameters that you specified in the POST request

    • tasks.id
      Type: string

      task identifier unique task identifier in our system in the UUID format

    • tasks.path
      Type: array string[]

      URL path

    • tasks.result
      Type: array string[]

      array of results

    • tasks.result_count
      Type: integer

      number of elements in the result array

    • tasks.result.crawl_progress
      Type: string

      status of the crawling session possible values: in_progress, finished

    • tasks.result.crawl_status
      Type: object

      details of the crawling session

    • tasks.result.items
      Type: array string[]

      items array

    • tasks.result.items_count
      Type: integer

      number of items in the results array

    • tasks.result.items.fetch_time
      Type: string

      date and time when the content was fethced example: "2022-11-01 10:02:52 +00:00"

    • tasks.result.items.page_as_markdown
      Type: string

      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

    • tasks.result.items.page_content
      Type: object

      parsed content of the page

    • tasks.result.items.page_content.comments
      Type: array string[]

      array of comments displayed on the page contains objects with information on comments related to displayed products

    • tasks.result.items.page_content.comments.author
      Type: string

      author of the comment

    • tasks.result.items.page_content.comments.max_rating_value
      Type: integer

      maximum value for the rating

    • tasks.result.items.page_content.comments.name
      Type: string

      rating name Note: this field is not used in this particular object, and its value is always null

    • tasks.result.items.page_content.comments.primary_content
      Type: array string[]

      primary content on the page you can find more information about content priority calculation in this help center article

    • tasks.result.items.page_content.comments.primary_content.text
      Type: string

      text of the comment

    • tasks.result.items.page_content.comments.primary_content.url
      Type: string

      displayed in case the text is a link anchor

    • tasks.result.items.page_content.comments.primary_content.urls
      Type: array string[]

      contains other URLs and anchors found in the content element

    • tasks.result.items.page_content.comments.publish_date
      Type: string

      date when the comment was published

    • tasks.result.items.page_content.comments.rating
      Type: object

      product’s rating contains information about the rating a customer has given to the product

    • tasks.result.items.page_content.comments.rating_count
      Type: integer

      the amount of feedback Note: this field is not used in this particular object, and its value is always null

    • tasks.result.items.page_content.comments.rating_value
      Type: integer

      the value of the rating

    • tasks.result.items.page_content.comments.relative rating
      Type: number

      relative rating can take values from 0 to 1

    • tasks.result.items.page_content.comments.title
      Type: string

      title of the customer’s comment

    • tasks.result.items.page_content.contacts
      Type: object

      contact information contains contact information displayed on the page

    • tasks.result.items.page_content.contacts.emails
      Type: array string[]

      array of emails

    • tasks.result.items.page_content.contacts.telephones
      Type: array string[]

      array of telephone numbers

    • tasks.result.items.page_content.footer
      Type: object

      parsed content of the footer

    • tasks.result.items.page_content.header
      Type: object

      parsed content of the header

    • tasks.result.items.page_content.main_topic
      Type: array string[]

      main topic on the page you can find more information about topic priority calculation in this help center article

    • tasks.result.items.page_content.main_topic.author
      Type: string

      content author name

    • tasks.result.items.page_content.main_topic.h_title
      Type: string

      meta title

    • tasks.result.items.page_content.main_topic.language
      Type: string

      content language

    • tasks.result.items.page_content.main_topic.level
      Type: string

      HTML level

    • tasks.result.items.page_content.main_topic.main_title
      Type: string

      main title of the block

    • tasks.result.items.page_content.main_topic.primary_content
      Type: array string[]

      primary content on the page you can find more information about content priority calculation in this help center article

    • tasks.result.items.page_content.main_topic.secondary_content
      Type: array string[]

      secondary content on the page you can find more information about content priority calculation in this help center article

    • tasks.result.items.page_content.main_topic.text
      Type: string

      content text

    • tasks.result.items.page_content.main_topic.url
      Type: string

      page URL displayed in case the text is a link anchor

    • tasks.result.items.page_content.main_topic.urls
      Type: array string[]

      contains other URLs and anchors found in the content element

    • tasks.result.items.page_content.main_topic.urls.anchor_text
      Type: string

      text of the URL’s anchor

    • tasks.result.items.page_content.main_topic.urls.url
      Type: string

      other URL found in the content element

    • tasks.result.items.page_content.offers
      Type: array string[]

      array of products displayed on the page contains objects with information on products displayed on the page

    • tasks.result.items.page_content.offers.name
      Type: string

      name of the product

    • tasks.result.items.page_content.offers.price
      Type: integer

      price of the product

    • tasks.result.items.page_content.offers.price_currency
      Type: string

      price currency

    • tasks.result.items.page_content.offers.price_valid_until
      Type: integer

      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"

    • tasks.result.items.page_content.primary_content
      Type: array string[]

      primary content on the page you can find more information about content priority calculation in this help center article

    • tasks.result.items.page_content.primary_content.text
      Type: string

      content text

    • tasks.result.items.page_content.primary_content.url
      Type: string

      page URL displayed in case the text is a link anchor

    • tasks.result.items.page_content.primary_content.urls
      Type: array string[]

      contains other URLs and anchors found in the content element

    • tasks.result.items.page_content.primary_content.urls.anchor_text
      Type: string

      text of the URL’s anchor

    • tasks.result.items.page_content.primary_content.urls.url
      Type: string

      other URL found in the content element

    • tasks.result.items.page_content.ratings
      Type: array string[]

      contains objects with rating information for the products displayed on the page

    • tasks.result.items.page_content.ratings.max_rating_value
      Type: integer

      maximum value for the rating

    • tasks.result.items.page_content.ratings.name
      Type: string

      rating name Note: this field is not used in this particular object, and its value is always set to null

    • tasks.result.items.page_content.ratings.rating_count
      Type: integer

      the amount of feedback

    • tasks.result.items.page_content.ratings.rating_value
      Type: integer

      the value of the rating

    • tasks.result.items.page_content.ratings.relative_rating
      Type: number

      relative rating can take values from 0 to 1

    • tasks.result.items.page_content.secondary_content
      Type: array string[]

      secondary content on the page you can find more information about content priority calculation in this help center article

    • tasks.result.items.page_content.secondary_content.text
      Type: string

      content text

    • tasks.result.items.page_content.secondary_content.url
      Type: string

      page URL displayed in case the text is a link anchor

    • tasks.result.items.page_content.secondary_content.urls
      Type: array string[]

      contains other URLs and anchors found in the content element

    • tasks.result.items.page_content.secondary_content.urls.anchor_text
      Type: string

      text of the URL’s anchor

    • tasks.result.items.page_content.secondary_content.urls.url
      Type: string

      other URL found in the content element

    • tasks.result.items.page_content.secondary_topic
      Type: array string[]

      secondary topic on the page you can find more information about topic priority calculation in this help center article

    • tasks.result.items.page_content.secondary_topic.author
      Type: string

      content author name

    • tasks.result.items.page_content.secondary_topic.h_title
      Type: string

      meta title

    • tasks.result.items.page_content.secondary_topic.language
      Type: string

      content language

    • tasks.result.items.page_content.secondary_topic.level
      Type: string

      HTML level

    • tasks.result.items.page_content.secondary_topic.main_title
      Type: string

      main title of the block

    • tasks.result.items.page_content.secondary_topic.primary_content
      Type: array string[]

      primary content on the page you can find more information about content priority calculation in this help center article

    • tasks.result.items.page_content.secondary_topic.secondary_content
      Type: array string[]

      secondary content on the page you can find more information about content priority calculation in this help center article

    • tasks.result.items.page_content.secondary_topic.text
      Type: string

      content text

    • tasks.result.items.page_content.secondary_topic.url
      Type: string

      page URL displayed in case the text is a link anchor

    • tasks.result.items.page_content.secondary_topic.urls
      Type: array string[]

      contains other URLs and anchors found in the content element

    • tasks.result.items.page_content.secondary_topic.urls.anchor_text
      Type: string

      text of the URL’s anchor

    • tasks.result.items.page_content.secondary_topic.urls.url
      Type: string

      other URL found in the content element

    • tasks.result.items.page_content.table_content
      Type: array string[]

      content of the table on the page

    • tasks.result.items.page_content.table_content.body
      Type: array string[]

      content of the body of the table

    • tasks.result.items.page_content.table_content.body.row_cells
      Type: array string[]

      content of the row cells of the header

    • tasks.result.items.page_content.table_content.body.row_cells.is_header
      Type: boolean

      indicates if the text belongs to the header

    • tasks.result.items.page_content.table_content.body.row_cells.text
      Type: string

      text in the row cell

    • tasks.result.items.page_content.table_content.body.row_cells.urls
      Type: array string[]

      contains other URLs and anchors found in the cell

    • tasks.result.items.page_content.table_content.body.row_cells.urls.anchor_text
      Type: string

      text of the URL’s anchor

    • tasks.result.items.page_content.table_content.body.row_cells.urls.url
      Type: string

      URL found in the cell

    • tasks.result.items.page_content.table_content.footer
      Type: array string[]

      content of the footer of the table

    • tasks.result.items.page_content.table_content.footer.row_cells
      Type: array string[]

      content of the row cells of the header

    • tasks.result.items.page_content.table_content.footer.row_cells.is_header
      Type: boolean

      indicates if the text belongs to the header

    • tasks.result.items.page_content.table_content.footer.row_cells.text
      Type: string

      text in the row cell

    • tasks.result.items.page_content.table_content.footer.row_cells.urls
      Type: array string[]

      contains other URLs and anchors found in the cell

    • tasks.result.items.page_content.table_content.footer.row_cells.urls.anchor_text
      Type: string

      text of the URL’s anchor

    • tasks.result.items.page_content.table_content.footer.row_cells.urls.url
      Type: string

      URL found in the cell

    • tasks.result.items.page_content.table_content.header
      Type: array string[]

      content of the header of the table

    • tasks.result.items.page_content.table_content.header.row_cells
      Type: array string[]

      content of the row cells of the header

    • tasks.result.items.page_content.table_content.header.row_cells.is_header
      Type: boolean

      indicates if the text belongs to the header

    • tasks.result.items.page_content.table_content.header.row_cells.text
      Type: string

      text in the row cell

    • tasks.result.items.page_content.table_content.header.row_cells.urls
      Type: array string[]

      contains other URLs and anchors found in the cell

    • tasks.result.items.page_content.table_content.header.row_cells.urls.anchor_text
      Type: string

      text of the URL’s anchor

    • tasks.result.items.page_content.table_content.header.row_cells.urls.url
      Type: string

      URL found in the cell

    • tasks.result.items.status_code
      Type: integer

      status code of the page

    • tasks.result.items.type
      Type: string

      type of the returned item = ‘сontent_parsing_element’

    • tasks.status_code
      Type: integer

      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

    • tasks.status_message
      Type: string

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

    • tasks.time
      Type: string

      execution time, seconds

    • time
      Type: string

      execution time, seconds

    • version
      Type: string

      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.

Request Example for post/v1/beta/dataforseo/on_page/content_parsing
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/content_parsing \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '[
  {
    "url": "",
    "id": "",
    "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"
}
OnPage API Content Parsing