# Live-парсинг контента OnPage API

**API:** Data API

**Endpoint:** `POST /v1/beta/dataforseo/on_page/content_parsing/live`

**Tags:** DataForSEO

Сразу разбирает любой `url` в структурированный контент без сканирования — единственный инструмент в этом семействе, работающий отдельно. `browser_preset`, `browser_screen_width`, `browser_screen_height` и `custom_user_agent` управляют рендерингом, `disable_cookie_popup` убирает баннеры согласия, `store_raw_html` сохраняет исходник. Ответ обёрнут в конверт DataForSEO: данные в `tasks[0].result`, результат в `tasks[0].status_code` — отклонённый запрос всё равно возвращает HTTP 200. Для страниц, уже входящих в сканирование, используйте бесплатный `post_dataforseo_on_page_content_parsing`.

### Справочная информация о ценах

- Тарификация: заявленная стоимость ответа.
- Справочная оценка запроса: USD 0.0001.
- Справочный множитель для клиента: 1.0. Не применяйте его повторно к уже рассчитанной сумме клиента.

Только справочные метаданные, а не котировка для аккаунта, гарантированная цена или лимит расходов. Кредиты ресурсов — не кредиты Felo. Итоговые списания определяются записями биллинга Felo.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Request body

Required: **no**

### application/json

Schema:

```json
{
  "type": "array",
  "items": {
    "type": [
      "object",
      "null"
    ],
    "oneOf": [
      {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "<em>URL контента для парсинга</em><br><strong>обязательное поле</strong><br>URL страницы для парсинга<br>пример:<br>`https://www.fujielectric.com/`"
          },
          "custom_user_agent": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>пользовательский user agent</em><br>необязательное поле<br>пользовательский user agent для обхода веб-сайта<br>пример: <code>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<br></code><br>значение по умолчанию: <code>Mozilla/5.0 (compatible; RSiteAuditor)</code>"
          },
          "browser_preset": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>пресет параметров экрана браузера</em><br>необязательное поле<br>если вы используете это поле, указывать <code>browser_screen_width</code>, <code>browser_screen_height</code>, <code>browser_screen_scale_factor</code> не нужно<p>            возможные значения:<br><code>desktop</code>, <code>mobile</code>, <code>tablet</code><p>            пресет <code>desktop</code> применяет следующие значения:<p>            <code>browser_screen_width: 1920</code><br><code>browser_screen_height: 1080</code><br><code>browser_screen_scale_factor: 1</code><p>            пресет <code>mobile</code> применяет следующие значения:<p>            <code>browser_screen_width: 390</code><br><code>browser_screen_height: 844</code><br><code>browser_screen_scale_factor: 3</code><p>            пресет <code>tablet</code> применяет следующие значения:<p>            <code>browser_screen_width: 1024</code><br><code>browser_screen_height: 1366</code><br><code>browser_screen_scale_factor: 2</code><p>            <strong>Примечание:</strong> чтобы использовать этот параметр, задайте для <code>enable_javascript</code> или <code>enable_browser_rendering</code> значение <code>true</code>"
          },
          "browser_screen_width": {
            "type": [
              "integer",
              "null"
            ],
            "description": "<em>ширина экрана браузера</em><br>необязательное поле<br>можно задать собственную ширину экрана браузера для аудита конкретного устройства;<br>если вы используете это поле, указывать <code>browser_preset</code> не нужно, так как он будет проигнорирован;<p>            <strong>Примечание:</strong> чтобы использовать этот параметр, задайте для <code>enable_javascript</code> или <code>enable_browser_rendering</code> значение <code>true</code><p>            минимальное значение в пикселях: <code>240</code><br>максимальное значение в пикселях: <code>9999</code>",
            "format": "int64"
          },
          "browser_screen_height": {
            "type": [
              "integer",
              "null"
            ],
            "description": "<em>высота экрана браузера</em><br>необязательное поле<br>можно задать собственную высоту экрана браузера для аудита конкретного устройства;<br>если вы используете это поле, указывать <code>browser_preset</code> не нужно, так как он будет проигнорирован;<p>            <strong>Примечание:</strong> чтобы использовать этот параметр, задайте для <code>enable_javascript</code> или <code>enable_browser_rendering</code> значение <code>true</code><p>            минимальное значение в пикселях: <code>240</code><br>максимальное значение в пикселях: <code>9999</code>"
          },
          "browser_screen_scale_factor": {
            "type": [
              "number",
              "null"
            ],
            "description": "<em>масштаб экрана браузера</em><br>необязательное поле<br>можно задать собственное соотношение разрешения экрана браузера для аудита конкретного устройства;<br>если вы используете это поле, указывать <code>browser_preset</code> не нужно, так как он будет проигнорирован;<p>            <strong>Примечание:</strong> чтобы использовать этот параметр, задайте для <code>enable_javascript</code> или <code>enable_browser_rendering</code> значение <code>true</code><p>            минимальное значение: <code>0.5</code><br>максимальное значение: <code>3</code>"
          },
          "store_raw_html": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "<em>сохранять HTML просканированной страницы</em><br>необязательное поле<br>задайте <code>true</code>, если хотите получить HTML страницы с помощью <a href=\"/v3/on_page/raw_html/\" target=\"_blank\" rel=\"noopener noreferrer\">эндпоинта OnPage Raw HTML</a><br>значение по умолчанию: <code>false</code>"
          },
          "disable_cookie_popup": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "<em>отключить всплывающее окно cookie </em><br>необязательное поле<br>задайте <code>true</code>, если хотите отключить всплывающее окно с запросом согласия на использование cookie;<br>значение по умолчанию:<br><code>false</code>"
          },
          "accept_language": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>языковой заголовок для доступа к веб-сайту</em><br>необязательное поле<br>поддерживаются все форматы локалей (xx, xx-XX, xxx-XX и т. д.)<br><strong>Примечание:</strong> если не указать этот параметр, некоторые веб-сайты могут отказать в доступе; в этом случае страницы будут возвращены с <code>\"type\":\"broken</code> в массиве ответа"
          },
          "enable_javascript": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "<em>загружать JavaScript на странице</em><br>необязательное поле<br>задайте <code>true</code>, если хотите загружать скрипты, доступные на странице<br>значение по умолчанию: <code>false</code><br><strong>Примечание:</strong> при использовании этого параметра взимается дополнительная плата; подробнее о стоимости задач с этим параметром — <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" rel=\"noopener noreferrer\" target=\"_blank\">в нашей статье справки</a>; стоимость можно рассчитать на <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">странице Pricing</a>"
          },
          "enable_browser_rendering": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "<em>эмуляция рендеринга браузера для измерения Core Web Vitals</em><br>необязательное поле<br>этот параметр позволяет эмулировать браузер при загрузке веб-страницы;<br><code>enable_browser_rendering</code> загружает стили, изображения, шрифты, анимации, видео и другие ресурсы страницы;<br>значение по умолчанию: <code>false</code><br>задайте <code>true</code>, чтобы получить в ответе метрики Core Web Vitals (FID, CLS, LCP);<br><strong>если вы используете это поле, параметрам <code>enable_javascript</code> и <code>load_resources</code> нужно задать значение <code>true</code></strong><br><strong>Примечание:</strong> при использовании этого параметра взимается дополнительная плата; подробнее о стоимости задач с этим параметром — <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" rel=\"noopener noreferrer\" target=\"_blank\">в нашей статье справки</a>; стоимость можно рассчитать на <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" rel=\"noopener noreferrer\" target=\"_blank\">странице Pricing</a>"
          },
          "enable_xhr": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "<em>включить XMLHttpRequest на странице</em><br>необязательное поле<br>задайте <code>true</code>, если хотите, чтобы наш краулер запрашивал данные у веб-сервера с помощью объекта XMLHttpRequest<br>значение по умолчанию:<br><code>false</code><p>            если вы используете это поле, параметр <code>enable_javascript</code> должен иметь значение <code>true</code>;"
          },
          "switch_pool": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "<em>переключение пула прокси</em><br>необязательное поле<br>если <code>true</code>, для получения запрошенных данных будут использоваться дополнительные пулы прокси;<br>параметр можно использовать, если одновременно задано множество задач, что приводит к периодическим ошибкам <code>rate-limit</code> и/или <code>site_unreachable</code>"
          },
          "ip_pool_for_scan": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>пул прокси</em><br>необязательное поле<br>можно выбрать расположение пула прокси, который будет использоваться для получения запрошенных данных;<br>параметр можно использовать, если содержимое страницы недоступно в одном из расположений, что приводит к периодическим ошибкам <code>site_unreachable</code><br>возможные значения: <code>us</code>, <code>de</code>"
          },
          "markdown_view": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "<em>возвращать содержимое страницы в формате markdown</em><br>необязательное поле<br>если задано <code>true</code>, содержимое страницы в формате markdown будет возвращено в поле <code>page_as_markdown</code> ответа;<br>значение по умолчанию: <code>false</code>"
          }
        },
        "example": [
          {
            "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
          }
        ]
      }
    ]
  },
  "example": [
    {
      "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
    }
  ]
}
```

## Responses

### 200 — Успешная операция

Headers:
- `X-Request-Id` (string) — Идентификатор запроса, который нужно указать при обращении в поддержку Felo.

**application/json**

Schema: object | null

```json
{
  "type": [
    "object",
    "null"
  ],
  "oneOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_OnPageContentParsingLiveResponseInfo"
    }
  ]
}
```

### 400 — Запрос не удалось обработать. Проверьте параметры запроса.

### 401 — Требуется действительный API-ключ Felo.

### 402 — Запрос не может быть выполнен: не выполнено требование биллинга.

### 403 — Аккаунту не разрешено выполнять эту операцию.

### 429 — Достигнут лимит запросов или расходов.

### 502 — Сервис не смог выполнить запрос.

### 503 — API или сервис биллинга временно недоступны.

### 504 — Истекло время ожидания обработки запроса.

### default — Ответ с ошибкой; сквозные ответы upstream могут использовать форматы провайдера

**application/json**

Schema:

```json
{}
```

## Schema definitions

### Response36Afe1097B20_BaseResponseInfo

`#/components/schemas/Response36Afe1097B20_BaseResponseInfo`

```json
{
  "properties": {
    "version": {
      "type": [
        "string",
        "null"
      ],
      "description": "текущая версия API"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "общий код состояния.\nПолный список кодов ответа можно найти здесь."
    },
    "status_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "общее информационное сообщение.\nПолный список общих информационных сообщений можно найти здесь."
    },
    "time": {
      "type": [
        "string",
        "null"
      ],
      "description": "общее время выполнения, секунды"
    },
    "cost": {
      "type": [
        "number",
        "null"
      ],
      "description": "общая стоимость задач, USD",
      "format": "double"
    },
    "tasks_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "число задач в массиве tasks",
      "format": "int64"
    },
    "tasks_error": {
      "type": [
        "integer",
        "null"
      ],
      "description": "число задач в массиве tasks, возвращённых с ошибкой",
      "format": "int64"
    }
  }
}
```

### Response36Afe1097B20_BaseResponseTaskInfo

`#/components/schemas/Response36Afe1097B20_BaseResponseTaskInfo`

```json
{
  "properties": {
    "id": {
      "type": [
        "string",
        "null"
      ],
      "description": "идентификатор задачи\nуникальный идентификатор задачи в нашей системе в формате UUID"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "код состояния задачи\nформируется DataForSEO, может находиться в диапазоне 10000-60000\nПолный список кодов ответа можно найти здесь."
    },
    "status_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "информационное сообщение задачи\nПолный список общих информационных сообщений можно найти здесь."
    },
    "time": {
      "type": [
        "string",
        "null"
      ],
      "description": "время выполнения, секунды"
    },
    "cost": {
      "type": [
        "number",
        "null"
      ],
      "description": "общая стоимость задач, USD",
      "format": "double"
    },
    "result_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "число элементов в массиве result",
      "format": "int64"
    },
    "path": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "путь URL"
    },
    "data": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "type": [
          "object",
          "null"
        ]
      },
      "description": "содержит те же параметры, что вы указали в POST-запросе"
    }
  }
}
```

### Response36Afe1097B20_Contacts

`#/components/schemas/Response36Afe1097B20_Contacts`

```json
{
  "type": "object",
  "properties": {
    "telephones": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "<em>массив номеров телефонов</em><br>"
    },
    "emails": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "<em>массив адресов электронной почты</em><br>"
    }
  }
}
```

### Response36Afe1097B20_ContentCommentInfo

`#/components/schemas/Response36Afe1097B20_ContentCommentInfo`

```json
{
  "type": "object",
  "properties": {
    "rating": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_ContententRatingInfo"
        }
      ],
      "description": "рейтинг продукта\nсодержит информацию о рейтинге, который клиент поставил продукту"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "заголовок комментария клиента"
    },
    "publish_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "дата публикации комментария"
    },
    "author": {
      "type": [
        "string",
        "null"
      ],
      "description": "автор комментария"
    },
    "have_form": {
      "type": [
        "boolean",
        "null"
      ],
      "description": ""
    },
    "primary_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_SectionContentItemInfo"
          }
        ]
      },
      "description": "основной контент на странице\nПодробнее о расчёте приоритета контента — в этой статье справочного центра"
    }
  }
}
```

### Response36Afe1097B20_ContentOfferInfo

`#/components/schemas/Response36Afe1097B20_ContentOfferInfo`

```json
{
  "type": "object",
  "properties": {
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "название продукта"
    },
    "price": {
      "type": [
        "number",
        "null"
      ],
      "description": "цена продукта",
      "format": "double"
    },
    "price_currency": {
      "type": [
        "string",
        "null"
      ],
      "description": "валюта цены"
    },
    "price_valid_until": {
      "type": [
        "string",
        "null"
      ],
      "description": "отображает дату и время, до которых цена действительна\nв формате UTC: “yyyy-mm-dd hh-mm-ss +00:00”\nпример: \"2022-11-01 10:02:52 +00:00\""
    }
  }
}
```

### Response36Afe1097B20_ContentParsingElement

`#/components/schemas/Response36Afe1097B20_ContentParsingElement`

```json
{
  "type": "object",
  "properties": {
    "type": {
      "type": [
        "string",
        "null"
      ],
      "description": "тип элемента"
    },
    "fetch_time": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>дата и время получения контента</em><br>пример:<br><code>\"2022-11-01 10:02:52 +00:00\"</code>"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<i>общий код состояния</i><br>полный список кодов ответа можно найти <a href=\"/v3/appendix/errors\">здесь</a><br><strong>Примечание:</strong> мы настоятельно рекомендуем предусмотреть систему обработки связанных исключительных ситуаций и ошибок"
    },
    "page_content": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_PageContentInfo"
        }
      ],
      "description": "<em>разобранное содержимое страницы</em><br>"
    },
    "page_as_markdown": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>содержимое страницы в формате markdown</em><br>содержимое страницы в <a href=\"https://daringfireball.net/projects/markdown/\" target=\"_blank\">формате text-to-HTML markdown</a><br>чтобы вернуть значение, укажите <code>markdown_view</code> как <code>true</code> в запросе"
    }
  }
}
```

### Response36Afe1097B20_ContentUrlInfo

`#/components/schemas/Response36Afe1097B20_ContentUrlInfo`

```json
{
  "type": "object",
  "properties": {
    "url": {
      "type": [
        "string",
        "null"
      ],
      "description": "содержит другие URL и якоря, найденные в элементе контента"
    },
    "anchor_text": {
      "type": [
        "string",
        "null"
      ],
      "description": "текст якоря URL"
    }
  }
}
```

### Response36Afe1097B20_ContententRatingInfo

`#/components/schemas/Response36Afe1097B20_ContententRatingInfo`

```json
{
  "type": "object",
  "properties": {
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "название рейтинга\nздесь можно найти следующие элементы: Max5, Percents, CustomMax"
    },
    "rating_value": {
      "type": [
        "number",
        "null"
      ],
      "description": "значение рейтинга",
      "format": "double"
    },
    "rating_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "количество голосов",
      "format": "int64"
    },
    "max_rating_value": {
      "type": [
        "number",
        "null"
      ],
      "description": "максимальное значение для названия рейтинга",
      "format": "double"
    },
    "relative_rating": {
      "type": [
        "number",
        "null"
      ],
      "description": "относительный рейтинг",
      "format": "double"
    }
  }
}
```

### Response36Afe1097B20_CrawlStatusInfo

`#/components/schemas/Response36Afe1097B20_CrawlStatusInfo`

```json
{
  "type": "object",
  "properties": {
    "max_crawl_pages": {
      "type": [
        "integer",
        "null"
      ],
      "description": "максимальное количество страниц для обхода\nуказывает заданный при постановке задачи лимит max_crawl_pages",
      "format": "int64"
    },
    "pages_in_queue": {
      "type": [
        "integer",
        "null"
      ],
      "description": "количество страниц, которые сейчас находятся в очереди на сканирование",
      "format": "int64"
    },
    "pages_crawled": {
      "type": [
        "integer",
        "null"
      ],
      "description": "количество просканированных страниц",
      "format": "int64"
    }
  }
}
```

### Response36Afe1097B20_OnPageContentParsingLiveResponseInfo

`#/components/schemas/Response36Afe1097B20_OnPageContentParsingLiveResponseInfo`

```json
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_BaseResponseInfo"
    },
    {
      "type": "object",
      "properties": {
        "tasks": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": [
              "object",
              "null"
            ],
            "oneOf": [
              {
                "$ref": "#/components/schemas/Response36Afe1097B20_OnPageContentParsingLiveTaskInfo"
              }
            ]
          },
          "description": "<em>массив задач</em>"
        }
      }
    }
  ]
}
```

### Response36Afe1097B20_OnPageContentParsingLiveResultInfo

`#/components/schemas/Response36Afe1097B20_OnPageContentParsingLiveResultInfo`

```json
{
  "type": "object",
  "properties": {
    "crawl_progress": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>статус сеанса сканирования</em><br>возможные значения: <code>in_progress</code>, <code>finished</code>"
    },
    "crawl_status": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_CrawlStatusInfo"
        }
      ],
      "description": "<em>сведения о сеансе сканирования</em>"
    },
    "items_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>количество элементов в массиве результатов</em>",
      "format": "int64"
    },
    "items": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContentParsingElement"
          }
        ]
      },
      "description": "<em>массив элементов</em>"
    }
  }
}
```

### Response36Afe1097B20_OnPageContentParsingLiveTaskInfo

`#/components/schemas/Response36Afe1097B20_OnPageContentParsingLiveTaskInfo`

```json
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_BaseResponseTaskInfo"
    },
    {
      "type": "object",
      "properties": {
        "result": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": [
              "object",
              "null"
            ],
            "oneOf": [
              {
                "$ref": "#/components/schemas/Response36Afe1097B20_OnPageContentParsingLiveResultInfo"
              }
            ]
          },
          "description": "<em>массив результатов</em>"
        }
      }
    }
  ]
}
```

### Response36Afe1097B20_PageContentInfo

`#/components/schemas/Response36Afe1097B20_PageContentInfo`

```json
{
  "type": "object",
  "properties": {
    "header": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_PageSectionContentInfo"
        }
      ],
      "description": "<em>разобранное содержимое заголовка</em><br>"
    },
    "footer": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_PageSectionContentInfo"
        }
      ],
      "description": "<em>содержимое нижнего колонтитула таблицы</em><br>"
    },
    "main_topic": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TopicInfo"
          }
        ]
      },
      "description": "<em>основная тема на странице</em><br>            подробнее о расчёте приоритета тем — в <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content#topics\" rel=\"noopener noreferrer\" target=\"_blank\">этой статье справочного центра</a><br>"
    },
    "secondary_topic": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TopicInfo"
          }
        ]
      },
      "description": "<em>второстепенная тема на странице</em><br>            подробнее о расчёте приоритета тем — в <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content#topics\" rel=\"noopener noreferrer\" target=\"_blank\">этой статье справочного центра</a><br>"
    },
    "ratings": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContententRatingInfo"
          }
        ]
      },
      "description": "<em>содержит объекты с информацией о рейтинге товаров, отображаемых на странице</em><br>"
    },
    "offers": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContentOfferInfo"
          }
        ]
      },
      "description": "<em>массив товаров, отображаемых на странице</em><br>            содержит объекты с информацией о товарах, отображаемых на странице"
    },
    "comments": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContentCommentInfo"
          }
        ]
      },
      "description": "<em>массив комментариев, отображаемых на странице</em><br>            содержит объекты с информацией о комментариях к отображаемым товарам"
    },
    "contacts": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_Contacts"
        }
      ],
      "description": "<em>контактная информация</em><br>            содержит контактную информацию, отображаемую на странице"
    }
  }
}
```

### Response36Afe1097B20_PageSectionContentInfo

`#/components/schemas/Response36Afe1097B20_PageSectionContentInfo`

```json
{
  "type": "object",
  "properties": {
    "primary_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_SectionContentItemInfo"
          }
        ]
      },
      "description": "<em>основной контент на странице</em><br>            подробнее о расчёте приоритета контента читайте в <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content\" rel=\"noopener noreferrer\" target=\"_blank\">этой статье справочного центра</a><br>"
    },
    "secondary_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_SectionContentItemInfo"
          }
        ]
      },
      "description": "<em>вторичный контент на странице</em><br>            подробнее о расчёте приоритета контента читайте в <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content\" rel=\"noopener noreferrer\" target=\"_blank\">этой статье справочного центра</a><br>"
    },
    "table_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TableContentInfo"
          }
        ]
      },
      "description": "<em>содержимое таблицы на странице</em><br>"
    }
  }
}
```

### Response36Afe1097B20_RowCellInfo

`#/components/schemas/Response36Afe1097B20_RowCellInfo`

```json
{
  "type": "object",
  "properties": {
    "text": {
      "type": [
        "string",
        "null"
      ],
      "description": "содержимое ячеек строки заголовка"
    },
    "urls": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContentUrlInfo"
          }
        ]
      },
      "description": "содержит другие URL и якоря, найденные в элементе контента"
    },
    "is_header": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "содержимое ячеек строки заголовка"
    }
  }
}
```

### Response36Afe1097B20_SectionContentItemInfo

`#/components/schemas/Response36Afe1097B20_SectionContentItemInfo`

```json
{
  "type": "object",
  "properties": {
    "text": {
      "type": [
        "string",
        "null"
      ],
      "description": "вторичный контент на странице\nподробнее о расчёте приоритета контента читайте в этой статье справочного центра"
    },
    "url": {
      "type": [
        "string",
        "null"
      ],
      "description": "URL страницы.\nотображается, если текст является якорем ссылки"
    },
    "urls": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContentUrlInfo"
          }
        ]
      },
      "description": "содержит другие URL и якоря, найденные в элементе контента"
    }
  }
}
```

### Response36Afe1097B20_TableContentInfo

`#/components/schemas/Response36Afe1097B20_TableContentInfo`

```json
{
  "type": "object",
  "properties": {
    "header": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TableContentItemInfo"
          }
        ]
      },
      "description": "разобранное содержимое заголовка"
    },
    "body": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TableContentItemInfo"
          }
        ]
      },
      "description": "содержимое тела таблицы"
    },
    "footer": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TableContentItemInfo"
          }
        ]
      },
      "description": "содержимое нижнего колонтитула таблицы"
    }
  }
}
```

### Response36Afe1097B20_TableContentItemInfo

`#/components/schemas/Response36Afe1097B20_TableContentItemInfo`

```json
{
  "type": "object",
  "properties": {
    "row_cells": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_RowCellInfo"
          }
        ]
      },
      "description": "содержимое ячеек строки заголовка"
    }
  }
}
```

### Response36Afe1097B20_TopicInfo

`#/components/schemas/Response36Afe1097B20_TopicInfo`

```json
{
  "type": "object",
  "properties": {
    "h_title": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>метазаголовок</em><br>"
    },
    "main_title": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>  основной заголовок блока</em><br>"
    },
    "author": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>имя автора контента</em><br>"
    },
    "language": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>язык контента</em><br>"
    },
    "level": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>уровень HTML</em><br>"
    },
    "primary_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_SectionContentItemInfo"
          }
        ]
      },
      "description": "<em>основной контент на странице</em><br>            подробнее о расчёте приоритета контента читайте в <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content\" rel=\"noopener noreferrer\" target=\"_blank\">этой статье справочного центра</a><br>"
    },
    "secondary_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_SectionContentItemInfo"
          }
        ]
      },
      "description": "<em>вторичный контент на странице</em><br>            подробнее о расчёте приоритета контента читайте в <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content\" rel=\"noopener noreferrer\" target=\"_blank\">этой статье справочного центра</a><br>"
    },
    "table_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TableContentInfo"
          }
        ]
      },
      "description": "<em>содержимое таблицы на странице</em><br>"
    }
  }
}
```
