Built-in tool
Get Keyword Ideas
Related keyword ideas for one or more seed keywords (same-category terms, not just phrases containing the seed), with search volume and competition.
Endpoint
Parameters
| Name | Type | Required | Note |
|---|---|---|---|
| keywordsstring · required | string | required | Seed keyword(s) — comma-separated, e.g. "running shoes, sneakers". Example: |
| limitnumber · optional | number | optional | Maximum number of records to return (1-1000). Defaults to 100. Default: |
| language_namestring · optional | string | optional | Language for results. Defaults to English. One of: Default: |
| location_namestring · optional | string | optional | Country for results. Defaults to United States. One of: Default: |
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
}