Semrush Scraper - Authority Score, Traffic & Competitors avatar

Semrush Scraper - Authority Score, Traffic & Competitors

Pricing

from $0.90 / 1,000 websites

Go to Apify Store
Semrush Scraper - Authority Score, Traffic & Competitors

Semrush Scraper - Authority Score, Traffic & Competitors

Scrape Semrush website data without an account: Authority Score, visits, organic and paid traffic, backlinks, referring domains, ranks, top countries and keywords, competitors, traffic sources, AI traffic and top-websites rankings. From $0.90 per 1,000 websites.

Pricing

from $0.90 / 1,000 websites

Rating

0.0

(0)

Developer

Top Api

Top Api

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

5 days ago

Last modified

Share

What does Semrush Scraper do?

Semrush Scraper reads Semrush's public website data for any list of domains: Authority Score, monthly visits and their change, pages per visit, time on site, bounce rate, desktop / mobile split, worldwide / country / industry rank, organic and paid search traffic, backlinks, referring domains, Google penalty risk, the top 5 countries, the top 5 organic keywords (position, volume, CPC, intent), competitors, traffic sources and destinations, AI-assistant traffic and 3-6 months of history. It also returns competitor rows (every website on a domain's Semrush competitors page, with its own metrics) and Semrush's top-websites rankings (the 100 most visited websites of 240 countries x 111 industries). One row per website, competitor or ranking entry. SEO agencies, investors, lead-scoring and market-research teams use it as a Semrush API alternative.

  • ๐Ÿ… Authority: Semrush Authority Score, backlinks and referring domains with the month's change, Google penalty risk.
  • ๐Ÿšฆ Traffic: exact monthly visits (not "232.54M"), engagement, desktop / mobile, organic and paid search traffic.
  • ๐ŸŒ Countries and keywords: the 5 countries and 5 organic keywords that bring the most traffic.
  • ๐ŸฅŠ Competitors: the closest competitors on every row; competitor rows add each competitor's Authority Score, visits, ranks and engagement.
  • ๐Ÿ”€ Traffic journey and AI traffic: where visitors come from and go next, and how much ChatGPT, Claude, Grok and other AI sites send.
  • ๐Ÿ† Top websites by country and industry, with exact visits, month-over-month and year-over-year change.
  • ๐Ÿ”‘ No Semrush account, no API key, no subscription; domains Semrush does not publish are listed and never charged.
  • ๐Ÿ”” Monitor mode, schedules, API, MCP, Make / Zapier / n8n.

What data can you get from Semrush?

๐Ÿ… Authority Score authority_score๐Ÿ”— Backlinks backlinks๐ŸŒ Referring domains referring_domains
๐Ÿšฆ Monthly visits visits๐Ÿ”Ž Organic traffic organic_traffic๐Ÿ’ต Paid traffic paid_traffic
๐ŸŒ World rank global_rank๐Ÿ—บ๏ธ Country rank country_rank๐Ÿ“‚ Industry rank category_rank
โฑ๏ธ Time on site time_on_site_seconds๐Ÿ“„ Pages per visit pages_per_visitโ†ฉ๏ธ Bounce rate bounce_rate_percent
๐Ÿ“ฑ Desktop / mobile desktop_visits, mobile_visits๐ŸŒ Top 5 countries top_countries๐Ÿ”‘ Top 5 keywords top_keywords
๐ŸฅŠ Competitors competitors๐Ÿ”€ Traffic sources traffic_sources๐Ÿค– AI traffic ai_traffic
๐Ÿ“… History search_traffic_history, backlinks_historyโš ๏ธ Penalty risk google_penalty_risk๐Ÿท๏ธ Brand, industries brand_name, categories
๐Ÿงฉ Competitor rows competitor_of, position๐Ÿ† Top-websites rows rank, visits_change_yoy_percent๐Ÿ”” Changes since last run change_since_last_run

How to scrape Semrush with Semrush Scraper

  1. Create a free Apify account (it comes with free monthly credit).
  2. Open Semrush Scraper and type your Domains or URLs, one per line (stripe.com).
  3. Tick Competitor rows for each domain's competitors, or pick Top websites: countries and industries. All of them can run together.
  4. Set Max rows, and the filters if you want them.
  5. Click Start, then download the rows as JSON, CSV or Excel, or read them through the API.

Input

ParameterTypeDescription
๐ŸŒ Websites
domainsarrayDomains, website URLs or Semrush pages (semrush.com/website/stripe.com/overview/, .../competitors/, semrush.com/trending-websites/us/finance, any language host). www., case and paths are normalised.
urlsFromFilestringA pasted list (text, CSV, JSON) or a public .csv / .json / .txt link, up to 2 MiB.
allTrackedDomainsbooleanEvery website Semrush publishes a page for (about 250,000, from its sitemaps), up to Max rows. Default false.
domainSuffixes, excludeKeywordsarrayKeep only .de, .co.uk...; skip domains containing a word. Free, before any page is read.
includeCompetitorsbooleanOne competitor row per website on each domain's competitors page (charged per row). The website row also gets its rank changes in places and Semrush's description. Default false.
competitorsOnlybooleanOnly the competitor rows, no website row. Default false.
maxCompetitorsPerDomainintegerCompetitor rows per domain (Semrush lists 1-10). Default 20 (all).
includeHistorybooleanVisits (3 months), device, search traffic, backlinks, referring domains and AI sources (6 months each). Default true, free.
includeTopCountries, includeTopKeywords, includeTrafficSources, includeAiTrafficbooleanLeave a section out of the rows. Default true, free.
๐Ÿ† Top websites
locationsarrayglobal (World), us, gb, de... (240 countries). Empty = no rankings.
topWebsitesCategoriesarrayall, finance, automotive, online-services... (111 industries).
topWebsitesLimitintegerRows per ranking, up to 100. Default 100.
enrichTopWebsitesbooleanAdd each ranked website's full website data to its row (one top-website + one website event).
๐Ÿ”Ž Filters (before the charge)
minAuthorityScore, maxAuthorityScore, minVisits, maxVisits, minOrganicTraffic, onlyCategories, onlyCountriesRows that miss them are dropped free.
๐Ÿ”” Monitoring
monitorMode, monitorOutput, monitorStoreNameOnly new or changed rows since the last run with the same name.
โš™๏ธ Run options
maxItemsintegerRows for the whole run, all kinds together (0 = no limit). Default 300.
maxConcurrencyintegerPages in parallel. Default 8.
proxyConfigurationobjectOptional; by default the actor reads directly and climbs to Apify datacenter, then residential, only when a route is refused.

Rival field names work too: urls, targets, websites, startUrls, queries, country_top_websites, industry_top_websites, topWebsitesCountry, topWebsitesIndustry, rankingCountry, rankingIndustry, includeCompetitorDetails, competitorsPerDomain, includeMonthlyHistory, onlyWithTrafficEstimate, filterCountries, filterCategories, onlyNew, onlyChanged, stateKey, maxResults.

Input JSON

{
"domains": ["stripe.com", "github.com", "https://www.notion.so/product"],
"includeCompetitors": true,
"locations": ["us", "de"],
"topWebsitesCategories": ["finance"],
"topWebsitesLimit": 100
}

Give the bare domain, not a page

Semrush keeps one page per registrable domain. https://www.stripe.com/pricing becomes stripe.com; a subdomain without its own page (docs.github.com) falls back once to github.com and the row says resolved_from.

Big lists: give the run more memory

At the default 256 MB a run reads about 2.4 websites a second (300 websites in 124 s). At 1,024 MB the same 300 took 32 s and cost the same ($0.0034 of platform usage either way), because the work is CPU-bound and CPU grows with memory. For 1,000+ domains, set Memory to 1,024 MB in the run options.

Output

A real website row (stripe.com with includeCompetitors, run 2026-10-28; arrays cut to their first entry):

{
"type": "domain_overview",
"domain": "stripe.com",
"url": "https://www.semrush.com/website/stripe.com/overview/",
"main_country": "US",
"categories": ["Computer Software and Development", "Finance", "Information Technology", "Online Services"],
"data_month": "2026-09",
"authority_score": 79,
"global_rank": 145,
"global_rank_trend": "up",
"global_rank_change_places": 12,
"country_rank": 145,
"country_rank_country": "US",
"category_rank": 3,
"category_rank_name": "Finance",
"visits": 232542245,
"visits_change_percent": 11.79,
"pages_per_visit": 2.812,
"time_on_site_seconds": 498,
"bounce_rate_percent": 61.53,
"desktop_visits": 125511872,
"mobile_visits": 107030373,
"organic_traffic": 4963905,
"organic_traffic_change_percent": -11.1,
"paid_traffic": 192150,
"total_search_traffic": 5156055,
"backlinks": 141005083,
"backlinks_change_percent": -3.87,
"referring_domains": 732469,
"google_penalty_risk": "Low",
"top_country": "US",
"top_country_traffic": 59382926,
"top_countries": [{ "country": "US", "country_name": "United States", "visits": 59382926, "share_percent": 25.54, "desktop_share_percent": 37.37, "mobile_share_percent": 62.63 }],
"keywords_database": "US",
"top_keywords": [{ "keyword": "stripe login", "position": 1, "search_volume": 135000, "cpc": 14.46, "traffic_percent": 7.08, "intents": [] }],
"competitors": [{ "domain": "gocardless.com", "relevance": 0.14, "visits": 3032397 }],
"traffic_sources": [{ "source": "Direct", "source_type": "Direct", "visits": 54586835, "previous_visits": 46022598, "share_percent": 43.49 }],
"ai_traffic": [{ "source": "chatgpt.com", "name": "ChatGPT", "visits": 1268580, "share_percent": 0.7 }],
"search_traffic_history": [{ "month": "2026-09", "organic": 4963905, "paid": 192150, "total": 5156055 }],
"competitor_count": 3
}

A competitor row and a top-websites row (same run):

{ "type": "competitor", "competitor_of": "stripe.com", "position": 1, "domain": "gocardless.com", "relevance": 0.14,
"authority_score": 58, "visits": 3032397, "visits_change_percent": 16.98, "global_rank": 19485, "global_rank_change_places": 1656,
"country_rank": 954, "country_rank_country": "GB", "category_rank_name": "Accounting and Auditing",
"bounce_rate_percent": 44.72, "pages_per_visit": 4.1327, "time_on_site_seconds": 303, "data_month": "2026-09" }
{ "type": "top_website", "ranking_country_name": "World", "ranking_industry_name": "All Industries", "rank": 1, "domain": "google.com",
"visits": 108899227055, "desktop_share_percent": 35.85, "mobile_share_percent": 64.15,
"visits_change_mom_percent": 3, "visits_change_yoy_percent": 1.62, "top_traffic_source": "direct", "data_month": "2026-09" }

Fields

Fill measured on 2026-10-28: 75 websites from a 99-domain buyer list (24 had no public Semrush page), 1,000 websites from Semrush's own list (mostly small sites), 162 competitor rows of 30 domains, 1,000 top-websites rows of 10 countries:

FieldBuyer listSmall sitesMeaning
authority_score, backlinks, referring_domains, google_penalty_risk100%99.6%authority and links
visits, engagement, top_countries, global_rank100%86.5%traffic and ranks
organic_traffic, paid_traffic, search_traffic_history100%65.2%search traffic
top_keywords100%45.5%5 keywords
competitors94.7%37.8%closest competitors
categories, category_rank94.7%, 80%39.1%, 0.9%industries
ai_traffic97.3%22.9%AI sources
brand_name62.7%0.1%only well-known brands
description, *_rank_change_places (with includeCompetitors)100% on 30 of 30from the competitors page
competitor rows: Authority Score, visits, ranks, engagement / relevance100% / 54.9%relevance only for the competitors the website page shows
top-websites rows: every field / visits_change_yoy_percent100% / 96.8%

type tells the three row kinds apart; columns that do not apply to a row are absent or null. Percent fields are percent (61.53 = 61.53%).

Use cases

  • ๐Ÿงฒ Lead scoring: add visits, Authority Score, industry and main country to a CRM list of company domains.
  • ๐Ÿ“Š Competitor benchmarking: line up competitors' traffic, engagement, ranks and backlinks month by month.
  • ๐Ÿ”— Link building: score outreach lists by Authority Score, referring domains and penalty risk.
  • ๐Ÿ’ผ Domain and website due diligence: traffic, channels and history before you buy or invest.
  • ๐Ÿ—บ๏ธ Market maps: the 100 most visited websites of a country and industry, with full data per site.
  • ๐Ÿค– AI traffic reporting: see how much ChatGPT, Claude and other AI sites send to each website.

How much does it cost to scrape Semrush?

Pay per row, no start fee:

EventPrice
Website row$0.0009 ($0.90 per 1,000)
Top-websites row$0.0009
Competitor row$0.0013
RunRowsPrice
100 websites100$0.09
30 websites + their competitors30 + 162$0.24
Top 100 of 10 countries1,000$0.90
1,000 websites1,000$0.90

A domain without a public Semrush page, a filtered row and an unchanged monitor row cost nothing. Cap any run with Maximum cost per run; it stops at the cap and says so.

Integrations, API, scheduling & MCP

  • Schedule it monthly (Semrush refreshes these pages once a month) with Monitor mode on, and only changed websites come back, with change_since_last_run.
  • Webhooks send the finished dataset to your app; connect Make, Zapier, n8n, Google Sheets or Slack from the Integrations tab.
  • API: run it from Python or JavaScript with apify-client, or call the REST endpoint.
  • MCP: add it to Claude, Cursor or any MCP client through the Apify MCP server.

More SEO and website scrapers

More from TopApi.

Limits & empty runs

  • Coverage: Semrush publishes a public page for about 250,000 websites. On a 99-domain buyer list 75 had one; some well-known sites have none (zapier.com, mazda.de on 2026-10-28). Those come back in the run summary, free.
  • Not in the rows: keyword research for your own keywords (volume, keyword difficulty, ideas, SERP features), full organic keyword and backlink lists, keyword counts, traffic cost and AI visibility scores. Semrush shows those only to signed-in users or behind a reCAPTCHA check on its free tools.
  • Rank changes in places are on competitor rows and on website rows with includeCompetitors; every website row has *_rank_trend (up / down / same).
  • Estimates: every figure is Semrush's monthly estimate for data_month; Semrush updates the pages once a month.
  • Empty runs say why in the status message and in RUN_SUMMARY (not published, filtered out, unchanged since the last run, or not reachable). If Semrush refuses every request on every route, the run ends FAILED and nothing is charged.