Semrush Website Traffic Stats Scraper avatar

Semrush Website Traffic Stats Scraper

Pricing

Pay per event

Go to Apify Store
Semrush Website Traffic Stats Scraper

Semrush Website Traffic Stats Scraper

Extract public Semrush traffic stats for bulk domain lists: visits, engagement, organic and paid traffic, countries, keywords, and competitors.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Extract public Semrush website traffic stats for a bulk list of domains. This actor reads anonymous Semrush /website/{domain}/overview/ pages and turns visible overview metrics into structured dataset records.

Use it to compare competitors, qualify SEO prospects, enrich lead lists, and monitor market traffic signals without copying numbers by hand.

What does Semrush Website Traffic Stats Scraper do?

It fetches public Semrush website overview pages and extracts the metrics that are visible in the page HTML.

  • 🌐 Total website visits
  • 📈 Visit history
  • 🔎 Organic and paid traffic estimates
  • 🌍 Top countries and traffic share
  • 🧭 Engagement metrics such as pages per visit and bounce rate
  • 🏁 Similar competitors shown by Semrush
  • 🔑 Top organic keywords when visible
  • 🤖 AI traffic sources when Semrush exposes them publicly

Who is it for?

This scraper is designed for practical SEO and growth workflows.

  • SEO agencies auditing prospect lists
  • Growth teams comparing competitors
  • Demand generation teams enriching accounts
  • Competitive intelligence analysts building market snapshots
  • Content teams prioritizing websites by search potential
  • Investors and operators checking public traffic trends

Why use this actor?

Manual Semrush checks are slow when you have dozens or hundreds of domains. This actor accepts a list of domains and returns one clean record per website.

You can export the dataset to JSON, CSV, Excel, Google Sheets, or consume it through the Apify API.

What data can you extract?

FieldDescription
domainDomain that was checked
semrushUrlPublic Semrush overview URL
totalVisitsEstimated visits from the public overview
pagesPerVisitEstimated pages per visit
averageVisitDurationSecondsAverage visit duration in seconds
bounceRateEstimated bounce rate
organicVisitsEstimated organic search visits
paidVisitsEstimated paid search visits
topCountriesCountry traffic and share breakdown
topOrganicKeywordsVisible top keyword metrics
competitorsSimilar domains from Semrush
aiTrafficSourcesVisible AI-source traffic signals
visitsHistoryHistorical visit estimates
searchTrafficHistoryOrganic and paid trend points
dataFoundWhether public metrics were found
errorExtraction warning or request error

How much does it cost to extract Semrush website traffic stats?

The actor uses pay-per-event pricing.

  • A small start event is charged once per run.
  • One item event is charged for each domain record saved.
  • You control spend with maxItems and the number of domains in the input.

Start with 5-10 domains, inspect the output, then scale to larger batches.

Input

You can provide domains directly:

{
"domains": ["google.com", "microsoft.com", "apple.com"],
"maxItems": 10
}

You can also provide Semrush overview URLs:

{
"startUrls": [
{ "url": "https://www.semrush.com/website/google.com/overview/" }
],
"maxItems": 10
}

Input fields

domains

A list of domains such as example.com. Do not include login-only Semrush project URLs.

startUrls

Optional request-list input for Semrush overview URLs or normal website URLs. The actor extracts the domain from each URL.

maxItems

Maximum unique domains to process. This is a safety cap for first runs and scheduled jobs.

Output example

{
"domain": "google.com",
"semrushUrl": "https://www.semrush.com/website/google.com/overview/",
"totalVisits": 101172727926,
"organicVisits": 5235637014,
"paidVisits": 21228492,
"pagesPerVisit": 5.6419,
"bounceRate": 0.3669,
"topCountries": [{ "countryCode": "US", "countryName": "United States" }],
"dataFound": true,
"scrapedAt": "2026-07-02T00:00:00.000Z"
}

How to run it

  1. Open the actor on Apify.
  2. Paste your domains into the Domains input.
  3. Set Maximum domains for the run.
  4. Start the actor.
  5. Download results from the dataset tab.

Tips for best results

  • Use root domains like example.com instead of long URLs.
  • Keep the first run small to verify the exact fields visible for your domains.
  • Some domains may have limited public Semrush data; check dataFound and error.
  • Schedule repeat runs if you need periodic competitive snapshots.

Integrations

Use the output in common SEO workflows:

  • Push high-traffic competitors into a BI dashboard.
  • Enrich CRM accounts with public traffic estimates.
  • Join topCountries with market priority lists.
  • Send domains with rising organic traffic to a content research queue.
  • Compare paid and organic traffic mix for acquisition planning.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/semrush-website-traffic-stats-scraper').call({
domains: ['google.com', 'microsoft.com'],
maxItems: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/semrush-website-traffic-stats-scraper').call(run_input={
'domains': ['google.com', 'microsoft.com'],
'maxItems': 2,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~semrush-website-traffic-stats-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"domains":["google.com","microsoft.com"],"maxItems":2}'

MCP usage

Connect through Apify MCP with this tool URL:

https://mcp.apify.com/?tools=automation-lab/semrush-website-traffic-stats-scraper

Add it to Claude Code:

$claude mcp add apify-semrush-traffic "https://mcp.apify.com/?tools=automation-lab/semrush-website-traffic-stats-scraper"

Or add an MCP server JSON config:

{
"mcpServers": {
"apify-semrush-traffic": {
"url": "https://mcp.apify.com/?tools=automation-lab/semrush-website-traffic-stats-scraper"
}
}
}

Example prompts:

  • "Use the Apify Semrush traffic scraper to analyze google.com, microsoft.com, and apple.com, then summarize organic vs paid traffic."
  • "Run the MCP Semrush Website Traffic Stats Scraper for this prospect list and rank the domains by visits."
  • "Compare top countries for these SaaS competitors using the Apify actor output."

Scheduling

Create a scheduled task to monitor the same domain set weekly or monthly. Export each dataset to your warehouse or spreadsheet to track trend changes over time.

Data freshness

Semrush public overview pages display Semrush's current public estimates. The actor records the dates visible in the page, such as trafficDate and organicTrafficDate, so you can understand the period behind the metrics.

Reliability notes

The actor uses HTTP requests rather than a browser. This keeps runs fast and inexpensive. If Semrush changes the public page structure, records may return dataFound: false with an explanatory error field instead of failing the whole run.

FAQ

Why is dataFound false?

The domain may not have public metrics, Semrush may have changed the page, or the request may have returned a limited page. Check httpStatus, pageTitle, and error.

Can I use Semrush account-only data?

No. This actor is for public anonymous Semrush overview pages only. It does not log in and does not use private Semrush projects.

Legality

This actor extracts public web page data. Make sure your use case complies with applicable laws, Semrush terms, and privacy requirements. Do not use the output for unlawful profiling or spam.

Other automation-lab actors can complement this workflow:

  • Google Search Results Scraper for SERP visibility checks
  • Website Contact Finder for lead enrichment
  • Website Technology Lookup actors for account qualification
  • SEO audit and metadata scrapers for on-page checks

Changelog

  • Initial version: public Semrush overview extraction for traffic, engagement, geography, keywords, competitors, and trend fields.

Limitations

  • Metrics are Semrush estimates, not first-party analytics.
  • Public pages can expose different fields for different domains.
  • The actor cannot bypass private account walls.
  • Very large runs should be tested gradually.

Support

If a field stops appearing, include a sample domain and run ID when requesting support. The dataFound, httpStatus, and error fields help diagnose page changes quickly.