compare_competitors
Compare a domain with its competitors on Google organic search — organic SERP counts, position bands, estimated monthly organic traffic, and the…
Cost: 90 credits.
compare_competitors puts a domain side by side with its rivals on Google organic search — how many organic result pages each one appears in, where those appearances sit, and what that traffic is worth — powered by DataForSEO Labs. It works on any public domain, so it reads your own site or a competitor's the same way, and it needs no project setup. It is synchronous: the table comes back immediately, with no background job to poll.
What it does
Name up to three competitors yourself, or omit them and let DataForSEO pick the rivals it sees sharing the most organic result pages with your target. The reply says which of the two happened, and every row is labelled with where it came from — target, found by DataForSEO, or supplied by you — so a discovered rival is never mistaken for one you chose.
Every domain in the table gets the same four lines, all read from DataForSEO's domain rank overview:
- Organic SERPs containing the domain — how many organic result pages the domain appears in. It counts result pages, not keywords.
- Organic SERPs by position (top 20) — how those appearances distribute across the top-20 bands: #1, #2-3, #4-10 and #11-20. Positions beyond #20 are counted in the total above but are not banded here, so the bands do not add up to it — they show how much of a domain's presence is near the top.
- Estimated monthly organic traffic (ETV) — DataForSEO's estimate of monthly visits, calculated from click-through rate and search volume. It is an estimate, not measured traffic.
- Estimated monthly cost of the same traffic as paid ads — what buying that organic traffic through ads would be estimated to cost per month.
A rival found by DataForSEO also carries its overlap with your target: how many intersecting keywords the two share, and the average position it holds on those shared keywords — not across its whole keyword set. A competitor you supplied carries no overlap figures, because no discovery request is made for it.
Only organic results are counted; paid placements are excluded. A metric DataForSEO has no value for is shown as n/a rather than as a zero, and a domain it holds no organic data for says so plainly.
Availability during beta
Live DataForSEO data is off during the beta. While it is off, compare_competitors returns a clear "competitor comparisons are not yet enabled on this deployment" message and charges you nothing — no credits are reserved or spent. SeoGrep never returns sample or placeholder figures dressed up as real data. Once live DataForSEO access is switched on, the same call starts returning real numbers.
Example
Ask your MCP client in plain language:
How does example.com compare with its competitors?
Or name the rivals yourself:
Compare example.com against first-rival.com and second-rival.com.
Input
| Field | Type | Required | Description |
|---|---|---|---|
target | string | Yes | The domain to compare, e.g. "example.com" or "https://example.com". |
competitors | string[] | No | Up to 3 competitor domains to compare the target against. Omit this to let DataForSEO pick the competitors for you. |
limit | integer | No | How many rows the competitor-discovery request may return (1–1000, default 1000). Unused when you pass "competitors": that skips the discovery request entirely. |
language_code | string | No | Language code (default 'en'). |
location_code | integer | No | DataForSEO location code (default 2840 = United States). |
Returns
A heading naming the target, the language and location the figures were read for, and where the compared rivals came from — then one block per domain with its metric lines, the target first. An input that is not a public domain — the target, or any competitor you named — is rejected before anything is charged, and while live data is off you get the "not yet enabled" message instead — also free.
Billing
One comparison reads DataForSEO more than once: a competitor-discovery request (skipped when you name the competitors yourself) plus one rank overview per compared domain. It is a flat price either way, charged once, as a single tool call. If any of those requests fails, the whole call fails and you are not charged — a partial comparison is never billed.
analyze_backlinks
Analyze a domain's backlink profile — total backlinks, referring domains, dofollow-only share, spam score, plus the top referring domains and anchor…
generate_report
Generate a shareable HTML SEO report for a project from its latest crawl and Search Console data, and get a public link to share with clients or…