Ahrefs Keywords API
Get the Ahrefs keyword-difficulty metrics for any search term: the difficulty score (0-100) and the number of referring domains a page needs to rank in the top 10 - as normalized JSON.
$5.01/1k req, pay per request, no subscription.
{"keyword": "seo tools","country": "us","difficulty": 62,"referringDomainsToRank": 38,"searchVolume": 14800,"cpcUsd": 12.4,"updatedUtc": 1735603200}
Pricing
Ahrefs Keywords API pricing
Try it
Get Ahrefs keywords in one request
This sample shows 10 of 11 fields. See every field
{
"found": true,
"data": {
"items": [
{
"keyword": "seo tools",
"country": "us",
"difficulty": 62,
"referringDomainsToRank": 38,
"searchVolume": 14800,
"cpcUsd": 12.4,
"updatedUtc": 1735603200
}
]
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-31 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- keywordstring
seo tools
The search term to analyze (e.g. "seo tools").
- countrystring
us
Two-letter country code that scopes volume and difficulty (e.g. us, gb, de).
Response
JSON, one example value per field.
Keyword-difficulty records: the difficulty score and the referring-domain gap needed to rank in the top 10. Populated whenever the provider has data for the entity.
- countrystring
us
Two-letter country code the metrics are scoped to.
- cpcUsdnumber
12.4
Ahrefs' estimated paid-search cost per click in USD.
- difficultyinteger
62
Ahrefs Keyword Difficulty, 0-100.
- keywordstring
seo tools
Populated whenever the provider has data for the entity.
- referringDomainsToRankinteger
38
Estimated number of referring domains a page needs to rank in the top 10 for this keyword.
- searchVolumeinteger
14800
Average monthly search volume for the keyword in the requested country.
- updatedUtcnumber
1735603200
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
- foundboolean
true
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the Ahrefs Keywords API
The AnyAPI Ahrefs Keywords API returns Ahrefs keywords data as normalized JSON from one POST call to /v1/run/ahrefs.keywords. Get the Ahrefs keyword-difficulty metrics for any search term: the difficulty score (0-100) and the number of referring domains a page needs to rank in the top 10 - as normalized JSON. AnyAPI returns one normalized schema whichever source serves it. It costs from $5.01 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Ahrefs keywords calls through AnyAPI succeeded, with a median response time of 8.8 seconds across 900 measured calls.