Title93/100
Expand seed keywords into ideas
The title clearly communicates the tool’s action and subject. Keep it concise.
Description95/100
Expands seed keywords into related keyword ideas, each with search volume, competition, and top-of-page bid metrics from market estimates. The usual starting point of keyword research — follow up with keyword_search_volume or keyword_ad_forecast on the ideas worth keeping. Fresh lookups need seed_keywords plus country and language and count against the daily lookup limit; results expire after 24 hours, and result_id re-reads or re-sorts them for free. No Google Ads connection is required: Google Keyword Planner data when the user has a usable (connected, active) Google Ads Account, DataForSEO otherwise. These are market estimates, not that Account's campaign performance.
The description explains the capability, when to use it, and what to expect.
Inputs79/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
seed_keywords
Up to 15 seed keywords to expand into related ideas, e.g. ["running shoes", "marathon training"]. Omit when passing result_id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
country
Target country, spelled as in keyword_locations_and_languages (e.g. "United States", "Germany"). Required for fresh lookups.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
language
Target language, spelled as in keyword_locations_and_languages (e.g. "English", "German"). Required for fresh lookups.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
page
Which page of a result to return. Starts at 1.
Clear enough to supply this argument.
page_size
How many rows per page. Default 10.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
result_id
ID of a stored keyword_find_ideas result, valid for 24 hours. Paging/re-sorting is free and does not fetch fresh data; after expiry, start a new lookup.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
order_by
Ordering of the idea list: relevance (default), search_volume, competition_index, or a top-of-page bid metric.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations100/100
All four behavior hints are declared.
{
"title": "Expand seed keywords into ideas",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Output schema47/100
Describe the returned fields so an agent can interpret the result.
View output schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"result"
],
"properties": {
"result": {
"type": "object",
"required": [
"columns",
"expires_at",
"page",
"page_size",
"result_id",
"row_count",
"rows",
"total_pages"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"rows": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"columns": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"page_size": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"result_id": {
"type": "string",
"minLength": 1
},
"row_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"total_pages": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}