YepAPI
Keywords

Bulk Keyword Difficulty

Get keyword difficulty (KD 0-100) for up to 1,000 keywords in a single request.

POST/v1/seo/keywords/difficulty
from $0.03 + $0.03/100 keywords

Pricing

$0.03 per call + $0.03 per 100 keywords, rounded up to the next whole cent.

Keywords returnedCost per call
1 keyword$0.04
10 keywords$0.04
50 keywords$0.05
100 keywords$0.06
250 keywords$0.11
500 keywords$0.18
1,000 keywords$0.33

Billed on the number of results actually returned, not the number requested. Failed calls are never charged.

Usage

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

ParameterTypeRequiredDescriptionDefault
keywordsstring[]YesArray of keywords to score (max 1,000)
locationstringNoTarget country as a two-letter code (e.g., "us", "gb")"us"
languagestringNoISO 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

FieldTypeDescription
okbooleanWhether the request succeeded
data.keywordsobject[]Array of keyword difficulty results
data.keywords[].keywordstringThe analyzed keyword
data.keywords[].difficultynumberKeyword 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.

On this page