# Similarweb Traffic Scraper (`fetch_cat/similarweb-traffic-scraper`) Actor

Get Similarweb website traffic, rankings, engagement, channel mix, keywords, geography, and AI referral estimates.

- **URL**: https://apify.com/fetch\_cat/similarweb-traffic-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** SEO tools, Lead generation, Automation
- **Stats:** 4 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 domain results

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Similarweb Traffic Scraper

Get structured Similarweb estimates for up to 200 domains in one run—without a Similarweb login or API key.

The Actor is designed for traffic benchmarking, lead research, SEO analysis, AI-referral monitoring, and recurring competitor reports. It saves one record per unique valid domain and exposes explicit `status`, `dataCoverage`, and `warnings` fields so limited source coverage is never mistaken for zero traffic.

### Popular workflows

- Compare competitors by monthly visits, rank, engagement, and acquisition-channel mix.
- Monitor AI-referred visits and the share attributed to ChatGPT, Claude, Gemini, Perplexity, and other assistants.
- Research top keywords, leading countries, and estimated country-level traffic.
- Enrich domain or company lists with traffic signals for lead scoring and market research.

### What you get

- Global, country, category, and global-category ranks
- Latest visits, bounce rate, pages per visit, and average visit duration
- Three-month visit history
- Top countries with traffic share and estimated monthly visits
- Top organic keywords with volume, estimated value, and CPC
- Direct, referral, organic/paid search, organic/paid social, email, affiliate, display-ad, and generative-AI channel shares
- AI referral visits, AI referral share, chatbot mix, chatbot history, and top prompts when available
- Desktop preview, mobile preview, favicon, title, description, category, snapshot date, and source coverage

Similarweb metrics are modeled estimates. They can differ from first-party analytics, and smaller sites may have limited or no measurable traffic.

### Input

```json
{
  "domains": ["apify.com", "openai.com", "github.com"],
  "includeRawData": false,
  "autoResidentialFallback": true,
  "maxConcurrency": 5,
  "maxRetries": 2,
  "requestTimeoutSecs": 30,
  "maxRunSeconds": 270,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

URLs are accepted too. `https://www.apify.com/store` is normalized to `apify.com`. Duplicate domains are removed.

The Actor starts with the fast direct route. If Similarweb blocks or rate-limits that identity, a circuit breaker moves the affected work to an Apify Residential Proxy. You can disable this fallback or replace it with your own explicit proxy configuration.

### Output example

```json
{
  "status": "ok",
  "domain": "apify.com",
  "snapshotDate": "2026-06-01T00:00:00+00:00",
  "dataCoverage": "full",
  "rankGlobal": 8801,
  "country": "US",
  "countryRank": 8256,
  "categoryRank": 247,
  "totalVisits": 4414475,
  "bounceRate": 0.3635451161685786,
  "pagesPerVisit": 7.312413594737495,
  "timeOnSite": 294.15710816692786,
  "directTraffic": 0.41454222509064287,
  "searchOrganicTraffic": 0.36619347801592966,
  "genAiTraffic": 0.03090505529728478,
  "aiTrafficVisits": 122413.785,
  "aiTrafficShareChatgpt": 0.6188700398406928,
  "warnings": [
    "Similarweb metrics are estimates and may differ from first-party analytics."
  ]
}
```

Share fields use a `0`–`1` scale. For example, `0.25` means 25%.

### Ready-made examples

- [Compare SaaS website traffic and channels](https://apify.com/fetch_cat/similarweb-traffic-scraper/examples/compare-saas-website-traffic)
- [Monitor AI referral traffic for leading AI sites](https://apify.com/fetch_cat/similarweb-traffic-scraper/examples/monitor-ai-referral-traffic)
- [Analyze SEO keywords and traffic by country](https://apify.com/fetch_cat/similarweb-traffic-scraper/examples/analyze-seo-keywords-by-country)
- [Benchmark design-tool competitor traffic](https://apify.com/fetch_cat/similarweb-traffic-scraper/examples/benchmark-design-tool-competitors)

#### Competitor-compatible aliases

For easier migration from the strongest existing Similarweb Actor, the same records also include `types_included`, `data_captured_at`, `globalRank`, `estimatedMonthlyVisits`, `countryShare`, `website_traffic_by_country`, `paidReferralsTraffic`, `redirect`, and snake-case keys inside AI/country history.

`isDataFromGoogleAds` is included only as a legacy compatibility alias. Similarweb’s source flag is `IsDataFromGa`, so the accurate field name is `isDataFromGoogleAnalytics`.

### Status and billing

- `ok`: measurable traffic or ranking data was returned.
- `no_data`: the source returned a valid domain response but no measurable ranks or visits.
- `error`: the source could not be read after bounded retries. Error rows are diagnostic and are not charged.

The price is **$0.0015 per saved `ok` or `no_data` domain result on the Free tier** ($1.50 per 1,000 results), with lower per-result prices on higher Apify tiers. A standard $0.00005 synthetic Actor-start event may also apply. Residential traffic is used only as a recovery route when the direct identity is blocked.

Results are saved progressively. The `RUN_SUMMARY` key-value-store record reports saved, charged, successful, no-data, error, remaining, and deadline counts.

### API, schedules, and MCP

Start a run through the Apify API:

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/fetch_cat~similarweb-traffic-scraper/runs" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domains":["apify.com","openai.com"],"autoResidentialFallback":true}'
```

Saved tasks can be scheduled in Apify Console for recurring competitor or AI-referral monitoring. The Actor’s input and output schemas are also exposed through Apify MCP, so agents can submit domain lists and consume typed dataset records without guessing field names.

### Fields intentionally not advertised

Some competing Actors expose WHOIS and homepage keyword-density fields. Those are not Similarweb metrics and are outside this Actor’s focused contract.

Similar Sites was also tested separately. A public Similarweb competitors page remained blocked in our owned residential/TLS test matrix, while the verified extension route returned an empty competitor list. The Actor does not claim this field until it has a reliable, reproducible source route.

### FAQ

#### Is this the official Similarweb API?

No. This is an independent Actor that returns publicly available Similarweb estimates. It is not affiliated with or endorsed by Similarweb.

#### Why are some fields empty?

Similarweb limits coverage for smaller domains and some AI prompt data. Check `status`, `dataCoverage`, `isSmall`, `warnings`, and `aiTopPromptsError` before treating an empty field as zero.

#### Are source errors charged?

No. Only saved `ok` and `no_data` domain records trigger the `result` event. Diagnostic `error` rows are free.

#### Can I run it on a schedule?

Yes. Save an Actor task, attach an Apify schedule, and export each run through the API, webhooks, Google Sheets, or another Apify integration.

### Related Actors

- [Semrush Domain Overview Scraper](https://apify.com/fetch_cat/semrush-domain-overview-scraper)
- [BuiltWith Domain Tech Stack Scraper](https://apify.com/fetch_cat/builtwith-domain-tech-stack-scraper)
- [WHOIS / RDAP Domain Lookup](https://apify.com/fetch_cat/whois-rdap-domain-lookup)

### Responsible use

Use the Actor in accordance with applicable law and the target website’s terms. Avoid using estimated traffic as the sole basis for high-stakes decisions.

# Actor input Schema

## `domains` (type: `array`):

Domains or website URLs to analyze. Examples: apify.com, https://openai.com/research.

## `includeRawData` (type: `boolean`):

Add the useful source payload to each successful record. The large static country-code catalog is always omitted.

## `autoResidentialFallback` (type: `boolean`):

Retry through an Apify Residential Proxy when the direct route is blocked or rate-limited. Disable this only when you require direct-only requests.

## `maxConcurrency` (type: `integer`):

Number of domains fetched in parallel. Lower this if the source begins rate-limiting requests.

## `maxRetries` (type: `integer`):

Retries for rate limits, access blocks, timeouts, and temporary server errors.

## `requestTimeoutSecs` (type: `integer`):

Maximum time in seconds for one source request.

## `maxRunSeconds` (type: `integer`):

Soft deadline. The Actor keeps a shutdown reserve and saves completed results progressively.

## `proxyConfiguration` (type: `object`):

Optional explicit route. When enabled, this replaces both the direct route and its automatic residential fallback.

## Actor input object example

```json
{
  "domains": [
    "apify.com",
    "openai.com"
  ],
  "includeRawData": false,
  "autoResidentialFallback": true,
  "maxConcurrency": 5,
  "maxRetries": 2,
  "requestTimeoutSecs": 30,
  "maxRunSeconds": 270,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `runSummary` (type: `string`):

No description

# 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 = {
    "domains": [
        "apify.com",
        "openai.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/similarweb-traffic-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 = { "domains": [
        "apify.com",
        "openai.com",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/similarweb-traffic-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 '{
  "domains": [
    "apify.com",
    "openai.com"
  ]
}' |
apify call fetch_cat/similarweb-traffic-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=fetch_cat/similarweb-traffic-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/yiePj4fldzryvHTTt/builds/AYKR9FVoOcPb3limM/openapi.json
