Keyword ideas from seed keywords
/keyword-ideasExpands up to 200 seed keywords into related keyword ideas, each with search volume, CPC, competition and keyword difficulty (difficulty is at keyword_properties.keyword_difficulty in each row; volume and CPC at keyword_info). Ideas come from category-level expansion, so sorting by search volume surfaces unrelated head terms; the default order is relevance, keep it for topical work and filter instead. Cost scales with rows returned, so keep `limit` at the default 100 unless the task genuinely needs more (hard cap 1000).
Call it over REST
Authenticate with a bearer token against https://api.superagnt.com. Swap the placeholders for your key and parameter values.
curl -s -X POST "https://api.superagnt.com/keyword-ideas" \
-H "Authorization: Bearer <YOUR_AGNTDATA_API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "keywords": [] }'Copy-paste prompt
Paste this into a coding agent. It connects the superagnt MCP server, finds the tool data_seo_keyword_ideas, and runs a first call — with the REST fallback if MCP is unavailable.
You are wiring up the superagnt "SEO" API to use this endpoint: Keyword ideas from seed keywords.
1. CONNECT over MCP (preferred). No token to paste either way.
On Claude (claude.ai, the desktop app, or Claude Code signed in with a Claude
account), the server is a connector: give the user this link, they click Add
and approve:
https://claude.ai/customize/connectors/yours?modal=add-custom-connector&connectorName=superagnt&connectorUrl=https%3A%2F%2Fmcp.superagnt.com%2Fmcp&open_in_browser=1
Any other MCP client (or Claude Code signed in with an API key): add the server
and let the client run the browser sign-in:
claude mcp add --scope user --transport http superagnt https://mcp.superagnt.com/mcp
claude mcp login superagnt
MCP endpoint: https://mcp.superagnt.com/mcp
After connecting, the tool you want is named exactly:
data_seo_keyword_ideas
Call agnt_tools_search or agnt_tools_list_enabled to confirm it is available.
2. REST fallback (if you are not using MCP):
POST https://api.superagnt.com/keyword-ideas
Header: Authorization: Bearer <YOUR_AGNTDATA_API_KEY>
Required parameters:
- keywords (array, required) — Seed keywords to expand (1-200).
Optional parameters:
- location_code (integer, optional) — Geo target as a location code. Default 2840 (United States).
- language_code (string, optional) — Two-letter language code. Default 'en'.
- limit (integer, optional) — Max keyword ideas to return. Default 100. Cost scales with rows, so raise only when needed.
- offset (integer, optional) — Pagination offset.
- filters (array, optional) — Optional filter expression as [field, operator, value] triples joined by 'and'/'or'. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like (use %% wildcards with like). Recipes: [["keyword_info.search_volume",">",100]] · keep only on-topic ideas: [["keyword","like","%deliverability%"]] · combine: [["keyword_info.search_volume",">",100],"and",["keyword_properties.keyword_difficulty","<",40]].
- order_by (array, optional) — Sort rules, e.g. ["keyword_info.search_volume,desc"].
3. COST & KEY. This endpoint is metered — pricing varies by request, from $0.05 per call. Only successful calls are charged.
Get a superagnt API key at https://app.superagnt.com.
4. TEST. Connect the server (or set the key), discover the tool
(data_seo_keyword_ideas), run one minimal call with just the required parameters,
and report back the shape of the JSON response (top-level fields).
Reference (machine-readable variant): https://www.superagnt.com/docs/apis/seo/endpoints/keyword_ideas.md{
"name": "keyword_ideas",
"description": "Expands up to 200 seed keywords into related keyword ideas, each with search volume, CPC, competition and keyword difficulty (difficulty is at keyword_properties.keyword_difficulty in each row; volume and CPC at keyword_info). Ideas come from category-level expansion, so sorting by search volume surfaces unrelated head terms; the default order is relevance, keep it for topical work and filter instead. Cost scales with rows returned, so keep `limit` at the default 100 unless the task genuinely needs more (hard cap 1000).",
"parameters": {
"type": "object",
"properties": {
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 200,
"description": "Seed keywords to expand (1-200)."
},
"location_code": {
"type": "integer",
"description": "Geo target as a location code. Default 2840 (United States).",
"default": 2840
},
"language_code": {
"type": "string",
"description": "Two-letter language code. Default 'en'.",
"default": "en"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100,
"description": "Max keyword ideas to return. Default 100. Cost scales with rows, so raise only when needed."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Pagination offset."
},
"filters": {
"type": "array",
"items": {},
"description": "Optional filter expression as [field, operator, value] triples joined by 'and'/'or'. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like (use %% wildcards with like). Recipes: [[\"keyword_info.search_volume\",\">\",100]] · keep only on-topic ideas: [[\"keyword\",\"like\",\"%deliverability%\"]] · combine: [[\"keyword_info.search_volume\",\">\",100],\"and\",[\"keyword_properties.keyword_difficulty\",\"<\",40]]."
},
"order_by": {
"type": "array",
"items": {
"type": "string"
},
"description": "Sort rules, e.g. [\"keyword_info.search_volume,desc\"]."
}
},
"required": [
"keywords"
]
}
}| Name | In | Type | Required | Description |
|---|---|---|---|---|
keywords | body | array | required | Seed keywords to expand (1-200). |
location_code | body | integer | optional | Geo target as a location code. Default 2840 (United States). |
language_code | body | string | optional | Two-letter language code. Default 'en'. |
limit | body | integer | optional | Max keyword ideas to return. Default 100. Cost scales with rows, so raise only when needed. |
offset | body | integer | optional | Pagination offset. |
filters | body | array | optional | Optional filter expression as [field, operator, value] triples joined by 'and'/'or'. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like (use %% wildcards with like). Recipes: [["keyword_info.search_volume",">",100]] · keep only on-topic ideas: [["keyword","like","%deliverability%"]] · combine: [["keyword_info.search_volume",">",100],"and",["keyword_properties.keyword_difficulty","<",40]]. |
order_by | body | array | optional | Sort rules, e.g. ["keyword_info.search_volume,desc"]. |
Keyword ideas with volume, CPC, competition and difficulty in `result[0].items`.
{
"type": "object"
}Metered endpoint — the exact cost depends on the request. Credits are deducted per successful call; failed requests (4xx/5xx) are not charged.
Get started at app.superagnt.com.
start calling
Point your client at https://mcp.superagnt.com/mcp and your agent has this endpoint, plus every other source on one balance.