> ## 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 Content Analysis Search: Inputs, Cost & CLI

> This endpoint will provide you with detailed citation data available for the target 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_content_analysis_search_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      |         | target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note : to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: "keyword": ""tesla palo alto"" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article                                                                                                                                                                                                                                                                                                                                                                                                         |
| `payload.keyword_fields` | `object`  | No       |         | target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title , main\_title , previous\_title , snippet you can indicate several fields; Note : to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: "keyword\_fields": \{ "snippet": ""logitech mouse"", "main\_title": "sale" }                                                                                                                                                                                                                                                                                                                        |
| `payload.page_type`      | `array`   | No       |         | target page types optional field use this parameter to filter the dataset by page types possible values: "ecommerce" , "news" , "blogs" , "message-boards" , "organization"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `payload.search_mode`    | `string`  | No       |         | results grouping type optional field possible grouping types: as\_is - returns all citations for the target keyword one\_per\_domain - returns one citation of the keyword per domain default value: as\_is                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `payload.limit`          | `integer` | No       |         | the maximum number of returned citations optional field default value: 100 maximum value: 1000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `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 , like , not\_like , match , not\_match you can use the % operator with like and not\_like to match any string of zero or more characters example: \["country","=", "US"] \[\["domain\_rank",">",800],"and",\["content\_info.connotation\_types.negative",">",0.9]] \[\["domain\_rank",">",800], "and", \[\["page\_types","has","ecommerce"], "or", \["content\_info.text\_category","has",10994]]] for more information about filters, please refer to Content Analysis API - Filters |
| `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: \["content\_info.sentiment\_connotations.anger,desc"] default rule: \["content\_info.sentiment\_connotations.anger,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: \["content\_info.sentiment\_connotations.anger,desc","keyword\_data.keyword\_info.cpc,desc"]                                                                                                  |
| `payload.offset`         | `integer` | No       |         | offset in the results array of returned citations optional field default value: 0 if you specify the 10 value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations 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 field 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.rank_scale`     | `string`  | No       |         | defines the scale used for calculating and displaying the domain\_rank , and url\_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one\_hundred — rank values are displayed on a 0–100 scale one\_thousand — rank values are displayed on a 0–1000 scale default value: one\_thousand learn more about how this parameter works in this Help Center article                                                                                                                                                                                                                                                                                                                     |
| `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 detailed citation data available for the target keyword.",
    "properties": {
      "keyword": {
        "type": "string",
        "description": "target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note : to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword\": \"\\\"tesla palo alto\\\"\" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article"
      },
      "keyword_fields": {
        "type": "object",
        "description": "target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title , main_title , previous_title , snippet you can indicate several fields; Note : to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword_fields\": { \"snippet\": \"\\\"logitech mouse\\\"\", \"main_title\": \"sale\" }",
        "properties": {},
        "additionalProperties": true
      },
      "page_type": {
        "type": "array",
        "description": "target page types optional field use this parameter to filter the dataset by page types possible values: \"ecommerce\" , \"news\" , \"blogs\" , \"message-boards\" , \"organization\"",
        "items": {}
      },
      "search_mode": {
        "type": "string",
        "description": "results grouping type optional field possible grouping types: as_is - returns all citations for the target keyword one_per_domain - returns one citation of the keyword per domain default value: as_is"
      },
      "limit": {
        "type": "integer",
        "description": "the maximum number of returned citations optional field default value: 100 maximum value: 1000"
      },
      "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 , like , not_like , match , not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"country\",\"=\", \"US\"] [[\"domain_rank\",\">\",800],\"and\",[\"content_info.connotation_types.negative\",\">\",0.9]] [[\"domain_rank\",\">\",800], \"and\", [[\"page_types\",\"has\",\"ecommerce\"], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API - Filters",
        "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: [\"content_info.sentiment_connotations.anger,desc\"] default rule: [\"content_info.sentiment_connotations.anger,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: [\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]",
        "items": {}
      },
      "offset": {
        "type": "integer",
        "description": "offset in the results array of returned citations optional field default value: 0 if you specify the 10 value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations 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 field 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"
      },
      "rank_scale": {
        "type": "string",
        "description": "defines the scale used for calculating and displaying the domain_rank , and url_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article"
      },
      "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_content_analysis_search_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_content_analysis_search_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.01` per pricing unit.
* Billing mode: `post_deduct`.
