> ## 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.

# Find Google Ranked Keywords with DataForSEO

> Use DataForSEO Labs to find the Google keywords a domain or page ranks for, including positions and search metrics for SEO research workflows.

## Quick answer

Use this action when you need the keywords a target domain or page already ranks for, with ranking positions and related search metrics.

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

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

## Input Schema

| Name                               | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ---------------------------------- | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `payload.target`                   | `string`  | Yes      |         | domain name or page url required field the domain name of the target website or URL of the target webpage; the domain name must be specified without https\:// or [www](http://www). ; the webpage URL must be specified with https\:// or [www](http://www). Note: if you specify the webpage URL without https\:// or [www](http://www). , the result will be returned for the entire domain rather than the specific page                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `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) ignore this field to get the results for all available languages example: English                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `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) ignore this field to get the results for all available languages example: en                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `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.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 organic , 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", "ai\_overview\_reference"] default value: \["organic", "paid"]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `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 , clickstream\_etv , clickstream\_gender\_distribution , clickstream\_age\_distribution , 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.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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `payload.load_rank_absolute`       | `boolean` | No       |         | return rankings distribution by rank\_absolute optional field default value: false if set to true , we will return the field metrics\_absolute containing rankings distribution by the rank\_absolute parameter that indicates the result’s position among all SERP elements                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `payload.historical_serp_mode`     | `string`  | No       |         | data collection mode optional field you can use this field to filter the results; possible types of filtering: live — return keywords for which the specified target currently has ranking results in SERP; lost — return keywords for which the specified target had previously had ranking results in SERP, but didn't have them during the last check; all — return both types of keywords. default value: live                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `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: \["ranked\_serp\_element.serp\_item.rank\_group","\<=",10] \[\["ranked\_serp\_element.serp\_item.rank\_group","\<=",10], "and", \["ranked\_serp\_element.serp\_item.type","\<>","paid"]] \[\["keyword\_data.keyword\_info.search\_volume","\<>",0], "and", \[\["ranked\_serp\_element.serp\_item.type","\<>","paid"],"or",\["ranked\_serp\_element.serp\_item.is\_malicious","=",false]]] if you want to get the keywords a particular webpage ranks for, you can use a target field or filter by the ranked\_serp\_element.serp\_item.relative\_url parameter example: \["ranked\_serp\_element.serp\_item.relative\_url", "=", "/apis/rank-tracker-api"] 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 you should use a comma to set up a sorting type example: \["keyword\_data.keyword\_info.competition,desc"] default rule: \["ranked\_serp\_element.serp\_item.rank\_group,asc"] 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\_data.keyword\_info.search\_volume,desc","keyword\_data.keyword\_info.cpc,desc"]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `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 the list of keywords that any domain or webpage is ranking for. You will also get SERP elements related to the keyword position, as well as monthly searches and other data relevant to the returned keywords.",
    "properties": {
      "target": {
        "type": "string",
        "description": "domain name or page url required field the domain name of the target website or URL of the target webpage; the domain name must be specified without https:// or www. ; the webpage URL must be specified with https:// or www. Note: if you specify the webpage URL without https:// or www. , the result will be returned for the entire domain rather than the specific page"
      },
      "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 ignore this field to get the results for all available languages example: English"
      },
      "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 ignore this field to get the results for all available languages example: en"
      },
      "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"
      },
      "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 organic , 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\", \"ai_overview_reference\"] default value: [\"organic\", \"paid\"]",
        "items": {}
      },
      "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 , clickstream_etv , clickstream_gender_distribution , clickstream_age_distribution , 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"
      },
      "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"
      },
      "load_rank_absolute": {
        "type": "boolean",
        "description": "return rankings distribution by rank_absolute optional field default value: false if set to true , we will return the field metrics_absolute containing rankings distribution by the rank_absolute parameter that indicates the result’s position among all SERP elements"
      },
      "historical_serp_mode": {
        "type": "string",
        "description": "data collection mode optional field you can use this field to filter the results; possible types of filtering: live — return keywords for which the specified target currently has ranking results in SERP; lost — return keywords for which the specified target had previously had ranking results in SERP, but didn't have them during the last check; all — return both types of keywords. default value: live"
      },
      "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: [\"ranked_serp_element.serp_item.rank_group\",\"<=\",10] [[\"ranked_serp_element.serp_item.rank_group\",\"<=\",10], \"and\", [\"ranked_serp_element.serp_item.type\",\"<>\",\"paid\"]] [[\"keyword_data.keyword_info.search_volume\",\"<>\",0], \"and\", [[\"ranked_serp_element.serp_item.type\",\"<>\",\"paid\"],\"or\",[\"ranked_serp_element.serp_item.is_malicious\",\"=\",false]]] if you want to get the keywords a particular webpage ranks for, you can use a target field or filter by the ranked_serp_element.serp_item.relative_url parameter example: [\"ranked_serp_element.serp_item.relative_url\", \"=\", \"/apis/rank-tracker-api\"] 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 you should use a comma to set up a sorting type example: [\"keyword_data.keyword_info.competition,desc\"] default rule: [\"ranked_serp_element.serp_item.rank_group,asc\"] 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_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]",
        "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": [
      "target"
    ],
    "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_ranked_keywords_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_ranked_keywords_live --payload '{
  "target": "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`.
