Keywords a domain ranks for
/ranked-keywordsReturns the keywords a domain (or a specific page) currently ranks for in Google, with position, search volume, and the ranked URL. The core competitor research call: point it at any domain to see its organic footprint. Cost scales with rows, so keep `limit` at the default 100 and use `filters` (e.g. position <= 20) instead of pulling thousands of rows. Row shape: items[].keyword_data.keyword_info.search_volume, items[].keyword_data.keyword_properties.keyword_difficulty, items[].ranked_serp_element.serp_item.rank_absolute.
Call it over REST
Authenticate with a bearer token against https://api.agntdata.dev. Swap the placeholders for your key and parameter values.
curl -s -X POST "https://api.agntdata.dev/ranked-keywords" \
-H "Authorization: Bearer <YOUR_AGNTDATA_API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "target": "<string>" }'Copy-paste prompt
Paste this into a coding agent. It connects the superagnt MCP server, finds the tool data_seo_ranked_keywords, and runs a first call — with the REST fallback if MCP is unavailable.
You are wiring up the agntdata "SEO" API to use this endpoint: Keywords a domain ranks for.
1. CONNECT over MCP (preferred). Add the superagnt MCP server, then let the client
run OAuth on first tool call — no token to paste:
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_ranked_keywords
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.agntdata.dev/ranked-keywords
Header: Authorization: Bearer <YOUR_AGNTDATA_API_KEY>
Required parameters:
- target (string, required) — Domain (e.g. 'example.com', no protocol) or full page URL to analyze.
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 keywords to return. Default 100. Cost scales with rows.
- offset (integer, optional) — Pagination offset.
- filters (array, optional) — Optional filter expression, e.g. [["ranked_serp_element.serp_item.rank_absolute", "<=", 20]].
- order_by (array, optional) — Sort rules, e.g. ["keyword_data.keyword_info.search_volume,desc"].
3. COST & KEY. This endpoint is priced per call in credits, and each successful response reports its own cost in its meta.costCents field. Only successful calls are charged.
Get an agntdata API key at https://app.agntdata.dev.
4. TEST. Connect the server (or set the key), discover the tool
(data_seo_ranked_keywords), 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://superagnt.com/docs/apis/seo/endpoints/ranked_keywords.md{
"name": "ranked_keywords",
"description": "Returns the keywords a domain (or a specific page) currently ranks for in Google, with position, search volume, and the ranked URL. The core competitor research call: point it at any domain to see its organic footprint. Cost scales with rows, so keep `limit` at the default 100 and use `filters` (e.g. position <= 20) instead of pulling thousands of rows. Row shape: items[].keyword_data.keyword_info.search_volume, items[].keyword_data.keyword_properties.keyword_difficulty, items[].ranked_serp_element.serp_item.rank_absolute.",
"parameters": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "Domain (e.g. 'example.com', no protocol) or full page URL to analyze."
},
"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 keywords to return. Default 100. Cost scales with rows."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Pagination offset."
},
"filters": {
"type": "array",
"items": {},
"description": "Optional filter expression, e.g. [[\"ranked_serp_element.serp_item.rank_absolute\", \"<=\", 20]]."
},
"order_by": {
"type": "array",
"items": {
"type": "string"
},
"description": "Sort rules, e.g. [\"keyword_data.keyword_info.search_volume,desc\"]."
}
},
"required": [
"target"
]
}
}| Name | In | Type | Required | Description |
|---|---|---|---|---|
target | body | string | required | Domain (e.g. 'example.com', no protocol) or full page URL to analyze. |
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 keywords to return. Default 100. Cost scales with rows. |
offset | body | integer | optional | Pagination offset. |
filters | body | array | optional | Optional filter expression, e.g. [["ranked_serp_element.serp_item.rank_absolute", "<=", 20]]. |
order_by | body | array | optional | Sort rules, e.g. ["keyword_data.keyword_info.search_volume,desc"]. |
Ranked keywords with positions and volumes in `result[0].items`.
{
"type": "object"
}This endpoint is priced per call and deducted from your agntdata balance; only a successful call is billed. Every billable response reports its own cost in meta.costCents.
Get a key at app.agntdata.dev.
start calling
Point your client at https://mcp.superagnt.com/mcp and your agent has this endpoint, plus every other source on one balance.