TidyTools

Link gap prospects

POST https://tools.yukai.uk/api/v1/link-gap

Link gap: domains that link to your competitors but not to you. Link prospecting in one call: the domains that link to at least minCompetitors of up to 10 competitors but not to your domain, most-linked first, then highest authority, each with its authority score, Chrome popularity bucket and which competitors it links to. Big platforms (social networks, site builders, hosts, app stores) are left out by default. When your own referrer list is longer than the dataset stores, weaker prospects that might already link to you are flagged (mayAlreadyLinkToYou). Open data, updated quarterly.

Cost

Credits: 27 per prospect ($0.0027 per prospect). 540 credits are reserved before the call; the call is then settled on the real number of items returned. Failed calls are free. Source price: backlink-gap/link-prospect.

Input

Send a JSON body (POST) or the same fields as a query string (GET).

Required: yourDomain, competitors.

FieldTypeDefaultDescription
yourDomain requiredstringYour website: a domain or URL. Alias: domain.
competitors requiredarray of stringUp to 10 competitor domains: a JSON array in the POST body, or comma- or space-separated in the query string (GET).
limitinteger25Prospects returned.
minCompetitorsinteger1Only domains that link to at least this many of your competitors.
minAuthorityinteger0Only referring domains with at least this authority score.
onlyWithChromeTrafficbooleanfalseOnly referring domains that are in the Chrome UX Report lists (they have real visitors).
excludeDomainsstringComma-separated domains to leave out (up to 200).
excludeBigPlatformsbooleantrueLeave out big platforms where anyone can get a link (social networks, blog and site hosts, app stores, link shorteners, code hosts).

Examples

Replace tt_live_XXXX with your key from the pricing page.

curl

curl -i -X POST "https://tools.yukai.uk/api/v1/link-gap" \
  -H "Authorization: Bearer tt_live_XXXX" \
  -H "Content-Type: application/json" \
  -d '{"yourDomain":"apify.com","competitors":["scrapingbee.com","zenrows.com","brightdata.com"]}'

JavaScript (fetch)

const res = await fetch("https://tools.yukai.uk/api/v1/link-gap", {
  method: "POST",
  headers: { "Authorization": "Bearer tt_live_XXXX", "Content-Type": "application/json" },
  body: JSON.stringify({"yourDomain":"apify.com","competitors":["scrapingbee.com","zenrows.com","brightdata.com"]}),
});
console.log(res.status, res.headers.get("x-credits-charged"), res.headers.get("x-credits-balance"));
console.log(await res.json());

Python (requests)

import requests

r = requests.post(
    "https://tools.yukai.uk/api/v1/link-gap",
    headers={"Authorization": "Bearer tt_live_XXXX"},
    json={"yourDomain": "apify.com", "competitors": ["scrapingbee.com", "zenrows.com", "brightdata.com"]},
    timeout=120,
)
print(r.status_code, r.headers.get("x-credits-charged"), r.headers.get("x-credits-balance"))
print(r.json())

Response

JSON with "success": true and the result fields; on failure {"success": false, "error": {"code", "message", "retryable"}} and no credits are used. Every answer carries x-credits-charged (credits used) and x-credits-balance (balance after the call); check the balance any time with GET https://tools.yukai.uk/v1/billing/balance.

Full field list and response schema: OpenAPI spec backlinks (its servers entry is the marketplace gateway; call https://tools.yukai.uk with your key).

← All routes · Pricing