Felo API PlatformFelo API Platform
Все эндпоинты DataForSEO
v0.2.0-beta
OpenAPI 3.1.0

Постановка задач OnPage

Сервер:https://openapi.felo.ai
Клиентские библиотеки

DataForSEO

​

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

Постановка задач OnPage

​

Запускает обход target и возвращает id задачи в tasks[0].id — этот id нужен всем остальным инструментам семейства, сохраните его. max_crawl_pages ограничивает обход, start_url, max_crawl_depth, priority_urls и crawl_delay задают его форму, а store_raw_html определяет, будет ли у post_dataforseo_on_page_raw_html что возвращать позже. Ответ обёрнут в конверт DataForSEO: данные в tasks[0].result, результат в tasks[0].status_code — отклонённый запрос всё равно возвращает HTTP 200. ⚠️ Это не обычная пара «отправка/получение»: обход — это сеанс, который затем опрашивают по id десятки других инструментов. Опрашивайте get_dataforseo_on_page_summary, пока crawl_progress не станет finished; обход example.com на одну страницу занял заметно меньше минуты.

Справочные цены

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

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

Тело
application/json
  • Тип: array (object | null)[]
    • accept_language
      Тип: string | null

      языковой заголовок для доступа к веб-сайту
      необязательное поле
      поддерживаются все форматы локалей (xx, xx-XX, xxx-XX и т. д.)
      Примечание: если не указать этот параметр, некоторые веб-сайты могут отказать в доступе; в этом случае страницы будут возвращены с "type":"broken в массиве ответа

    • allow_subdomains
      Тип: boolean | null

      включать страницы на поддоменах
      необязательное поле
      задайте true, если хотите обходить все поддомены целевого веб-сайта
      значение по умолчанию: false

    • allowed_subdomains
      Тип: array string[] | null

      поддомены для обхода
      необязательное поле
      укажите поддомены, которые хотите обойти
      пример: ["blog.site.com", "my.site.com", "shop.site.com"]
      Примечание: чтобы использовать этот параметр, параметр allow_subdomains должен иметь значение false;
      иначе содержимое поля allowed_subdomains будет проигнорировано, и результаты будут возвращены для всех поддоменов

    • browser_preset
      Тип: string | null

      пресет параметров экрана браузера
      необязательное поле
      если вы используете это поле, указывать browser_screen_width, browser_screen_height, browser_screen_scale_factor не нужно. возможные значения:
      desktop, mobile, tabletdesktop пресет применяет следующие значения:browser_screen_width: 1920
      browser_screen_height: 1080
      browser_screen_scale_factor: 1mobile пресет применяет следующие значения:browser_screen_width: 390
      browser_screen_height: 844
      browser_screen_scale_factor: 3tablet пресет применяет следующие значения:browser_screen_width: 1024
      browser_screen_height: 1366
      browser_screen_scale_factor: 2
      Примечание: чтобы использовать этот параметр, задайте для enable_javascript или enable_browser_rendering значение true

    • browser_screen_height
      Тип: integer | null

      высота экрана браузера
      необязательное поле
      можно задать собственную высоту экрана браузера для аудита конкретного устройства;
      если вы используете это поле, указывать browser_preset не нужно, так как он будет проигнорирован;
      Примечание: чтобы использовать этот параметр, задайте для enable_javascript или enable_browser_rendering значение true минимальное значение в пикселях: 240
      максимальное значение в пикселях: 9999

    • browser_screen_scale_factor
      Тип: number | null

      масштаб экрана браузера
      необязательное поле
      можно задать собственное соотношение разрешения экрана браузера для аудита конкретного устройства;
      если вы используете это поле, указывать browser_preset не нужно, так как он будет проигнорирован;
      Примечание: чтобы использовать этот параметр, задайте для enable_javascript или enable_browser_rendering значение true минимальное значение: 0.5
      максимальное значение: 3

    • browser_screen_width
      Тип: integer | null Формат: int64

      ширина экрана браузера
      необязательное поле
      можно задать собственную ширину экрана браузера для аудита конкретного устройства;
      если вы используете это поле, указывать browser_preset не нужно, так как он будет проигнорирован;
      Примечание: чтобы использовать этот параметр, задайте для enable_javascript или enable_browser_rendering значение true минимальное значение в пикселях: 240
      максимальное значение в пикселях: 9999

    • calculate_keyword_density
      Тип: boolean | null

      рассчитывать плотность ключевых слов для целевого домена
      необязательное поле
      задайте true, если хотите рассчитать плотность ключевых слов для страниц веб-сайта
      значение по умолчанию: false
      Примечание: при использовании этого параметра взимается дополнительная плата; подробнее о стоимости задач с этим параметром — в нашей статье справки
      после завершения обхода значения плотности ключевых слов можно получить с помощью эндпоинта Keyword Density

    • check_spell
      Тип: boolean | null

      проверять орфографию
      необязательное поле
      задайте true, чтобы проверять орфографию на веб-сайте с помощью библиотеки Hunspell
      значение по умолчанию: false

    • check_spell_exceptions
      Тип: array string[] | null

      слова, исключаемые из проверки орфографии
      необязательное поле
      укажите слова, которые нужно исключить из проверки орфографии
      максимальная длина слова: 100 символов
      максимальное количество слов: 1000
      пример: "SERP", "minifiers", "JavaScript"

    • check_spell_language
      Тип: string | null

      язык проверки орфографии
      необязательное поле
      поддерживаемые языки: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'
      Примечание: если язык не указан, он будет установлен автоматически на основе содержимого страницы

    • checks_threshold
      Тип: object | null

      пользовательские пороговые значения для проверок
      необязательное поле
      можно указать пользовательские пороговые значения для параметров, входящих в объект checks ответов OnPage API;
      Примечание: изменять можно только целочисленные пороговые значения;
      например, параметры high_loading_time и large_page_size по умолчанию равны 3 секундам и 1 мегабайту соответственно;
      если вы хотите изменить эти пороги на 1 секунду и 1000 КБ, используйте следующий фрагмент:
      "checks_threshold": {<br>"high_loading_time": 1,<br>"large_page_size": 1000<br>}
      доступные настраиваемые параметры со значениями по умолчанию:
      "title_too_short", default value: 30, type: "int"<br>"title_too_long", default value: 65, type: "int"<br>"small_page_size", default value: 1024, type: "int"<br>"large_page_size", default value: 1048576 (1024 * 1024), type: "int"<br>"low_character_count", default value: 1024, type: "int"<br>"high_character_count", default value: 256000 (250 * 1024), type: "int"<br>"low_content_rate", default value: 0.1, type: "float"<br>"high_content_rate", default value: 0.9, type: "float"<br>"high_loading_time", default value: 3000, type: "int"<br>"high_waiting_time", default value: 1500, type: "int"<br>"low_readability_rate", default value: 15.0, type: "float"<br>"irrelevant_description", default value: 0.2, type: "float"<br>"irrelevant_title", default value: 0.3, type: "float"<br>"irrelevant_meta_keywords", default value: 0.6, type: "float"

      • propertyName
        Тип: integer | null Формат: int64

        Signed 64-bit integers (long type).

    • crawl_delay
      Тип: integer | null

      задержка между запросами, мс
      необязательное поле
      пользовательская задержка между запросами краулера к серверу
      значение по умолчанию: 2000

    • crawl_sitemap_only
      Тип: boolean | null

      обходить только страницы, указанные в sitemap
      необязательное поле
      установите true, чтобы обходить только страницы, указанные в sitemap
      если задать этот параметр как true и не указывать custom_sitemap, мы обойдём sitemap по умолчанию
      значение по умолчанию: false
      Примечание: чтобы использовать этот параметр, respect_sitemap должен быть true

    • custom_js
      Тип: string | null

      пользовательский javascript
      необязательное поле
      Примечание: время выполнения скрипта, который вы вводите здесь, должно быть не более 700 мс; например, следующий JS-фрагмент проверяет, содержит ли сайт Google Tag Manager в атрибуте scr:
      let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i < document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute("src");rn if (src != undefined) {rn if (src.indexOf("analytics.js") >= 0)rn meta.haveGoogleAnalytics = true;rntif (src.indexOf("gtm.js") >= 0)rn meta.haveTagManager = true;rn }rn}rnmeta;Возвращаемое значение зависит от того, что вы указали в этом поле. Например, если указать такой скрипт:
      meta = {}; meta.url = document.URL; meta.test = 'test'; meta;
      в ответ вы получите следующие данные:
      "custom_js_response": {<br>"url": "https://dataforseo.com/",<br>"test": "test"<br>}
      Примечание: длина вводимого скрипта не должна превышать 2000 символов

    • custom_robots_txt
      Тип: string | null

      пользовательские настройки robots.txt
      необязательное поле
      пример: Disallow: /directory1/

    • custom_sitemap
      Тип: string | null

      URL пользовательского sitemap
      необязательное поле
      URL страницы, на которой расположен альтернативный sitemap
      Примечание: чтобы использовать этот параметр, respect_sitemap должен быть true

    • custom_user_agent
      Тип: string | null

      пользовательский user agent
      необязательное поле
      пользовательский user agent для обхода веб-сайта
      пример: 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

      значение по умолчанию: Mozilla/5.0 (compatible; RSiteAuditor)

    • disable_cookie_popup
      Тип: boolean | null

      отключить всплывающее окно с согласием на cookie
      необязательное поле
      установите true, чтобы отключить всплывающее окно с запросом согласия на использование cookie;
      значение по умолчанию:
      false

    • disable_page_checks
      Тип: array string[] | null

      запретить выполнение отдельных проверок страницы
      необязательное поле
      укажите определённые checks, чтобы они не выполнялись и не влияли на onpage_scoreпример:
      "disable_page_checks": ["is_5xx_code", "is_4xx_code"]

    • disable_sitewide_checks
      Тип: array string[] | null

      запретить выполнение отдельных проверок всего сайта
      необязательное поле
      укажите следующие checks, чтобы они не выполнялись на сайте target:
      "test_page_not_found"
      "test_canonicalization"
      "test_https_redirect"
      "test_directory_browsing"пример:
      "disable_sitewide_checks": ["test_directory_browsing", "test_page_not_found"]подробнее в справочном центре

    • disallowed_subdomains
      Тип: array string[] | null

      поддомены, которые не нужно обходить
      необязательное поле
      укажите поддомены, которые вы не хотите обходить
      пример: ["status.site.com", "docs.site.com"]
      Примечание: чтобы использовать этот параметр, параметр allow_subdomains должен быть установлен в true

    • enable_browser_rendering
      Тип: boolean | null

      эмуляция браузера для измерения Core Web Vitals
      необязательное поле
      с этим параметром можно эмулировать браузер при загрузке веб-страницы;
      enable_browser_rendering загружает стили, изображения, шрифты, анимации, видео и другие ресурсы страницы;
      значение по умолчанию: false
      установите true, чтобы получать в ответе метрики Core Web Vitals (FID, CLS, LCP);
      если вы используете это поле, параметры enable_javascript и load_resources должны быть установлены в true
      Примечание: использование этого параметра влечёт дополнительные расходы; подробнее о стоимости задач с этим параметром — в справочной статье; стоимость можно рассчитать на странице Тарифы

    • enable_content_parsing
      Тип: boolean | null

      разбор контента обойдённых страниц
      необязательное поле
      установите true, чтобы использовать эндпоинт OnPage Content Parsing
      значение по умолчанию: false

    • enable_javascript
      Тип: boolean | null

      загружать javascript на странице
      необязательное поле
      установите true, чтобы загружать скрипты, доступные на странице
      значение по умолчанию: false
      Примечание: использование этого параметра влечёт дополнительные расходы; подробнее о стоимости задач с этим параметром — в справочной статье; стоимость можно рассчитать на странице Тарифы

    • enable_www_redirect_check
      Тип: boolean | null

      проверять, настроена ли на домене переадресация www
      необязательное поле
      установите true, чтобы проверить, настроена ли на запрошенном домене переадресация с www на без-www или с без-www на www;
      значение по умолчанию: false

    • enable_xhr
      Тип: boolean | null

      включить XMLHttpRequest на странице
      необязательное поле
      установите true, чтобы наш краулер запрашивал данные с веб-сервера через объект XMLHttpRequest
      значение по умолчанию: false;если вы используете это поле, enable_javascript должен быть установлен в true;

    • force_sitewide_checks
      Тип: boolean | null

      включить проверки всего сайта при обходе одной страницы
      необязательное поле
      установите true, чтобы получать данные проверок всего сайта при обходе одной страницы;
      значение по умолчанию: false

    • load_resources
      Тип: boolean | null

      загружать ресурсы
      необязательное поле
      установите true, чтобы загружать изображения, таблицы стилей, скрипты и недоступные ресурсы
      значение по умолчанию: false
      Примечание: использование этого параметра влечёт дополнительные расходы; подробнее о стоимости задач с этим параметром — в справочной статье; стоимость можно рассчитать на странице Тарифы

    • max_crawl_depth
      Тип: integer | null

      глубина обхода
      необязательное поле
      глубина связей обходимых страниц;
      например, стартовая страница обхода — уровень 0, страницы, на которые с неё ведут ссылки, — уровень 1 и т. д.

    • max_crawl_pages
      Тип: integer

      лимит обходимых страниц
      обязательное поле
      количество страниц для обхода на указанном домене
      Примечание:
      если задать max_crawl_pages = 1 и не указывать start_url или указать в нём домашнюю страницу, следующие проверки всего сайта будут отключены:
      test_canonicalization, enable_www_redirect_check, test_hidden_server_signature, test_page_not_found, test_directory_browsing, test_https_redirect
      чтобы всё равно их включить, установите force_sitewide_checks в trueесли задать max_crawl_pages = 1 и указать в start_url не домашнюю страницу, все проверки всего сайта будут отключены;
      чтобы всё равно их включить, установите force_sitewide_checks в true

    • pingback_url
      Тип: string | null

      URL уведомления о завершении задачи
      необязательное поле
      когда задача будет выполнена, мы отправим GET-запрос на указанный вами URL
      строку «$id» можно использовать как переменную $id, а «$tag» — как urlencoded-переменную $tag. Перед отправкой запроса мы подставим нужные значения.
      пример:
      http://your-server.com/pingscript?id=$id
      http://your-server.com/pingscript?id=$id&amp;tag=$tag
      Примечание: специальные символы в pingback_url будут urlencoded;
      в частности, символ # кодируется как %23

      Подробнее см. в Help Center

    • priority_urls
      Тип: array string[] | null

      URL для обхода вне очереди
      необязательное поле
      URL из этого массива обходятся в первую очередь, минуя очередь обхода;
      Примечание: нужно указывать абсолютный URL;
      можно указать до 20 URL;
      все URL в массиве должны принадлежать домену target;
      поддомены игнорируются, если параметр allow_subdomains не установлен в trueпример:
      "priority_urls": [<br>"https://dataforseo.com/apis/serp-api",<br>"https://dataforseo.com/contact"<br>]

    • respect_sitemap
      Тип: boolean | null

      соблюдать sitemap при обходе
      необязательное поле
      установите true, чтобы при обходе следовать порядку страниц, указанному в основном sitemap;
      значение по умолчанию: false
      Примечание: если задать true, значение click_depth в ответе API будет равно 0;
      поле max_crawl_depth запроса будет проигнорировано; количество обходимых страниц можно задать параметром max_crawl_pages

    • return_despite_timeout
      Тип: boolean | null

      возвращать данные страниц несмотря на ошибку таймаута
      необязательное поле
      если true, данные будут предоставлены по страницам, которые не загрузились за 120 секунд и вернули ошибку таймаута;
      значение по умолчанию: false

    • robots_txt_merge_mode
      Тип: string | null

      объединение с настройками robots.txt или их переопределение
      необязательное поле
      возможные значения: merge, override;
      установите override, если хотите игнорировать ограничения обхода сайта и другие настройки robots.txt
      значение по умолчанию: merge;
      Примечание: если задано override, укажите параметр custom_robots_txt

    • start_url
      Тип: string | null

      первый URL для обхода
      необязательное поле
      Примечание: нужно указать абсолютный URL
      чтобы обойти одну страницу, укажите её URL в этом поле и дополнительно установите параметр max_crawl_pages в 1
      также можно использовать live-эндпоинт Instant Pages для получения данных по конкретной странице

    • store_raw_html
      Тип: boolean | null

      сохранять HTML обойдённых страниц
      необязательное поле
      установите true, чтобы получать HTML страницы через эндпоинт OnPage Raw HTML
      значение по умолчанию: false

    • support_cookies
      Тип: boolean | null

      поддержка cookie на обходимых страницах
      необязательное поле
      установите true, чтобы поддерживать cookie при обходе страниц
      значение по умолчанию: false

    • switch_pool
      Тип: boolean | null

      переключение пула прокси
      необязательное поле
      если true, для получения запрошенных данных будут использоваться дополнительные пулы прокси;
      параметр можно использовать, если одновременно задано множество задач, что приводит к периодическим ошибкам rate-limit и/или site_unreachable

    • tag
      Тип: string | null

      пользовательский идентификатор задачи
      необязательное поле
      ограничение — 255 символов
      этот параметр позволяет идентифицировать задачу и сопоставить её с результатом
      указанное значение tag вы найдёте в объекте data ответа

    • target
      Тип: string

      целевой домен
      обязательное поле
      имя домена указывается без https:// и www.
      если указать URL страницы, результаты вернутся для домена, входящего в этот URL

    • validate_micromarkup
      Тип: boolean | null

      включить проверку микроразметки
      необязательное поле
      установите true, чтобы использовать эндпоинт OnPage API Microdata
      значение по умолчанию: false

Ответы
  • 200
    Тип: object | null · Response36Afe1097B20_OnPageTaskPostResponseInfo
    • cost
      Тип: number | null Формат: double

      общая стоимость задач, USD

    • status_code
      Тип: integer | null

      общий код состояния. Полный список кодов ответа можно найти здесь.

    • status_message
      Тип: string | null

      общее информационное сообщение. Полный список общих информационных сообщений можно найти здесь.

    • tasks
      Тип: array (object | null)[] | null

      массив задач

      • Тип: object | null · Response36Afe1097B20_OnPageTaskPostTaskInfo
        • cost
          Тип: number | null Формат: double

          общая стоимость задач, USD

        • data
          Тип: object | null

          содержит те же параметры, что вы указали в POST-запросе

          • propertyName
            Тип: object | null
        • id
          Тип: string | null

          идентификатор задачи уникальный идентификатор задачи в нашей системе в формате UUID

        • path
          Тип: array (string | null)[] | null

          путь URL

        • result
          Тип: object | null

          массив результатов
          в этом случае значение будет null

        • result_count
          Тип: integer | null Формат: int64

          число элементов в массиве result

        • status_code
          Тип: integer | null

          код состояния задачи формируется DataForSEO, может находиться в диапазоне 10000-60000 Полный список кодов ответа можно найти здесь.

        • status_message
          Тип: string | null

          информационное сообщение задачи Полный список общих информационных сообщений можно найти здесь.

        • time
          Тип: string | null

          время выполнения, секунды

    • tasks_count
      Тип: integer | null Формат: int64

      число задач в массиве tasks

    • tasks_error
      Тип: integer | null Формат: int64

      число задач в массиве tasks, возвращённых с ошибкой

    • time
      Тип: string | null

      общее время выполнения, секунды

    • version
      Тип: string | null

      текущая версия API

    application/json
  • 400

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

  • 401

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

  • 402

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

  • 403

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

  • 429

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

  • 502

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

  • 503

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

  • 504

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

  • default

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

    application/json
Request Example for post/v1/beta/dataforseo/on_page/task_post
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/task_post \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '[
  {
    "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"
  }
]'
{
  "version": null,
  "status_code": null,
  "status_message": null,
  "time": null,
  "cost": null,
  "tasks_count": null,
  "tasks_error": null,
  "tasks": [
    {
      "id": null,
      "status_code": null,
      "status_message": null,
      "time": null,
      "cost": null,
      "result_count": null,
      "path": [
        null
      ],
      "data": null,
      "result": null
    }
  ]
}
Setting OnPage Tasks

Нужна помощь?