YepAPI
Domain Analysis

Domain Keywords

Get every keyword a domain ranks for with positions, search volume, CPC, and landing URLs.

POST/v1/seo/domain/keywords
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/domain/keywords', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ domain: 'stripe.com', limit: 100 }),
});
const { data } = await res.json();
console.log(data);
curl -X POST https://api.yepapi.com/v1/seo/domain/keywords \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain": "stripe.com", "limit": 100}'

Request Body

ParameterTypeRequiredDescriptionDefault
domainstringYesDomain to analyze (without protocol, e.g., "stripe.com")
limitnumberNoMaximum number of keywords to return100
location_codenumberNoTarget country code (e.g., 2840 for US). See Location Codes.2840
languagestringNoISO 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": [
    { "keyword": "stripe", "position": 1, "searchVolume": 450000, "cpc": 8.5, "url": "https://stripe.com" },
    { "keyword": "payment gateway", "position": 3, "searchVolume": 74000, "cpc": 12.3, "url": "https://stripe.com/payments" }
  ]
}

Response Fields

FieldTypeDescription
okbooleanWhether the request succeeded
data.domainstringThe domain that was analyzed
data.totalKeywordsnumberTotal number of ranking keywords found
data.keywordsobject[]Array of keyword ranking results
data.keywords[].keywordstringThe keyword the domain ranks for
data.keywords[].positionnumberCurrent organic position in search results
data.keywords[].searchVolumenumberEstimated monthly search volume
data.keywords[].cpcnumberAverage cost-per-click in USD
data.keywords[].urlstringURL of the ranking page on this domain
data.keywords[].trafficnumberEstimated monthly organic traffic from this keyword
Under the Hood

Under the hood, this queries our SEO data engine for all organic keyword rankings of the specified domain. We normalize positions, volumes, and URLs into a clean response format.

On this page