Domain Overlap
Find the domains that link to every one of 2 to 5 target domains.
GET
/v1/domain-overlap5 creditsAPI keyReturns the domains that link to all of the target domains you list. Use it to find sites that already cover your whole competitive set, which makes them strong outreach prospects. Data comes from the pre-processed link graph snapshot (see Response format).
Request
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
domains | string | Yes | none | Comma-separated list of 2 to 5 domains, for example stripe.com,square.com,paypal.com. Each entry must be a valid domain (contains a dot, no scheme or path). |
limit | integer | No | 100 | Number of rows to return. Clamped to 1 to 1000. A non-numeric value falls back to 100. |
Entries that are not valid domains are silently dropped before the count is checked, so stripe.com,not-a-domain counts as one domain and fails.
Example
curl "https://api.rankparse.com/v1/domain-overlap?domains=stripe.com,square.com,paypal.com&limit=25" \
-H "X-API-Key: rp_your_key"import requests
res = requests.get(
"https://api.rankparse.com/v1/domain-overlap",
params={"domains": "stripe.com,square.com,paypal.com", "limit": 25},
headers={"X-API-Key": "rp_your_key"},
timeout=90,
)
res.raise_for_status()
for row in res.json()["data"]:
print(row["from_domain"], row["total_links"], row["targets_linked"])const params = new URLSearchParams({
domains: "stripe.com,square.com,paypal.com",
limit: "25",
});
const res = await fetch(`https://api.rankparse.com/v1/domain-overlap?${params}`, {
headers: { "X-API-Key": "rp_your_key" },
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const { data } = await res.json();
console.log(data);Response
{
"data": [
{
"from_domain": "techcrunch.com",
"total_links": 156,
"targets_linked": 3
},
{
"from_domain": "forbes.com",
"total_links": 98,
"targets_linked": 3
}
],
"total": 2,
"limit": 25,
"credits_used": 5,
"credits_remaining": 995
}Response fields
Top level:
| Field | Type | Description |
|---|---|---|
data | array | Domains that link to every target, sorted by total_links descending, then domain name. Empty when no domain links to all targets. |
total | integer | Number of rows returned in data. |
limit | integer | The limit value you sent, echoed back as received. |
credits_used | integer | Always 5. |
credits_remaining | integer | Your balance after this call. |
This endpoint does not echo a domain field because it takes a list.
Each row in data:
| Field | Type | Description |
|---|---|---|
from_domain | string | A domain that links to every target. |
total_links | integer | Links from this domain to the first target when the targets are sorted alphabetically. It is used for ranking, not a sum across targets. |
targets_linked | integer | Number of domains you supplied (after dropping invalid entries). Because every row links to all targets, it is the same on every row. |
Behavior and limits
- Credits: 5 per call, charged before the lookup. Server errors are refunded.
- Order does not matter: the targets are sorted and de-duplicated for the lookup and for the cache key, so the same set in any order is one cached result.
- Caching: results are cached for 30 days per crawl release and per combination of the sorted domain set and
limit. A cache hit is billed the same as a fresh lookup. - Empty results: if no domain links to all targets, you get
200withdata: []. - Rate limit: 60 requests per minute per key. See Rate limiting.
Errors
| HTTP | Code | When |
|---|---|---|
| 400 | invalid_domains | Fewer than 2 valid domains in domains. |
| 400 | too_many_domains | More than 5 valid domains. The message reads Maximum 5 domains allowed. |
| 401 | invalid_api_key | Missing, invalid or revoked API key. |
| 402 | insufficient_credits | Balance is lower than 5 credits. |
| 402 | spend_cap_reached | Your monthly spend cap is reached. |
| 429 | rate_limited | More than 60 requests in a minute. |
| 503 | query_timeout, upstream_error | Transient data store problem. Retry after the Retry-After header. Credits are refunded. |
See Errors for the full list and the error body format.
Related
MCP tool: get_domain_overlap (takes domains as an array of 2 to 5 strings and joins them for you).