Built-in tool
Get Keyword Suggestions
Long-tail keyword suggestions (full phrases containing a seed keyword) with search volume, CPC and competition.
Endpoint
Parameters
| Name | Type | Required | Note |
|---|---|---|---|
| keywordstring · required | string | required | Seed keyword to expand into long-tail suggestions. |
| limitnumber · optional | number | optional | Maximum number of records to return (1-1000). Defaults to 100. Default: |
| language_namestring · optional | string | optional | Language for results. Choose "All languages" (or leave blank) to aggregate every language. One of: |
| location_namestring · optional | string | optional | Country for results. Choose "Worldwide" (or leave blank) to aggregate every location. One of: |
Response schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"elements"
],
"properties": {
"elements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cpc": {
"type": [
"number",
"null"
]
},
"keyword": {
"type": [
"string",
"null"
]
},
"competition": {
"type": [
"number",
"null"
]
},
"search_intent": {
"type": [
"string",
"null"
]
},
"search_volume": {
"type": [
"number",
"null"
]
},
"competition_level": {
"type": [
"string",
"null"
]
},
"keyword_difficulty": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": true
}
},
"returned": {
"type": "number",
"description": "How many rows this run returned, after any Limit was applied."
},
"truncated": {
"type": "boolean"
},
"suggestion": {
"type": "string"
},
"totalCount": {
"type": "number",
"description": "How many records the provider says MATCH in total, independent of Limit — routinely in the millions (spotify.com has 2,583,327 ranking pages). It is a match count, NOT how many this endpoint will serve: Limit caps what one call returns, so do not compare it against the row count to judge completeness and do not paginate towards it. Absent when the provider sent no count."
},
"totalElements": {
"type": "number",
"description": "DEPRECATED — despite the name this is the count RETURNED by this run, not a grand total, so it equals your Limit on a limited run. Kept at that value deliberately: ENG-17058 asked for depth 5 to report 5, and it is a live number in existing flows. Use `returned` for this number or `totalCount` for how many records match."
}
},
"additionalProperties": true
}