# SEMrush Free Website Stats Scraper (`maximedupre/semrush-free-website-stats-scraper`) Actor

Scrape public SEMrush website stats for domains and URLs. Get authority score, visits, organic search traffic, referring domains, backlinks, source URLs, and scrape timestamps in clean dataset rows.

- **URL**: https://apify.com/maximedupre/semrush-free-website-stats-scraper.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 1,000 scraped semrush domains

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### 🔎 SEMrush free website stats scraper

SEMrush Free Website Stats Scraper extracts public website overview metrics from [SEMrush](https://www.semrush.com/website/wikipedia.org/overview/) for the domains you submit. Paste domains, website URLs, or SEMrush overview URLs, and the Actor saves one clean row per domain with authority score, traffic, organic search traffic, referring domains, backlinks, source URL, and scrape metadata.

Use this SEMrush scraper when you need quick SEO metrics for competitor research, lead scoring, website audits, market maps, prospect lists, dashboards, or recurring checks. The output is built for Apify dataset exports, API workflows, schedules, webhooks, and integrations.

No SEMrush login, cookies, API key, or paid SEMrush account is required from you. For a small first run, keep the prefilled domains and the default `Full` mode to see the complete row shape before adding a larger list.

### ✅ What this Actor does

- Accepts domains such as `wikipedia.org`, full URLs such as `https://github.com/features`, and SEMrush overview URLs.
- Normalizes each accepted target to a canonical domain.
- Scrapes public SEMrush website overview pages.
- Saves one dataset item per successfully scraped domain.
- Returns authority score, visits, organic search traffic, referring domains, backlinks, visible change percentages, the SEMrush reporting month, and source evidence.
- Lets you choose focused output modes for authority, traffic, or backlink stats.
- Skips domains SEMrush does not expose publicly and continues through the rest of your list.

The Actor is focused on free public SEMrush website stats. It does not scrape logged-in SEMrush dashboards, paid keyword reports, competitor lists, traffic cost, ad spend, backlink lists, or private project data.

### 📊 Data you can extract

Each dataset item is one SEMrush website stats row. Rows can include:

- `type` - always `semrush_website_stats`
- `status` - `ok` or `partial`
- `inputIndex` - submitted target position
- `requestedTarget` - original domain or URL you entered
- `domain` - canonical domain checked on SEMrush
- `sourceUrl` - public SEMrush overview URL
- `scrapedAt` - UTC scrape timestamp
- `asOf` - SEMrush reporting month when shown
- `authorityScore` - SEMrush Authority Score
- `visits` and `visitsText` - estimated monthly visits
- `organicSearchTraffic`, `organicSearchTrafficText`, and `organicSearchTrafficChange`
- `referringDomains`, `referringDomainsText`, and `referringDomainsChange`
- `backlinks`, `backlinksText`, and `backlinksChange`
- `missingFields` - fields SEMrush did not expose on that page, when the row is partial

Some fields can be empty because SEMrush does not show every metric for every domain.

### 🚀 How to run it

1. Open the Input tab.
2. Add one domain, website URL, or SEMrush overview URL per line in `Domains or URLs`.
3. Keep `Stats to collect` set to `Full`, or choose a focused mode if you only need authority, traffic, or backlink metrics.
4. Keep `Maximum domains` small for your first run, then raise it when the output looks right.
5. Run the Actor and open the dataset.

You can export the dataset as JSON, CSV, Excel, XML, RSS, or HTML, or consume the same rows through the Apify API.

### ✍️ Input examples

```json
{
	"targets": [
		"wikipedia.org",
		"https://github.com/features",
		"https://www.semrush.com/website/openai.com/overview/"
	],
	"mode": "full",
	"maxResults": 100
}
````

Use domains when you have a clean list. Use full URLs when your source data already contains website links. Use SEMrush overview URLs when you copied targets from SEMrush.

### 📦 Output example

```json
{
	"type": "semrush_website_stats",
	"status": "ok",
	"inputIndex": 1,
	"requestedTarget": "openai.com",
	"domain": "openai.com",
	"sourceUrl": "https://www.semrush.com/website/openai.com/overview/",
	"scrapedAt": "2026-05-28T17:15:29.393Z",
	"asOf": "April 2026",
	"authorityScore": 92,
	"visits": 458310000,
	"visitsText": "458.31M",
	"organicSearchTraffic": 40870000,
	"organicSearchTrafficText": "40.87M",
	"organicSearchTrafficChange": "+17%",
	"referringDomains": 389860,
	"referringDomainsText": "389.86K",
	"referringDomainsChange": "+2%",
	"backlinks": 61950000,
	"backlinksText": "61.95M",
	"backlinksChange": "-3%"
}
```

### 💳 Pricing

This Actor uses pay-per-event pricing. You are charged for each successfully scraped SEMrush website stats item saved to the dataset.

There is no separate Actor-start charge in this Actor's pricing configuration. Domains that SEMrush does not expose publicly are skipped and are not saved as dataset items.

### ⚠️ Limits and caveats

- SEMrush updates these public website overview metrics on its own schedule.
- Low-traffic or unsupported domains may not have a public SEMrush overview page.
- Paid SEMrush fields such as traffic cost, ad spend, full keyword lists, competitor details, and backlink lists are not included.
- The Actor returns the free public data SEMrush shows for each domain at run time.
- If a domain page loads but some fields are missing, the row is marked `partial` and lists the missing fields.

### ❓ FAQ

#### 🔐 Do I need a SEMrush account?

No. This Actor reads public SEMrush website overview pages and does not ask for SEMrush credentials, cookies, or API keys.

#### 🌐 Can I submit full URLs?

Yes. You can submit domains, website URLs, or SEMrush overview URLs. The Actor normalizes each accepted target to a domain before checking SEMrush.

#### ⚠️ Why are some domains skipped?

Some domains do not have a public SEMrush overview page, or SEMrush may temporarily return no public metrics for them. The Actor logs the skip and continues with the remaining targets.

#### 🧭 Is this a full SEMrush API?

No. It is a focused SEMrush free website stats scraper for public overview metrics. It does not replace paid SEMrush exports, projects, audits, keyword reports, or competitor reports.

### 📝 Changelog

- 0.1: Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~semrush-free-website-stats-scraper/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Other actors

- [Ubersuggest Scraper ↗](https://apify.com/maximedupre/ubersuggest-scraper) - collect SEO metrics, backlinks, top pages, and keyword suggestions from Ubersuggest.
- [Google Shopping Ads Scraper ↗](https://apify.com/maximedupre/google-shopping-ads-scraper) - monitor paid Google Shopping product ads by keyword and market.
- [Google Play Store Scraper ↗](https://apify.com/maximedupre/google-play-store-scraper) - extract public app metadata, ratings, and reviews from Google Play.
- [Website URL Crawler ↗](https://apify.com/maximedupre/website-url-crawler) - build rendered website link maps for SEO audits and migrations.
- [Business Address Scraper ↗](https://apify.com/maximedupre/business-address-scraper) - find public business addresses from company websites.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `targets` (type: `array`):

Enter one domain, website URL, or SEMrush overview URL per line, such as wikipedia.org, https://github.com, or https://www.semrush.com/website/openai.com/overview/.

## `mode` (type: `string`):

Choose whether to save the full public SEMrush overview or only authority, traffic, or backlink metrics.

## `maxResults` (type: `integer`):

Maximum accepted domains to scrape from the submitted list. Invalid, duplicate, and unsupported domains are skipped.

## Actor input object example

```json
{
  "targets": [
    "wikipedia.org",
    "github.com",
    "openai.com",
    "microsoft.com",
    "apple.com",
    "amazon.com",
    "google.com",
    "youtube.com",
    "facebook.com",
    "instagram.com",
    "linkedin.com",
    "netflix.com",
    "spotify.com",
    "shopify.com",
    "adobe.com",
    "salesforce.com",
    "cloudflare.com",
    "mozilla.org",
    "nytimes.com",
    "cnn.com",
    "bbc.com",
    "reddit.com",
    "stackoverflow.com",
    "ebay.com",
    "walmart.com",
    "target.com",
    "paypal.com",
    "oracle.com",
    "ibm.com",
    "zoom.us",
    "canva.com",
    "tiktok.com"
  ],
  "mode": "full",
  "maxResults": 100
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset of public SEMrush website stats by domain.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "targets": [
        "wikipedia.org",
        "github.com",
        "openai.com",
        "microsoft.com",
        "apple.com",
        "amazon.com",
        "google.com",
        "youtube.com",
        "facebook.com",
        "instagram.com",
        "linkedin.com",
        "netflix.com",
        "spotify.com",
        "shopify.com",
        "adobe.com",
        "salesforce.com",
        "cloudflare.com",
        "mozilla.org",
        "nytimes.com",
        "cnn.com",
        "bbc.com",
        "reddit.com",
        "stackoverflow.com",
        "ebay.com",
        "walmart.com",
        "target.com",
        "paypal.com",
        "oracle.com",
        "ibm.com",
        "zoom.us",
        "canva.com",
        "tiktok.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/semrush-free-website-stats-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "targets": [
        "wikipedia.org",
        "github.com",
        "openai.com",
        "microsoft.com",
        "apple.com",
        "amazon.com",
        "google.com",
        "youtube.com",
        "facebook.com",
        "instagram.com",
        "linkedin.com",
        "netflix.com",
        "spotify.com",
        "shopify.com",
        "adobe.com",
        "salesforce.com",
        "cloudflare.com",
        "mozilla.org",
        "nytimes.com",
        "cnn.com",
        "bbc.com",
        "reddit.com",
        "stackoverflow.com",
        "ebay.com",
        "walmart.com",
        "target.com",
        "paypal.com",
        "oracle.com",
        "ibm.com",
        "zoom.us",
        "canva.com",
        "tiktok.com",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/semrush-free-website-stats-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "targets": [
    "wikipedia.org",
    "github.com",
    "openai.com",
    "microsoft.com",
    "apple.com",
    "amazon.com",
    "google.com",
    "youtube.com",
    "facebook.com",
    "instagram.com",
    "linkedin.com",
    "netflix.com",
    "spotify.com",
    "shopify.com",
    "adobe.com",
    "salesforce.com",
    "cloudflare.com",
    "mozilla.org",
    "nytimes.com",
    "cnn.com",
    "bbc.com",
    "reddit.com",
    "stackoverflow.com",
    "ebay.com",
    "walmart.com",
    "target.com",
    "paypal.com",
    "oracle.com",
    "ibm.com",
    "zoom.us",
    "canva.com",
    "tiktok.com"
  ]
}' |
apify call maximedupre/semrush-free-website-stats-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=maximedupre/semrush-free-website-stats-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEMrush Free Website Stats Scraper",
        "description": "Scrape public SEMrush website stats for domains and URLs. Get authority score, visits, organic search traffic, referring domains, backlinks, source URLs, and scrape timestamps in clean dataset rows.",
        "version": "0.1",
        "x-build-id": "JRyg7Ykgzp246ChGH"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/maximedupre~semrush-free-website-stats-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-maximedupre-semrush-free-website-stats-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/maximedupre~semrush-free-website-stats-scraper/runs": {
            "post": {
                "operationId": "runs-sync-maximedupre-semrush-free-website-stats-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/maximedupre~semrush-free-website-stats-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-maximedupre-semrush-free-website-stats-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "targets"
                ],
                "properties": {
                    "targets": {
                        "title": "Domains or URLs",
                        "type": "array",
                        "description": "Enter one domain, website URL, or SEMrush overview URL per line, such as wikipedia.org, https://github.com, or https://www.semrush.com/website/openai.com/overview/.",
                        "items": {
                            "type": "string",
                            "minLength": 1
                        }
                    },
                    "mode": {
                        "title": "Stats to collect",
                        "enum": [
                            "full",
                            "authority_only",
                            "backlinks_only",
                            "traffic_only"
                        ],
                        "type": "string",
                        "description": "Choose whether to save the full public SEMrush overview or only authority, traffic, or backlink metrics.",
                        "default": "full"
                    },
                    "maxResults": {
                        "title": "Maximum domains",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum accepted domains to scrape from the submitted list. Invalid, duplicate, and unsupported domains are skipped.",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
