> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Dataforseo Dataforseo Labs Google Domain Metrics By

> This endpoint will provide you with dynamics of change in metrics of domains relevant to the specified product and service categories.

## Run in Enrichment Spreadsheet

<Info>
  Use this function as a column step in `deepline enrich`.
</Info>

```bash theme={null}
deepline enrich --input leads.csv --output leads.enriched.csv --with 'result=dataforseo_dataforseo_labs_google_domain_metrics_by_categories_live:{"category_codes":"{{category_codes}}","first_date":"{{first_date}}","second_date":"{{second_date}}"}' --json
```

<Tip>
  Map payload values to spreadsheet columns with `{{column_name}}` placeholders.
</Tip>

## Input Schema

| Name                           | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------ | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.category_codes`       | `array`   | Yes      |         | product and service categories required field The maximum number of categories you can specify: 5 you can download the full list of possible categories                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `payload.first_date`           | `string`  | Yes      |         | first date of comparison period required field first date for which domain metrics will be provided; date format: "yyyy-mm-dd" ; example: "2021-06-01" ; the list available dates is available through the available history endpoint ; Note: first\_date cannot be greater than today's date; Also note: the dates specified in first\_date and second\_date cannot point to the same month of the same year; you can specify the dates in any order: first\_date can be greater than second\_date and vice versa; minimum date: "2020-10-01"                                                                                                                      |
| `payload.second_date`          | `string`  | Yes      |         | second date of comparison period required field second date for which domain metrics will be provided; date format: "yyyy-mm-dd" ; example: "2021-10-01" ; the list available dates is available through the available history endpoint ; Note: second\_date cannot be greater than today's date; Also note: the dates specified in first\_date and second\_date cannot point to the same month of the same year; you can specify the dates in any order: second\_date can be greater than first\_date and vice versa; minimum date: "2020-10-01"                                                                                                                   |
| `payload.location_name`        | `string`  | No       |         | full name of the location required field if you don't specify location\_code Note: it is required to specify either location\_name or location\_code ; you can receive the list of available locations with their location\_name by making a separate request to [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) ; example: United Kingdom                                                                                                                                                                                                                        |
| `payload.location_code`        | `integer` | No       |         | unique location identifier required field if you don't specify location\_name Note: it is required to specify either location\_name or location\_code ; you can receive the list of available locations with their location\_code by making a separate request to [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) ; example: 2840                                                                                                                                                                                                                                 |
| `payload.language_name`        | `string`  | No       |         | full name of the language required field if you don't specify language\_code Note: it is required to specify either language\_name or language\_code ; you can receive the list of available languages with their language\_name by making a separate request to [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) ; example: English                                                                                                                                                                                                                               |
| `payload.language_code`        | `string`  | No       |         | unique language identifier required field if you don't specify language\_name Note: it is required to specify either language\_name or language\_code ; you can receive the list of available languages with their language\_code by making a separate request to [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) ; example: en                                                                                                                                                                                                                                   |
| `payload.item_types`           | `array`   | No       |         | display results by item type optional field indicates the type of search results included in the response; Note: if the item\_types array contains item types that are different from the organic object, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response; possible values: \["organic", "paid", "featured\_snippet", "local\_pack"] ; default value: \["organic", "paid"]                                                                                                                                                             |
| `payload.top_categories_count` | `integer` | No       |         | number of additional domain categories optional field by using this parameter, you can receive domains relevant to additional categories that are not specified in category\_codes above; to learn more about the parameter, please refer to this help center article; by default, top\_categories\_count is equal to the number of categories specified in the category\_codes array; Note: top\_categories\_count cannot be less than the number of categories in the category\_codes array; maximum value: 5                                                                                                                                                     |
| `payload.include_subdomains`   | `boolean` | No       |         | return subdomains in the API response optional field if false , the API response will contain main\_domain only; if true , the API will return main\_domain plus its subdomains (if available); default value: true                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `payload.etv_min`              | `integer` | No       |         | minimum current organic ETV of the domain optional field if specified, the API will return only domains with organic\_etv greater than the specified value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `payload.etv_max`              | `integer` | No       |         | maximum current organic ETV of the domain optional field if specified, the API will return only domains with organic\_etv lesser than the specified value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `payload.correlate`            | `boolean` | No       |         | correlate data with previously obtained datasets optional field default value: true ; if you use this parameter, our system will correlate data you obtain now with previously obtained datasets; this parameter is intended to mitigate any inconsistencies that may result from changes to our database; Note: we do not recommend setting correlate to false                                                                                                                                                                                                                                                                                                     |
| `payload.limit`                | `integer` | No       |         | the maximum number of domains in the results array optional field default value: 100 ; maximum value: 1000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `payload.offset`               | `integer` | No       |         | offset in the results array of returned domains optional field default value: 0 ; if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `payload.filters`              | `array`   | No       |         | array of results filtering parameters optional field you can add several filters at once (8 filters maximum) ; you should set a logical operator and , or between the conditions the following operators are supported: regex , not\_regex , \< , \<= , > , >= , = , \<> , in , not\_in , match , not\_match , ilike , not\_ilike , like , not\_like ; you can use the % operator with like and not\_like , as well as ilike and not\_ilike to match any string of zero or more characters; example: \["metrics\_history.202110.organic.pos\_1", ">", 15] ; for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide |
| `payload.order_by`             | `array`   | No       |         | results sorting rules optional field you can use the same values as in the filters array to sort the results; default rule: \["organic\_etv,desc"] ; possible sorting types: asc - results will be sorted in ascending order desc - results will be sorted in descending order; you should use a comma to set up a sorting type; example: \["organic\_count,desc"] ; note that you can set no more than three sorting rules in a single request ; you should use a comma to separate several sorting rules; example: \["organic\_etv,desc","organic\_count,asc"]                                                                                                    |
| `payload.tag`                  | `string`  | No       |         | 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                                                                                                                                                                                                                                                                                                                                                                                                                                     |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "This endpoint will provide you with dynamics of change in metrics of domains relevant to the specified product and service categories. You will receive historical ranking data from Google SERPs, along with valuable current and historical domain metrics, such as ETV, impressions ETV, estimated paid traffic cost, the total count of SERPs that contain domains, and more.",
    "properties": {
      "category_codes": {
        "type": "array",
        "description": "product and service categories required field The maximum number of categories you can specify: 5 you can download the full list of possible categories",
        "items": {}
      },
      "first_date": {
        "type": "string",
        "description": "first date of comparison period required field first date for which domain metrics will be provided; date format: \"yyyy-mm-dd\" ; example: \"2021-06-01\" ; the list available dates is available through the available history endpoint ; Note: first_date cannot be greater than today's date; Also note: the dates specified in first_date and second_date cannot point to the same month of the same year; you can specify the dates in any order: first_date can be greater than second_date and vice versa; minimum date: \"2020-10-01\""
      },
      "second_date": {
        "type": "string",
        "description": "second date of comparison period required field second date for which domain metrics will be provided; date format: \"yyyy-mm-dd\" ; example: \"2021-10-01\" ; the list available dates is available through the available history endpoint ; Note: second_date cannot be greater than today's date; Also note: the dates specified in first_date and second_date cannot point to the same month of the same year; you can specify the dates in any order: second_date can be greater than first_date and vice versa; minimum date: \"2020-10-01\""
      },
      "location_name": {
        "type": "string",
        "description": "full name of the location required field if you don't specify location_code Note: it is required to specify either location_name or location_code ; you can receive the list of available locations with their location_name by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ; example: United Kingdom"
      },
      "location_code": {
        "type": "integer",
        "description": "unique location identifier required field if you don't specify location_name Note: it is required to specify either location_name or location_code ; you can receive the list of available locations with their location_code by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ; example: 2840"
      },
      "language_name": {
        "type": "string",
        "description": "full name of the language required field if you don't specify language_code Note: it is required to specify either language_name or language_code ; you can receive the list of available languages with their language_name by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ; example: English"
      },
      "language_code": {
        "type": "string",
        "description": "unique language identifier required field if you don't specify language_name Note: it is required to specify either language_name or language_code ; you can receive the list of available languages with their language_code by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ; example: en"
      },
      "item_types": {
        "type": "array",
        "description": "display results by item type optional field indicates the type of search results included in the response; Note: if the item_types array contains item types that are different from the organic object, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response; possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] ; default value: [\"organic\", \"paid\"]",
        "items": {}
      },
      "top_categories_count": {
        "type": "integer",
        "description": "number of additional domain categories optional field by using this parameter, you can receive domains relevant to additional categories that are not specified in category_codes above; to learn more about the parameter, please refer to this help center article; by default, top_categories_count is equal to the number of categories specified in the category_codes array; Note: top_categories_count cannot be less than the number of categories in the category_codes array; maximum value: 5"
      },
      "include_subdomains": {
        "type": "boolean",
        "description": "return subdomains in the API response optional field if false , the API response will contain main_domain only; if true , the API will return main_domain plus its subdomains (if available); default value: true"
      },
      "etv_min": {
        "type": "integer",
        "description": "minimum current organic ETV of the domain optional field if specified, the API will return only domains with organic_etv greater than the specified value"
      },
      "etv_max": {
        "type": "integer",
        "description": "maximum current organic ETV of the domain optional field if specified, the API will return only domains with organic_etv lesser than the specified value"
      },
      "correlate": {
        "type": "boolean",
        "description": "correlate data with previously obtained datasets optional field default value: true ; if you use this parameter, our system will correlate data you obtain now with previously obtained datasets; this parameter is intended to mitigate any inconsistencies that may result from changes to our database; Note: we do not recommend setting correlate to false"
      },
      "limit": {
        "type": "integer",
        "description": "the maximum number of domains in the results array optional field default value: 100 ; maximum value: 1000"
      },
      "offset": {
        "type": "integer",
        "description": "offset in the results array of returned domains optional field default value: 0 ; if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains"
      },
      "filters": {
        "type": "array",
        "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) ; you should set a logical operator and , or between the conditions the following operators are supported: regex , not_regex , < , <= , > , >= , = , <> , in , not_in , match , not_match , ilike , not_ilike , like , not_like ; you can use the % operator with like and not_like , as well as ilike and not_ilike to match any string of zero or more characters; example: [\"metrics_history.202110.organic.pos_1\", \">\", 15] ; for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide",
        "items": {}
      },
      "order_by": {
        "type": "array",
        "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results; default rule: [\"organic_etv,desc\"] ; possible sorting types: asc - results will be sorted in ascending order desc - results will be sorted in descending order; you should use a comma to set up a sorting type; example: [\"organic_count,desc\"] ; note that you can set no more than three sorting rules in a single request ; you should use a comma to separate several sorting rules; example: [\"organic_etv,desc\",\"organic_count,asc\"]",
        "items": {}
      },
      "tag": {
        "type": "string",
        "description": "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"
      }
    },
    "required": [
      "category_codes",
      "first_date",
      "second_date"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output Schema

| Name                    | Type      | Required | Default | Description                                                                                                                                                                               |
| ----------------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `result.version`        | `string`  | Yes      |         | the current version of the API                                                                                                                                                            |
| `result.status_code`    | `integer` | Yes      |         | 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 |
| `result.status_message` | `string`  | Yes      |         | general informational message you can find the full list of general informational messages here                                                                                           |
| `result.time`           | `string`  | Yes      |         | execution time, seconds                                                                                                                                                                   |
| `result.tasks_count`    | `integer` | Yes      |         | the number of tasks in the tasks array                                                                                                                                                    |
| `result.tasks_error`    | `integer` | Yes      |         | the number of tasks in the tasks array returned with an error                                                                                                                             |
| `result.tasks`          | `array`   | Yes      |         | array of tasks                                                                                                                                                                            |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Top-level response envelope for dataforseo_dataforseo_labs_google_domain_metrics_by_categories_live.",
    "properties": {
      "version": {
        "type": "string",
        "description": "the current version of the API"
      },
      "status_code": {
        "type": "integer",
        "description": "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",
        "description": "general informational message you can find the full list of general informational messages here"
      },
      "time": {
        "type": "string",
        "description": "execution time, seconds"
      },
      "tasks_count": {
        "type": "integer",
        "description": "the number of tasks in the tasks array"
      },
      "tasks_error": {
        "type": "integer",
        "description": "the number of tasks in the tasks array returned with an error"
      },
      "tasks": {
        "type": "array",
        "description": "array of tasks",
        "items": {}
      }
    },
    "required": [
      "version",
      "status_code",
      "status_message",
      "time",
      "tasks_count",
      "tasks_error",
      "tasks"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Advanced: Direct CLI

<Info>
  Use direct execution for single payload debugging.
</Info>

```bash theme={null}
deepline tools execute dataforseo_dataforseo_labs_google_domain_metrics_by_categories_live --payload '{
  "category_codes": "array",
  "first_date": "string",
  "second_date": "string"
}' --json
```

### CLI flags

| Flag                        | Description                                         |
| --------------------------- | --------------------------------------------------- |
| `--json`                    | Print machine-readable output.                      |
| `--wait`                    | Wait for terminal provider status when supported.   |
| `--debug`                   | Enable wait mode with additional status/log output. |
| `--wait-timeout SECONDS`    | Max seconds to wait in wait mode.                   |
| `--poll-interval SECONDS`   | Polling interval in seconds during wait mode.       |
| `--timeout SECONDS`         | Request timeout in seconds.                         |
| `--connect-timeout SECONDS` | Connection timeout in seconds.                      |

## Cost

* Pricing model: `provider_usage` (provider usage).
* Estimated Deepline credits: `0.02` per pricing unit.
* Billing mode: `post_deduct`.
