> ## 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 Page Intersection:

> This endpoint will provide you with the keywords for which specified pages rank within the same SERP. Includes inputs, outputs, and 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_page_intersection_live:{"pages":{}}' --json
```

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

## Input Schema

| Name                               | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ---------------------------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.pages`                    | `object`  | Yes      |         | target URLs of pages required field you can set up to 20 pages in this object the pages should be specified with absolute URLs (including http\:// or https\://) example: "pages": \{ "1":"[https://www.apple.com/mac/](https://www.apple.com/mac/)*", "2":"[https://dataforseo.com/](https://dataforseo.com/)*", "3":"[https://support.microsoft.com/](https://support.microsoft.com/)" } if you specify a single page here, we will return results only for this page; you can also use a wildcard ('*') character to specify the search pattern example: "example.com" search for the exact URL "example.com/eng/*" search for the example.com page and all its related URLs which start with '/eng/' , such as "example.com/eng/index.html" and "example.com/eng/help/" , etc. note: a wilcard should be placed after the slash ('/') character in the end of the URL, it is not possible to place it after the domain in the following way: [https://dataforseo.com](https://dataforseo.com) \* use [https://dataforseo.com](https://dataforseo.com) /\* instead Note: this endpoint will not provide results if the number of intersecting keywords exceeds 10 million                                                                                                                                                                                                                                                                                            |
| `payload.exclude_pages`            | `array`   | No       |         | URLs of pages you want to exclude optional field you can set up to 10 pages in this array if you use this array, results will contain the keywords for which URLs from the pages object rank, but URLs from exclude\_pages array do not; note that if you specify this field, the results will be based on the keywords any URL from pages ranks for regardless of intersections between them. However, you can set intersection\_mode to intersect and results will contain the keywords all URLs from pages rank for in the same SERP and URLs from exclude\_pages do not. use a wildcard ('*') character to specify the search pattern example: "exclude\_pages": \[ "[https://www.apple.com/iphone/](https://www.apple.com/iphone/)*", "[https://dataforseo.com/apis/\*](https://dataforseo.com/apis/*)", "[https://www.microsoft.com/en-us/industry/services/](https://www.microsoft.com/en-us/industry/services/)" ]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `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 the [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       |         | location code 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 the [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 the [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       |         | language code 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 the [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       |         | search results type indicates type of search results included in the response optional field possible values: \["organic", "paid", "featured\_snippet", "local\_pack"] default value: \["organic", "paid"]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `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 items array of returned keywords optional field default value: 0 if you specify 10 here, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `payload.include_subdomains`       | `boolean` | No       |         | indicates if the subdomains will be included in the search optional field if set to false , the subdomains will be ignored default value: true                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `payload.intersection_mode`        | `string`  | No       |         | indicates whether to intersect keywords optional field use this field to intersect or merge results for the specified URLs possible values: union , intersect union - results are based on all keywords any URL from pages rank for; intersect - results are based on the keywords all URLs from pages rank for in the same SERP: by default, results are based on the intersect mode if you specify only pages array. If you specify exclude\_pages as well, results are based on the union mode                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `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 , clickstream\_etv , 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.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 , ilike , not\_ilike , like , not\_like , match , not\_match 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 note that if you want to filter by any field in the intersection\_result array you need to specify the number of corresponding page for instance, if you want to filter results by the ranking of the first specified URL, you should set the following filter: \[intersection\_result.1.rank\_absolute,"=",1] if you want to filter results and receive only organic listings for the third specified URL, you should set the following filter: \[intersection\_result.3.type,"=","organic"] , etc.example: \["keyword\_data.keyword\_info.search\_volume","in",\[100,1000]] \[\["intersection\_result.1.etv",">",0],"and",\["intersection\_result.1.description","like","%goat%"]] \[\["keyword\_data.keyword\_info.search\_volume",">",100], "and", \[\["intersection\_result.2.description","like","%goat%"], "or", \["intersection\_result.2.type","=","organic"]]] 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 parameter example: \["keyword\_data.keyword\_info.competition,desc"] default rule: \["keyword\_data.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: \["intersection\_result.1.rank\_group,asc","intersection\_result.2.rank\_absolute,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 the keywords for which specified pages rank within the same SERP. You will get search volume, competition, cost-per-click data on each intersecting keyword. Along with that, you will get data on SERP elements that specified pages rank for in search results, as well as the estimated traffic volume and cost of ad traffic. Page Intersection endpoint supports organic, paid, local pack and featured snippet results.",
    "properties": {
      "pages": {
        "type": "object",
        "description": "target URLs of pages required field you can set up to 20 pages in this object the pages should be specified with absolute URLs (including http:// or https://) example: \"pages\": { \"1\":\"https://www.apple.com/mac/*\", \"2\":\"https://dataforseo.com/*\", \"3\":\"https://support.microsoft.com/\" } if you specify a single page here, we will return results only for this page; you can also use a wildcard ('*') character to specify the search pattern example: \"example.com\" search for the exact URL \"example.com/eng/*\" search for the example.com page and all its related URLs which start with '/eng/' , such as \"example.com/eng/index.html\" and \"example.com/eng/help/\" , etc. note: a wilcard should be placed after the slash ('/') character in the end of the URL, it is not possible to place it after the domain in the following way: https://dataforseo.com * use https://dataforseo.com /* instead Note: this endpoint will not provide results if the number of intersecting keywords exceeds 10 million",
        "properties": {},
        "additionalProperties": true
      },
      "exclude_pages": {
        "type": "array",
        "description": "URLs of pages you want to exclude optional field you can set up to 10 pages in this array if you use this array, results will contain the keywords for which URLs from the pages object rank, but URLs from exclude_pages array do not; note that if you specify this field, the results will be based on the keywords any URL from pages ranks for regardless of intersections between them. However, you can set intersection_mode to intersect and results will contain the keywords all URLs from pages rank for in the same SERP and URLs from exclude_pages do not. use a wildcard ('*') character to specify the search pattern example: \"exclude_pages\": [ \"https://www.apple.com/iphone/*\", \"https://dataforseo.com/apis/*\", \"https://www.microsoft.com/en-us/industry/services/\" ]",
        "items": {}
      },
      "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 the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom"
      },
      "location_code": {
        "type": "integer",
        "description": "location code 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 the 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 the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English"
      },
      "language_code": {
        "type": "string",
        "description": "language code 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 the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en"
      },
      "item_types": {
        "type": "array",
        "description": "search results type indicates type of search results included in the response optional field possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        "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 items array of returned keywords optional field default value: 0 if you specify 10 here, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords"
      },
      "include_subdomains": {
        "type": "boolean",
        "description": "indicates if the subdomains will be included in the search optional field if set to false , the subdomains will be ignored default value: true"
      },
      "intersection_mode": {
        "type": "string",
        "description": "indicates whether to intersect keywords optional field use this field to intersect or merge results for the specified URLs possible values: union , intersect union - results are based on all keywords any URL from pages rank for; intersect - results are based on the keywords all URLs from pages rank for in the same SERP: by default, results are based on the intersect mode if you specify only pages array. If you specify exclude_pages as well, results are based on the union mode"
      },
      "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 , clickstream_etv , 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"
      },
      "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 , ilike , not_ilike , like , not_like , match , not_match 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 note that if you want to filter by any field in the intersection_result array you need to specify the number of corresponding page for instance, if you want to filter results by the ranking of the first specified URL, you should set the following filter: [intersection_result.1.rank_absolute,\"=\",1] if you want to filter results and receive only organic listings for the third specified URL, you should set the following filter: [intersection_result.3.type,\"=\",\"organic\"] , etc.example: [\"keyword_data.keyword_info.search_volume\",\"in\",[100,1000]] [[\"intersection_result.1.etv\",\">\",0],\"and\",[\"intersection_result.1.description\",\"like\",\"%goat%\"]] [[\"keyword_data.keyword_info.search_volume\",\">\",100], \"and\", [[\"intersection_result.2.description\",\"like\",\"%goat%\"], \"or\", [\"intersection_result.2.type\",\"=\",\"organic\"]]] 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 parameter example: [\"keyword_data.keyword_info.competition,desc\"] default rule: [\"keyword_data.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: [\"intersection_result.1.rank_group,asc\",\"intersection_result.2.rank_absolute,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": [
      "pages"
    ],
    "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_page_intersection_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_page_intersection_live --payload '{
  "pages": {}
}' --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`.
