> ## 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 Phrase Trends Live

> This endpoint will provide you with data on all citations of the target keyword for the indicated date range. Includes SDK V2 examples, schemas, and cost.

This endpoint will provide you with data on all citations of the target keyword for the indicated date range.

> [!NOTE]
>
> Tool ID: `dataforseo_content_analysis_phrase_trends_live`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'dataforseo_content_analysis_phrase_trends_live',
  {
    "keyword": "software companies hiring engineers",
    "date_from": "2026-01-15T12:00:00Z"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute dataforseo_content_analysis_phrase_trends_live --input '{
  "keyword": "software companies hiring engineers",
  "date_from": "2026-01-15T12:00:00Z"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "version": "example",
  "status_code": 123,
  "status_message": "example",
  "time": "example",
  "tasks_count": 123,
  "tasks_error": 123,
  "tasks": [
    {}
  ]
}
```

Use `deepline describe dataforseo_content_analysis_phrase_trends_live --json` for the latest machine-readable contract.

## Input reference

This endpoint will provide you with data on all citations of the target keyword for the indicated date range.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `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 data on all citations for the target keyword one\_per\_domain - returns data on one citation of the keyword per domain default value: as\_is |
| `payload.internal_list_limit` | `integer` | No | — | maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: top\_domains text\_categories page\_categories countries languages default value: 1 maximum value: 20 |
| `payload.date_from` | `string` | Yes | — | starting date of the time range required field date format: "yyyy-mm-dd" example: "2019-01-15" |
| `payload.date_to` | `string` | No | — | ending date of the time range optional field if you don't specify this field, today's date will be used by default date format: "yyyy-mm-dd" example: "2019-01-15" |
| `payload.date_group` | `string` | No | — | time range which will be used to group the results optional field default value: month possible values: day , week , month |
| `payload.initial_dataset_filters` | `array` | No | — | initial dataset filtering parameters optional field initial filtering parameters that apply to fields in the Search endpoint . 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 , has , has\_not , match , not\_match you can use the % operator with like and not\_like to match any string of zero or more characters. See the live schema for the complete constraint. |
| `payload.rank_scale` | `string` | No | — | defines the scale used for calculating and displaying the 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={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "This endpoint will provide you with data on all citations of the target keyword for the indicated date range.",
    "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 data on all citations for the target keyword one_per_domain - returns data on one citation of the keyword per domain default value: as_is"
      },
      "internal_list_limit": {
        "type": "integer",
        "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: top_domains text_categories page_categories countries languages default value: 1 maximum value: 20"
      },
      "date_from": {
        "type": "string",
        "description": "starting date of the time range required field date format: \"yyyy-mm-dd\" example: \"2019-01-15\""
      },
      "date_to": {
        "type": "string",
        "description": "ending date of the time range optional field if you don't specify this field, today's date will be used by default date format: \"yyyy-mm-dd\" example: \"2019-01-15\""
      },
      "date_group": {
        "type": "string",
        "description": "time range which will be used to group the results optional field default value: month possible values: day , week , month"
      },
      "initial_dataset_filters": {
        "type": "array",
        "description": "initial dataset filtering parameters optional field initial filtering parameters that apply to fields in the Search endpoint ; 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 , has , has_not , match , not_match you can use the % operator with like and not_like to match any string of zero or more characters; example: [\"domain\",\"<>\", \"logitech.com\"] [[\"domain\",\"<>\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]] [[\"domain\",\"<&gt\",\"logitech.com\"]], \"and\", [[\"content_info.connotation_types.negative\",\">\",1000], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API - Filters",
        "items": {}
      },
      "rank_scale": {
        "type": "string",
        "description": "defines the scale used for calculating and displaying the 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",
      "date_from"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Top-level response envelope for dataforseo\_content\_analysis\_phrase\_trends\_live.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `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={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Top-level response envelope for dataforseo_content_analysis_phrase_trends_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>

## Deepline cost

* Pricing model: `provider_usage` (provider usage).
* Estimated Deepline credits: `0.01` per pricing unit.

## Related documentation

* [DataForSEO provider guide](https://deepline.com/docs/providers/dataforseo/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.