Competitors
Page Intersection
Find keywords where specific pages rank in the same search results.
POST
from $0.03 + $0.03/100 results/v1/seo/competitors/pagesPricing
$0.03 per call + $0.03 per 100 results, rounded up to the next whole cent.
| Results returned | Cost per call |
|---|---|
| 1 result | $0.04 |
| 10 results | $0.04 |
| 50 results | $0.05 |
| 100 results | $0.06 |
| 250 results | $0.11 |
| 500 results | $0.18 |
| 1,000 results | $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/competitors/pages', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
pages: {
'1': 'stripe.com/payments',
'2': 'square.com/payments',
},
location_code: 2840,
language: 'en',
limit: 100,
}),
});
const { data } = await res.json();
console.log(data.keywords);curl -X POST https://api.yepapi.com/v1/seo/competitors/pages \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"pages": {"1": "stripe.com/payments", "2": "square.com/payments"}, "location_code": 2840, "limit": 100}'Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
pages | object | Yes | Numbered keys ("1", "2", etc.) mapping to page URLs. Up to 20. | — |
location_code | number | No | Target country code. See Location Codes. | 2840 |
language | string | No | ISO language code | "en" |
limit | number | No | Max keywords to return | 100 |
Info
Pages support wildcard patterns like stripe.com/blog/* to match all URLs under a path.
Response
{
"ok": true,
"data": {
"keywords": [
{
"keyword": "payment processing api",
"volume": 2400,
"cpc": 18.5,
"competition": 0.82,
"difficulty": 68,
"intent": "commercial",
"pages": [
{
"url": "https://stripe.com/payments",
"position": 2,
"type": "organic",
"etv": 650.0
},
{
"url": "https://square.com/payments",
"position": 5,
"type": "organic",
"etv": 180.0
}
]
}
]
}
}Response Fields
| Field | Type | Description |
|---|---|---|
ok | boolean | Whether the request succeeded |
data.keywords | array | List of keywords where the specified pages intersect in search results |
data.keywords[].keyword | string | The keyword |
data.keywords[].volume | number | Monthly search volume |
data.keywords[].cpc | number | Average cost per click (USD) |
data.keywords[].competition | number | Competition level (0-1) |
data.keywords[].difficulty | number | Keyword difficulty score (0-100) |
data.keywords[].intent | string | Search intent (informational, navigational, commercial, transactional) |
data.keywords[].pages | array | Ranking data for each page that ranks for this keyword |
data.keywords[].pages[].url | string | The ranking page URL |
data.keywords[].pages[].position | number | SERP position for this page |
data.keywords[].pages[].type | string | Result type (e.g. organic) |
data.keywords[].pages[].etv | number | Estimated traffic value for this page (USD) |