Semrush Scraper — Website Traffic, Authority & Backlinks
Pricing
from $1.35 / 1,000 domain with traffic data
Semrush Scraper — Website Traffic, Authority & Backlinks
Semrush scraper for a whole list of domains at once: monthly visits, engagement, authority score, global and country rank, backlinks and six months of history. From $1.35 per 1,000 domains. No account, no API key. Unofficial, not affiliated with Semrush.
Unofficial. This Actor is not affiliated with, endorsed by or sponsored by Semrush. It reads only publicly available pages, does not log in and does not bypass any access control. All product names and trademarks belong to their respective owners.
How much traffic does a website get — for a list of domains, in one run
Paste domains. Get monthly visits, engagement, authority score, global and country rank, organic and paid search traffic, backlinks and six months of history — as CSV, Excel or JSON. No account, no API key.
58% of domains on a real list come back with a current traffic estimate. That number is measured, it is printed here on purpose, and the rows that fall in the other 42% are charged at half rate. More on both below — no competitor in this niche states a coverage figure at all.
One row, from a real run
ozon.ru, read on 27 August 2026. Complete except the history, trimmed from six
months to two.
{"domain": "ozon.ru","brandName": "OZON","visits": 230937460,"hasTrafficEstimate": true,"visitsChangePercent": -9.66,"latestMonth": "2026-07-01","authorityScore": 91,"globalRank": 144,"countryRank": 6,"countryRankCountry": "Russian Federation","categoryRank": 11,"categoryRankName": "Retail","pagesPerVisit": 8.3977,"avgVisitDurationSeconds": 700,"bounceRatePercent": 36.43,"organicSearchTraffic": 37765932,"organicSearchTrafficChangePercent": -4.1,"paidSearchTraffic": 2041,"backlinks": 90028488,"referringDomains": 103921,"googlePenaltyRisk": "Low","mainCountry": "RU","category": "Retail","dataDate": "2026-07-15","updatedAt": "2026-08-12","scrapedAt": "2026-08-27T14:21:52+00:00","monthlyVisits": [{ "month": "2026-07-01", "visits": 230937460, "desktopVisits": 130613928, "mobileVisits": 100323532 },{ "month": "2026-06-01", "visits": 255631047, "desktopVisits": 136689443, "mobileVisits": 118941604 }]}
Coverage, stated as a number
These are modelled estimates, not analytics from inside the site, and not every domain has been modelled. Measured over 60 domains in two samples:
| domains that had a page at all | 82% |
| of those, carrying a current traffic estimate | 58% on a list of ordinary mid-size companies |
| the same figure on a list of household-name brands | 81% |
The lower number is the one printed here, because a real buyer's list looks like the first sample, not the second.
A domain with no current estimate is not dropped and not hidden. It comes
back with hasTrafficEstimate: false, visits: null, and everything else it
does have — authority score, ranks, backlinks, organic traffic and the newest
month that does carry a figure. It is billed at half rate. A domain with no
page at all is named in the run summary and costs nothing.
Fields
34 per domain, counted, plus four more on each month of history.
| identity | domain, semrushDomain, brandName, url |
| traffic | visits, hasTrafficEstimate, visitsChangePercent, latestMonth, latestMonthVisits |
| standing | authorityScore, globalRank, countryRank, countryRankCountry, categoryRank, categoryRankName |
| engagement | pagesPerVisit, avgVisitDurationSeconds, bounceRatePercent |
| search | organicSearchTraffic, organicSearchTrafficChangePercent, paidSearchTraffic, paidSearchTrafficChangePercent |
| links | backlinks, backlinksChangePercent, referringDomains, referringDomainsChangePercent |
| classification | googlePenaltyRisk, mainCountry, category, categories |
| freshness | dataDate, updatedAt, scrapedAt |
| history | monthlyVisits — month, visits, desktopVisits, mobileVisits per month |
Optional blocks, off by default so you are not charged for data you did not ask for: monthly history, top countries, top keywords, competitors.
Speed and behaviour under failure
- One request per domain. Ten domains in about 35 seconds.
- A domain that fails does not stop the run. It is recorded with the reason and the run continues to the next one.
- Every run writes a summary next to the dataset: how many domains went in, how many carried a traffic estimate, which ones had no page, which filter dropped how many.
What it costs
Pay per event, and there are two — because 42% of rows are not the thing you asked for, and charging full rate for them would be dishonest.
| event | what it is | GOLD per 1,000 |
|---|---|---|
| Domain with traffic data | a current monthly visits estimate, plus everything else | $1.35 |
| Domain found | the page existed but has no current estimate: authority, ranks, links, organic traffic, last dated month | $0.68 |
Never charged: a domain with no page at all, and a domain removed by one of your filters.
- 500 domains, at the measured 58/42 split: about $0.53.
- 5,000 domains: about $5.35.
- Apify's $5 of monthly free credit: about 2,000 domains.
No add-on tier, no per-field upcharge, no separate event for history, keywords or competitors. One rate for a full row, half for a partial one.
Limits
- These are estimates. They are modelled from third-party panels and clickstream, not measured on the site. Treat them as comparable between domains, not as the site's own analytics.
- 58% coverage on an ordinary list, as above.
- The figures lag. Each row carries
dataDateandupdatedAtso you can see exactly how old the number is rather than guessing. - Small and new domains are the ones most often missing — the model needs volume before it publishes a figure.
- On the free plan everything works at the FREE rate until Apify's monthly platform credit runs out; the run then stops cleanly and keeps what it has.