Felo API PlatformFelo API Platform
Усі endpoint 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

    Відповідь із помилкою; наскрізні відповіді апстріму можуть використовувати формати постачальника

    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