Related Keywords
Discover semantically related keywords and variations with search volume, CPC, and difficulty.
/v1/seo/keywords/relatedPricing
$0.03 per call + $0.03 per 100 keywords, rounded up to the next whole cent.
| Keywords returned | Cost 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/related', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ keyword: 'email marketing', limit: 50 }),
});
const { data } = await res.json();
console.log(data);curl -X POST https://api.yepapi.com/v1/seo/keywords/related \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keyword": "email marketing", "limit": 50}'Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
keyword | string | Yes | Seed keyword to find related terms for (e.g., "email marketing") | — |
limit | number | No | Maximum number of related keywords to return | 50 |
location_code | number | No | Target country code (e.g., 2840 for US). See Location Codes. | 2840 |
language | string | No | ISO language code (e.g., en, es) | "en" |
Filtering & Sorting
Narrow and order results with filters, match, and sort. Filter on the same
friendly field names returned in the response — volume, cpc, difficulty,
competition, competitionLevel, intent, keyword, plus words and
length (keyword length).
{
"filters": [
{ "field": "volume", "op": ">=", "value": 500 },
{ "field": "difficulty", "op": "<", "value": 40 },
{ "field": "intent", "op": "in", "value": ["informational", "commercial"] }
],
"match": "all",
"sort": ["volume:desc"]
}See Keyword Filters for the full list of fields,
operators (>, >=, <, <=, =, !=, in, nin, like, not_like),
and limits (max 8 filters, 3 sort rules).
Response
{
"ok": true,
"data": {
"seed": "email marketing",
"keywords": [
{
"keyword": "email marketing",
"volume": 18100,
"cpc": 46.41,
"difficulty": 73,
"competition": 0.17,
"competitionLevel": "LOW",
"intent": "informational",
"avgBacklinks": 5295.1,
"avgReferringDomains": 708.5,
"serpFeatures": [
"images",
"organic",
"peopleAlsoAsk",
"video",
"perspectives",
"relatedSearches"
],
"totalResults": 2370000000,
"trend": [
{ "month": "2026-03", "volume": 27100 },
{ "month": "2026-02", "volume": 14800 },
{ "month": "2026-01", "volume": 12100 }
]
},
{
"keyword": "email marketing jobs",
"volume": 2900,
"cpc": 3.95,
"difficulty": 7,
"competition": 0.12,
"competitionLevel": "LOW",
"intent": "informational",
"avgBacklinks": 177.4,
"avgReferringDomains": 6.7,
"serpFeatures": [
"jobs",
"organic",
"peopleAlsoAsk",
"relatedSearches"
],
"totalResults": 1840000000,
"trend": [
{ "month": "2026-03", "volume": 2400 },
{ "month": "2026-02", "volume": 2400 },
{ "month": "2026-01", "volume": 2900 }
]
}
]
}
}Response Fields
| Field | Type | Description |
|---|---|---|
ok | boolean | Whether the request succeeded |
data.seed | string | The seed keyword used to find related terms |
data.keywords | object[] | Array of related keyword results |
data.keywords[].keyword | string | The related keyword |
data.keywords[].volume | number | Average monthly search volume |
data.keywords[].cpc | number | Cost per click in USD |
data.keywords[].difficulty | number | SEO difficulty score (0-100) |
data.keywords[].competition | number | PPC competition index (0-1) |
data.keywords[].competitionLevel | string | Competition category (LOW, MEDIUM, HIGH, or unknown) |
data.keywords[].intent | string | Search intent (informational, commercial, navigational, transactional, or unknown) |
data.keywords[].avgBacklinks | number | Average number of backlinks for top-ranking pages |
data.keywords[].avgReferringDomains | number | Average number of referring domains for top-ranking pages |
data.keywords[].serpFeatures | string[] | SERP features present for this keyword (e.g., images, video, jobs, peopleAlsoAsk) |
data.keywords[].totalResults | number | Total number of search results |
data.keywords[].trend | object[] | Monthly search volume trend data |
data.keywords[].trend[].month | string | Month in YYYY-MM format |
data.keywords[].trend[].volume | number | Search volume for that month |
Under the hood, this queries our SEO data engine for semantically related terms. These are terms searchers also look for, not just string variations of the seed keyword.