> ## 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 Keyword Suggestions:

> The Keyword Suggestions endpoint provides search queries that include the specified seed keyword. Includes inputs, outputs, costs, and Deepline CLI examples.

## 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_keyword_suggestions_live:{"keyword":"{{keyword}}"}' --json
```

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

## Input Schema

| Name                               | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ---------------------------------- | --------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.keyword`                  | `string`  | Yes      |         | keyword required field UTF-8 encoding the keywords will be converted to lowercase format; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `payload.location_name`            | `string`  | No       |         | full name of the location optional field if you use this field, you don't need to specify location\_code you can receive the list of available locations with their location\_name by making a separate request to the [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) ignore this field to get the results for all available locations example: United Kingdom                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `payload.location_code`            | `integer` | No       |         | location code optional field if you use this field, you don't need to specify location\_name you can receive the list of available locations with their location\_code by making a separate request to the [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) ignore this field to get the results for all available locations example: 2840                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `payload.language_name`            | `string`  | No       |         | full name of the language optional field if you use this field, you don't need to specify language\_code you can receive the list of available languages with their language\_name by making a separate request to the [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) example: English Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available\_languages.keywords field of the Locations and Languages endpoint to determine the default language                                                                                                                                                                                                                                                                                  |
| `payload.language_code`            | `string`  | No       |         | language code optional field if you use this field, you don't need to specify language\_name you can receive the list of available languages with their language\_code by making a separate request to the [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) example: en Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available\_languages.keywords field of the Locations and Languages endpoint to determine the default language                                                                                                                                                                                                                                                                                                   |
| `payload.include_seed_keyword`     | `boolean` | No       |         | include data for the seed keyword optional field if set to true , data for the seed keyword specified in the keyword field will be provided in the seed\_keyword\_data array of the response default value: false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `payload.include_serp_info`        | `boolean` | No       |         | include data from SERP for each keyword optional field if set to true , we will return a serp\_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `payload.include_clickstream_data` | `boolean` | No       |         | include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true , you will receive clickstream\_keyword\_info , keyword\_info\_normalized\_with\_clickstream , and keyword\_info\_normalized\_with\_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `payload.exact_match`              | `boolean` | No       |         | search for the exact phrase optional field if set to true , the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase default value: false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `payload.ignore_synonyms`          | `boolean` | No       |         | ignore highly similar keywords optional field if set to true only core keywords will be returned, all highly similar keywords will be excluded; default value: false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `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: \["keyword\_info.search\_volume",">",0] \[\["keyword\_info.search\_volume","in",\[0,1000]], "and", \["keyword\_info.competition\_level","=","LOW"]] \[\["keyword\_info.search\_volume",">",100], "and", \[\["keyword\_info.cpc","\<",0.5], "or", \["keyword\_info.high\_top\_of\_page\_bid","\<=",0.5]]] 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 possible sorting types: asc - results will be sorted in the ascending order desc - results will be sorted in the descending order a comma is used as a separator example: \["keyword\_info.competition,desc"] default rule: \["keyword\_info.search\_volume,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: \["keyword\_info.search\_volume,desc","keyword\_info.cpc,desc"]                                                                                                                                                                                                                                                                                                                     |
| `payload.limit`                    | `integer` | No       |         | the maximum number of returned keywords optional field default value: 100 maximum value: 1000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `payload.offset`                   | `integer` | No       |         | offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset\_token instead.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `payload.offset_token`             | `string`  | No       |         | offset token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset\_token value from the response array, you will get the subsequent results of the initial task; offset\_token values are unique for each subsequent task Note: if the offset\_token is specified in the request, all other parameters except limit will not be taken into account when processing a task. learn more about this parameter on our Help Center                                                                                                                                                                                                                                                                                            |
| `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": "The Keyword Suggestions endpoint provides search queries that include the specified seed keyword.",
    "properties": {
      "keyword": {
        "type": "string",
        "description": "keyword required field UTF-8 encoding the keywords will be converted to lowercase format; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article"
      },
      "location_name": {
        "type": "string",
        "description": "full name of the location optional field if you use this field, you don't need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom"
      },
      "location_code": {
        "type": "integer",
        "description": "location code optional field if you use this field, you don't need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840"
      },
      "language_name": {
        "type": "string",
        "description": "full name of the language optional field if you use this field, you don't need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language"
      },
      "language_code": {
        "type": "string",
        "description": "language code optional field if you use this field, you don't need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language"
      },
      "include_seed_keyword": {
        "type": "boolean",
        "description": "include data for the seed keyword optional field if set to true , data for the seed keyword specified in the keyword field will be provided in the seed_keyword_data array of the response default value: false"
      },
      "include_serp_info": {
        "type": "boolean",
        "description": "include data from SERP for each keyword optional field if set to true , we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false"
      },
      "include_clickstream_data": {
        "type": "boolean",
        "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true , you will receive clickstream_keyword_info , keyword_info_normalized_with_clickstream , and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article"
      },
      "exact_match": {
        "type": "boolean",
        "description": "search for the exact phrase optional field if set to true , the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase default value: false"
      },
      "ignore_synonyms": {
        "type": "boolean",
        "description": "ignore highly similar keywords optional field if set to true only core keywords will be returned, all highly similar keywords will be excluded; default value: false"
      },
      "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: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] 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 possible sorting types: asc - results will be sorted in the ascending order desc - results will be sorted in the descending order a comma is used as a separator example: [\"keyword_info.competition,desc\"] default rule: [\"keyword_info.search_volume,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: [\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]",
        "items": {}
      },
      "limit": {
        "type": "integer",
        "description": "the maximum number of returned keywords optional field default value: 100 maximum value: 1000"
      },
      "offset": {
        "type": "integer",
        "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead."
      },
      "offset_token": {
        "type": "string",
        "description": "offset token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task. learn more about this parameter on our Help Center"
      },
      "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": [
      "keyword"
    ],
    "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_keyword_suggestions_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_keyword_suggestions_live --payload '{
  "keyword": "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`.
