🧪 Semrush Competitors Scraper — Rivals Side by Side
Pricing
from $1.28 / 1,000 comparable profiles
🧪 Semrush Competitors Scraper — Rivals Side by Side
Export the rivals Semrush names for any website, each carrying the website's own metric set — visits, authority score, bounce rate, pages per visit, time on site and all three ranks — so they line up in one table. The website itself is saved as a row beside them.
Pricing
from $1.28 / 1,000 comparable profiles
Rating
0.0
(0)
Developer
The Netaji
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Share
Semrush Competitors Scraper
The rivals Semrush names for a website, each carrying the website's own metric set, so they line up in one table you can sort. Every row — the website you asked about and each of its rivals — has visits and their month-on-month movement, the authority score, bounce rate, pages per visit, time on site, and the global, country and industry rank.
The website itself is saved as a row beside its rivals, marked subject. A dataset of
competitors with nothing to compare them against is half an answer.
Accepted input
domains is required and takes one website per line, either as a domain such as
stripe.com or as any link to the site. A link is reduced to its host, a www. prefix is
stripped because Semrush publishes a page for stripe.com and none for www.stripe.com,
and any other subdomain has no page of its own and is skipped with a line in the run log.
maxItems defaults to 100 and caps rows across the whole run, not websites. One
website produces its own row plus one per rival — between three and seven, measured — so a
list of ten websites is roughly forty to eighty rows. 0 means no limit.
{"domains": ["stripe.com", "shopify.com"],"maxItems": 100}
Response fields
{"requested_domain": "stripe.com","url": "https://www.semrush.com/website/stripe.com/competitors/","updated_at": "2026-08-12","domain": "gocardless.com","relation": "competitor","as_of": "2026-07-15","database": "US","visits": 3184220,"visits_change_percent": -0.041,"authority_score": 78,"bounce_rate": 0.5413,"pages_per_visit": 3.9,"time_on_site_seconds": 214,"global_rank": 18422,"country_rank": 9930,"country_code": "US","country_name": "United States","category_rank": 61,"category_name": "Finance","category_slug": "finance","competitor_count": 3}
Fields Semrush states no figure for are returned as null rather than omitted, so every row has the same shape — which is the whole point here, because rows of different shapes cannot be compared.
relation is subject on the website you asked about and competitor on each rival. It is
the only field that separates them; everything else is deliberately identical.
requested_domain is on every row, so a run over twenty websites splits back apart into
twenty comparison tables without any guessing about which rival belonged to which subject.
competitor_count is counted from what actually arrived, never copied from a figure Semrush
stated. How many rivals a website has is not a parameter and cannot be raised — it measured
between three and seven depending on the website.
bounce_rate is a fraction: 0.5413 is 54.13%. So is visits_change_percent. The three
ranks are positions, where a smaller number is better.
Behaviour on partial results
A website Semrush has no page for is skipped with a line in the run log and the rest of the list still runs. An entry that is not a domain at all is skipped before any request is made.
A website Semrush names no rivals for still produces its own subject row, with
competitor_count at 0. That is deliberate: the subject row is a figure to compare against
later, and an empty response is not.
Individual metrics can be null on a rival Semrush states no figure for. null is never
rendered as zero — a zero visits figure would be a measurement nobody made — so a rival with
a null visits is a rival Semrush declines to estimate, not a rival with no traffic.
Frequently asked questions
How is this different from the competitors panel on the website profile? That panel gives a name, a similarity score and a visits figure that is frequently null. This gives every rival the subject's full metric set — visits, authority score, bounce rate, pages per visit, time on site and all three ranks — which is what makes a comparison table possible. If all you need is a list of names, the panel on Semrush Website Scraper already has it and costs you nothing extra.
Can I ask for more competitors? No. How many Semrush names is not a parameter and is not stated by the page; it is what arrived, and it measured between three and seven. An input for it would be a control that does nothing.
Are these live numbers?
No. They are monthly estimates, and every row carries the month it describes in as_of. Two
runs a week apart return the same figures.
Why is there no country selector?
Because the free page has one database and it does not change. The same page fetched from US,
GB, DE and IN exits came back identical within two bytes, and Semrush's own database
parameters were ignored. Each row states what its figures are measured in, under database.
How do I turn this into a comparison table?
Group the dataset by requested_domain. Each group is one subject row and its rivals, in the
same columns, already sorted by whatever your spreadsheet sorts by. relation marks the
subject.
Is a Semrush account or API key required?
No. No account, session cookie or key of any kind is supplied to the Actor or needed by it.
Open the url on any row and you see the same numbers with no login.
Related Actors
Semrush Website Scraper reads one
website in full rather than comparably: top keywords with volume and cost per click,
backlinks and referring domains with their histories, the country split, the traffic journey
and referral traffic from each AI assistant. Every domain on a row here is a valid input
for it, so a competitor set is a starting point rather than a dead end.
Semrush Top Websites returns the hundred most visited websites for a country and an industry, which is where a competitor list comes from when you do not already have one.