sfoln/competitor-domains · SEO tools, Lead generation, Developer tools On request
Find the domains competing with any website in Google organic search: shared keywords, average position, estimated traffic, ranking keywords and top-10 counts per competitor. $0.045 per domain ($45 per 1,000) + $1 per 1,000 competitors.
Competitor Domains Finder (SEO) finds the websites that compete with a domain in Google organic search. For each competitor you get the number of shared keywords, its average position on those keywords, and the size of its whole organic presence: estimated traffic, number of ranking keywords, and top-1, top-3 and top-10 counts (DataForSEO Labs data). Use it to map a market, find content and link opportunities, benchmark clients, or give AI agents competitive context. You pay $0.045 per domain plus $1 per 1,000 competitors delivered.
Price
Price per delivered record
Event
Price
Per 1,000
Charged for
Competitor query competitor-domains-query
$0.045
$45 / 1,000
Charged once per domain the upstream processed (covers the per-request fee).
Competitor domain competitor-domain
$0.001
$1 / 1,000
Charged once per competitor record delivered.
Apify free plan: up to 5 items per run. Paid plans have no per-run cap; set maxTotalChargeUsd to cap spend.
Run
Call it from code, an agent or the Console
This API is private on Apify for now. Email us and we will publish it for you, usually within two working days. The calls below work once it is public. contact@sfoln.com
POST https://api.apify.com/v2/actors/sfoln~competitor-domains/runs?maxTotalChargeUsd=1
GET https://api.apify.com/v2/actor-runs/{runId} # until status is SUCCEEDED
GET https://api.apify.com/v2/datasets/{defaultDatasetId}/items?format=json
Authenticate with an Apify API token. MCP clients can instead sign in with OAuth when prompted. Example prompt for an agent: Which 20 websites compete most with dataforseo.com in Google organic search? Show shared keywords and estimated traffic for each.
Input
Input fields
Enter domains. Each domain returns up to `limitPerDomain` organic competitors, in the order DataForSEO returns them.
Field
Type
Default
Meaning
domains *
array
required
Domains Domains or URLs, one per line (URLs are reduced to their domain). Accounts on the Apify free plan can process up to 5 domains per run.
limitPerDomain
integer
20
Competitors per domain Maximum competitors returned per domain. Each competitor is billed as competitor-domain. Range 1–100.
location
string
"2840"
Location DataForSEO location code (2840 = United States, 2826 = United Kingdom, 2276 = Germany) or full location name (e.g. "United Kingdom").
languageCode
string
"en"
Language code Language code, e.g. en, de, fr, es.
excludeTopDomains
boolean
false
Exclude top domains Drop very large generic sites (Wikipedia, Amazon, YouTube…) from the competitor list.
maxDomains
integer
100
Max domains Safety cap on how many domains are processed in this run. Range 1–1000.
concurrency
integer
3
Concurrency How many domains are processed in parallel. Range 1–6.
includeRaw
boolean
false
Include raw upstream response Attach the unmodified DataForSEO item to each result record.
Records land in the run's dataset; a synchronous call returns them directly. Each has a status (ok is charged; everything else is free) and a charged flag. The run's OUTPUT record totals items and charges.
Field
Type
Meaning
recordType
string
Record type competitor = one competitor; summary = one per input domain. e.g. "competitor"
domain
string
Domain Your (input) domain. e.g. "dataforseo.com"
competitorDomain
string
Competitor Competing domain. e.g. "semrush.com"
intersections
integer | null
Shared keywords Keywords both domains rank for. e.g. 1830
avgPosition
number | null
Avg position Competitor’s average position on the shared keywords.
sumPosition
integer | null
Sum of positions Sum of the competitor’s positions on the shared keywords.