# Content analysis search

This endpoint will provide you with detailed citation data available for the target keyword. Needs keyword. Served by DataForSEO.

This endpoint will provide you with detailed citation data available for the target keyword.

- Tool ID: `dataforseo/content-analysis-search`
- Name in the catalog: Content Analysis Search
- Provider: [DataForSEO](/providers/dataforseo.md)
- Capability: [Content & brand mentions](/tools/seo/content-analysis.md)
- Price: usage based, the maximum is shown before a run
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

Billed at the cost the provider reports for the call, never above $100. Your agent sees the maximum before running.


```json
{
  "model": "reported",
  "costPath": "cost",
  "maxUsdDefault": 0.024,
  "maxUsdCap": 100,
  "multipliers": [
    {
      "addUsdPer": {
        "field": "limit",
        "usd": 0.000036,
        "default": 10,
        "max": 1000
      }
    }
  ],
  "requireCost": true
}
```

Pricing source: [https://docs.dataforseo.com/v3/appendix/user_data/](https://docs.dataforseo.com/v3/appendix/user_data/). Account tariff content_analysis/search/live; bounds applied to inputs; actual cost from provider response..

Price verification date: 2026-10-10.

## Complete input schema


```json
{
  "type": "object",
  "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\\\"",
      "maxLength": 700,
      "minLength": 1
    },
    "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 fi",
      "properties": {},
      "additionalProperties": {
        "type": "string",
        "maxLength": 2000,
        "minLength": 1
      }
    },
    "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": {
        "type": "string",
        "maxLength": 2000,
        "minLength": 1
      },
      "maxItems": 100,
      "minItems": 1
    },
    "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",
      "maxLength": 2000,
      "minLength": 1
    },
    "limit": {
      "type": "integer",
      "description": "the maximum number of returned citations optional field default value: 100 maximum value: 1000",
      "maximum": 100,
      "minimum": 1,
      "default": 10
    },
    "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, <, <=, >,",
      "items": {},
      "maxItems": 15,
      "minItems": 1
    },
    "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 y",
      "items": {
        "type": "string",
        "maxLength": 2000,
        "minLength": 1
      },
      "maxItems": 3,
      "minItems": 1
    },
    "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 ",
      "minimum": 0
    },
    "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 uniq",
      "maxLength": 2000,
      "minLength": 1
    },
    "rank_scale": {
      "type": "string",
      "description": "defines the scale used for calculating and displaying the domain_rank, and url_rank values optional fieldyou can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scalepossible values: one_hundred — rank va",
      "maxLength": 2000,
      "minLength": 1
    },
    "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",
      "maxLength": 255
    }
  },
  "required": [
    "keyword"
  ],
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "dataforseo/content-analysis-search",
  "input": {
    "keyword": "DataForSEO",
    "limit": 5
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://docs.dataforseo.com/v3/content_analysis/search/live/)

[REST inspection](https://api.agentik.cc/v1/tools/dataforseo/content-analysis-search) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/dataforseo/content-analysis-search) · [Agent index](/llms.txt)
