Felo API PlatformFelo API Platform

Data API / DataForSEO / On Page

Setting Lighthouse Tasks

Queues a Lighthouse audit instead of waiting for one, returning a task id. Use it when the audit would outlast a tool call's patience; retrieve with get_dataforseo_on_page_lighthouse_task_get_json, and see what is ready with get_dataforseo_on_page_lighthouse_ready. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. ⚠️ Same 245 KB report at the end, so the context cost is deferred, not avoided - narrow it with categories or audits here, not later.

Parameters

No path, query, or header parameters.

Request body

  • urlstringRequired

    target URL required field target page should be specified with its absolute URL (including http:// or https://) example: https://dataforseo.com/

  • for_mobilebooleanOptional

    applies mobile emulation optional field if set to true, Lighthouse will use mobile device and screen emulation to test the page against mobile environment if set to false, the results will be provided for desktop default value: false

  • categoriesstring[]Optional

    categories of Lighthouse audits optional field each category is a collection of audits and audit groups that applies weighting and scoring to the section (see official definition)if you ignore this field, we will return data for all categories unless you specify audits use this field to get data for specific categories you indicate herepossible values: seo, performance, best_practices, accessibility

  • auditsstring[]Optional

    Lighthouse audits optional field audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (see official definition)if you ignore this field, we will return data for all audits use this field to get data for specific audits you indicate herenote that some audits do not belong to a specific category and are stand-alone page quality measurementsin general, there can be several use cases:1. if you ignore categories, you can use this field to get data for the specified audits only for example, if you ignore "categories" and specify "audits": ["metrics/cumulative-layout-shift","metrics/largest-contentful-paint","metrics/total-blocking-time"], you will get data only for these audits2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified for example, if you specify "categories": ["seo"] and "audits": ["metrics/cumulative-layout-shift","metrics/largest-contentful-paint","metrics/total-blocking-time"], you will get only these audits under "performance" and all audits under "seo"you can get the full list of possible audits here

  • versionstringOptional

    lighthouse version optional field you can obtain the results specific to a certain Lighthouse version by specifying its number the list of available versions is available through the Lighthouse Versions endpoint

  • language_namestringOptional

    lighthouse language name optional field you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languages default value: English

  • language_codestringOptional

    lighthouse language code optional field you can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languages default value: en

  • tagstringOptional

    user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response

  • pingback_urlstringOptional

    notification URL of a completed task optional field when a task is completed we will notify you by GET request sent to the URL you have specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag Note: special characters in pingback_url will be urlencoded; i.a., the # character will be encoded into %23learn more on our Help Center

Example request

curl -X POST "https://openapi.felo.ai/v1/beta/dataforseo/on_page/lighthouse/task_post" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "<string>",
  "for_mobile": false,
  "categories": [
    "<string>"
  ],
  "audits": [
    "<string>"
  ],
  "version": "<string>",
  "language_name": "<string>",
  "language_code": "<string>",
  "tag": "<string>"
}'

Response

Response fields

  • versionstringOptional

    the current version of the API

  • status_codeintegerOptional

    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_messagestringOptional

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

  • timestringOptional

    execution time, seconds

  • costnumberOptional

    total tasks cost, USD

  • tasks_countintegerOptional

    the number of tasks in the tasks array

  • tasks_errorintegerOptional

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

  • tasksstring[]Optional

    array of tasks

  • idstringOptional

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

  • status_codeintegerOptional

    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

  • status_messagestringOptional

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

  • timestringOptional

    execution time, seconds

  • costnumberOptional

    cost of the task, USD

  • result_countintegerOptional

    number of elements in the result array

  • pathstring[]Optional

    URL path

  • dataobjectOptional

    contains the same parameters that you specified in the POST request

  • resultstring[]Optional

    array of results in this case, the value will be null