Keywords
Bulk Keyword Difficulty
Get keyword difficulty (KD 0-100) for up to 1,000 keywords in a single request.
POST
$0.02/call/v1/seo/keywords/difficultyUsage
const res = await fetch('https://api.yepapi.com/v1/seo/keywords/difficulty', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ keywords: ['seo api', 'email finder api'] }),
});
const { data } = await res.json();
console.log(data);curl -X POST https://api.yepapi.com/v1/seo/keywords/difficulty \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keywords": ["seo api", "email finder api"]}'Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
keywords | string[] | Yes | Array of keywords to score (max 1,000) | — |
location | string | No | Target country as a two-letter code (e.g., "us", "gb") | "us" |
language | string | No | ISO language code (e.g., en, es) | "en" |
Response
{
"ok": true,
"data": {
"keywords": [
{
"difficulty": 0,
"keyword": "email finder api"
},
{
"difficulty": 22,
"keyword": "seo api"
}
]
}
}Response Fields
| Field | Type | Description |
|---|---|---|
ok | boolean | Whether the request succeeded |
data.keywords | object[] | Array of keyword difficulty results |
data.keywords[].keyword | string | The analyzed keyword |
data.keywords[].difficulty | number | Keyword difficulty score (0-100) — how hard it is to rank in the top organic results |
Under the Hood
A lightweight, high-volume endpoint for scoring large keyword lists. For the full metric set per keyword (volume, CPC, intent, trend), use Keyword Overview.