Docs menu

Competitive researchGET$0.04

/v1/domain-keywords

The keywords a domain actually ranks for — volume, CPC, position and the ranking URL, loudest first.

Point it at a competitor and you have their playbook; point it at yourself and you know what to defend. Rows come back ordered by search volume with the exact URL that ranks. totalKeywords is the index's full count for the domain, so you can see how deep the iceberg goes below your limit.

Parameters#

NameDescription
domainrequiredhostname to inventory, e.g. example.com — a competitor's works too
limitoptionalkeywords to return, 1–100 (default 25)
countryoptional2-letter country code, default us
langoptional2-letter language code, default en

Request#

Plain GET. Without a payment header the response is a 402 carrying the price; an x402 client pays and retries on its own — see the quickstart.

request
GET https://citable.run/v1/domain-keywords?domain=ahrefs.com&limit=25

Response#

200 with the JSON below (trimmed) and the settlement signature in the PAYMENT-RESPONSE header. Every paid response also carries price and cluster.

200 · application/json
{
  "domain": "ahrefs.com",
  "country": "us",
  "lang": "en",
  "keywords": [
    { "keyword": "backlink checker", "volume": 74000, "cpc": 6.2, "position": 1, "url": "https://ahrefs.com/backlink-checker", "previousPosition": 1, "change": 0, "status": "same" },
    { "keyword": "keyword generator", "volume": 27100, "cpc": 4.1, "position": 2, "url": "https://ahrefs.com/keyword-generator", "previousPosition": 4, "change": 2, "status": "up" }
  ],
  "totalKeywords": 120400,
  "source": "dataforseo_labs",
  "price": "$0.04",
  "cluster": "mainnet"
}

Errors#

Any non-200 cancels the payment — errors are free.

StatusCodeWhen
400invalid_domaindomain is not a hostname
400invalid_localecountry or lang is not a 2-letter code
502upstream_failedthe data source did not answer — nothing is charged
503not_configuredthis deployment has no credentials for the source — nothing is charged

MCP tool#

The same call from Claude, Codex or Cursor once citable-mcp is installed. Arguments mirror the parameters above.

mcp
citable_domain_keywords(domain, limit?, country?, lang?)   $0.04

Source & latency#

Data sourceTypical latency
DataForSEO Labs ranking index~2–5 s

Note

Every row carries the index's month-over-month movement: previousPosition, change (places gained, negative = lost) and status (new / up / down / same) — a trend column at no extra cost.

Pairs with#