# Similarweb Scraper (`serj_henrique/similarweb-scraper`) Actor

Extract comprehensive SimilarWeb analytics data for any domain — including traffic, rankings, competitors, audience demographics, referral sources, and technology stack — in structured  format.

- **URL**: https://apify.com/serj\_henrique/similarweb-scraper.md
- **Developed by:** [Sergio Henrique](https://apify.com/serj_henrique) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## SimilarWeb Website Data Scraper

Extract comprehensive SimilarWeb analytics data for any domain — including traffic, rankings, competitors, audience demographics, referral sources, and technology stack — in structured JSON format.

### What is this Actor?

The SimilarWeb Website Data Scraper automates the collection of detailed web intelligence from SimilarWeb's platform. Instead of manually visiting SimilarWeb pages for each domain, this Actor takes a list of domains and returns rich, structured analytics data for every one of them in a single run.

The result is a dataset you can use for competitive analysis, SEO research, audience profiling, or any project that needs at-a-glance intelligence on web properties — without paying for an enterprise SimilarWeb account.

### Use Cases

- **Competitive Intelligence** — Feed your competitors' domains into the Actor and instantly get their global and category rankings, traffic volumes, bounce rates, and top similarity competitors with affinity scores.
- **SEO & Keyword Research** — Extract the top organic and paid keywords driving traffic to any site, along with search volume and CPC estimates, to inform your own keyword strategy.
- **Audience & Demographic Profiling** — Understand who visits a website through gender and age distribution data, geographic breakdown by country, and audience interest categories.
- **Traffic Source Analysis** — See how visitors arrive at a site: direct, search (organic and paid), social media, referrals, and ads — ranked by share of total traffic.
- **Referral & Link Analysis** — Identify the top sites sending visitors to a target domain (and the sites the target domain sends visitors to), revealing partnership and backlink opportunities.
- **Technology Stack Discovery** — Discover what technologies a website uses, organized by category (analytics, payment, recruitment, etc.), with counts for each.

### Input

| Parameter | Type | Description |
|---|---|---|
| `domains_list` | Array of strings | **Required.** Domains to analyze (e.g. `["apple.com", "microsoft.com"]`). Provide domains without `www.` or protocol prefixes. |
| `proxy` | Proxy configuration | Optional. Choose whether to use Apify's built-in proxies or supply a custom proxy URL. Using proxies is recommended to avoid being blocked by SimilarWeb. |

### Output

Each domain produces one record. A sample record looks like this:

```json
[
  {
    "targetDomain": "globo.com",
    "categoryId": "news_and_media",
    "overview": {
      "description": "Últimas notícias do jornalismo, esporte, entretenimento e mais! Na globo.com você acompanha tudo que está acontecendo hoje no Brasil e no mundo.",
      "globalRank": 80,
      "globalRankChange": 1,
      "countryAlpha2Code": "BR",
      "countryUrlCode": "brazil",
      "countryRank": 7,
      "countryRankChange": 0,
      "categoryRank": 1,
      "categoryRankChange": 0,
      "visitsTotalCount": 694583390,
      "bounceRate": 0.514312113010406,
      "pagesPerVisit": 2.149833109324336,
      "visitsAvgDurationFormatted": "00:03:00",
      "companyName": "Globo",
      "companyYearFounded": 2018,
      "companyHeadquarterCountryCode": "BR",
      "companyHeadquarterStateCode": null,
      "companyHeadquarterCity": "São Paulo",
      "companyEmployeesMin": 1001,
      "companyEmployeesMax": 5000,
      "companyRevenueMin": 1000000000,
      "companyRevenueMax": null,
      "companyCategoryId": "news_and_media",
      "companyRevenueCurrency": null,
      "companyParentDomain": "globo.com"
    },
    "interests": {
      "interestedWebsitesTotalCount": 10,
      "topInterestedWebsites": [
        {
          "domain": "uol.com.br"
        },
        {
          "domain": "pt.wikipedia.org"
        },
        {
          "domain": "google.com"
        },
        {
          "domain": "mercadolivre.com.br"
        },
        {
          "domain": "instagram.com"
        }
      ],
      "topInterestedTopics": [
        "brasil",
        "online",
        "gov",
        "portal",
        "para"
      ],
      "topInterestedCategories": [
        "games/video_games_consoles_and_accessories",
        "adult",
        "science_and_education/education",
        "computers_electronics_and_technology/programming_and_developer_software",
        "law_and_government/government"
      ]
    },
    "competitors": {
      "topSimilarityCompetitors": [
        {
          "domain": "uol.com.br",
          "categoryId": "news_and_media",
          "categoryRank": 18,
          "affinity": 1,
          "isDataFromGa": false
        },
        {
          "domain": "qq.com",
          "categoryId": "news_and_media",
          "categoryRank": 9,
          "affinity": 0.9239130434782608,
          "isDataFromGa": false
        },
        {
          "domain": "aol.com",
          "categoryId": "computers_electronics_and_technology/computers_electronics_and_technology",
          "categoryRank": 5,
          "affinity": 0.8478260869565217,
          "isDataFromGa": false
        },
        {
          "domain": "wp.pl",
          "categoryId": "news_and_media",
          "categoryRank": 20,
          "affinity": 0.8152173913043478,
          "isDataFromGa": false
        },
        {
          "domain": "163.com",
          "categoryId": "news_and_media",
          "categoryRank": 32,
          "affinity": 0.7934782608695652,
          "isDataFromGa": false
        },
        {
          "domain": "sohu.com",
          "categoryId": "news_and_media",
          "categoryRank": 92,
          "affinity": 0.7826086956521738,
          "isDataFromGa": false
        },
        {
          "domain": "terra.com.br",
          "categoryId": "news_and_media",
          "categoryRank": 115,
          "affinity": 0.7499999999999999,
          "isDataFromGa": false
        },
        {
          "domain": "rediff.com",
          "categoryId": "news_and_media",
          "categoryRank": 111,
          "affinity": 0.7391304347826088,
          "isDataFromGa": false
        },
        {
          "domain": "web.de",
          "categoryId": "computers_electronics_and_technology/email",
          "categoryRank": 3,
          "affinity": 0.7282608695652174,
          "isDataFromGa": false
        },
        {
          "domain": "ukr.net",
          "categoryId": "news_and_media",
          "categoryRank": 44,
          "affinity": 0.717391304347826,
          "isDataFromGa": false
        }
      ]
    },
    "searchesSource": {
      "organicSearchShare": 0.9980207097090916,
      "paidSearchShare": 0.0019792902909083754,
      "keywordsTotalCount": 1230874,
      "topKeywords": [
        {
          "name": "palmeiras",
          "cpc": 0.13
        },
        {
          "name": "globo",
          "cpc": 0.22
        },
        {
          "name": "flamengo",
          "cpc": 0.44
        },
        {
          "name": "g1",
          "cpc": 0.14
        },
        {
          "name": "copa do brasil",
          "cpc": 0.45
        }
      ]
    },
    "incomingReferrals": {
      "referralSitesTotalCount": 861,
      "topReferralSites": [
        {
          "domain": "familhao.com",
          "visitsShare": 0.04920689525210824
        },
        {
          "domain": "kadaza.com.br",
          "visitsShare": 0.031065756592380016
        },
        {
          "domain": "terra.com.br",
          "visitsShare": 0.021638266440082213
        }
      ],
      "topIncomingCategories": [
        {
          "category": "News_and_Media",
          "visitsShare": 0.44895787792428066
        },
        {
          "category": "Computers_Electronics_and_Technology/Search_Engines",
          "visitsShare": 0.0746532254156227
        },
        {
          "category": "Computers_Electronics_and_Technology/Social_Networks_and_Online_Communities",
          "visitsShare": 0.06920342810628012
        },
        {
          "category": "Sports/Soccer",
          "visitsShare": 0.04606757570545757
        },
        {
          "category": "Adult",
          "visitsShare": 0.03216603357691119
        }
      ]
    },
    "adsSource": {
      "adsSitesTotalCount": 29,
      "adsNetworksTotalCount": 5,
      "topAdsSites": [
        {
          "domain": "em.com.br",
          "visitsShare": 0.1048182368836688
        },
        {
          "domain": "globo.com",
          "visitsShare": 0.09243412147583657
        },
        {
          "domain": "terra.com.br",
          "visitsShare": 0.05744666381051266
        }
      ]
    },
    "socialNetworksSource": {
      "topSocialNetworks": [
        {
          "name": "X-twitter",
          "visitsShare": 0.4480669103688473
        },
        {
          "name": "Youtube",
          "visitsShare": 0.24561132555236637
        },
        {
          "name": "Facebook",
          "visitsShare": 0.08448095263980547
        },
        {
          "name": "Reddit",
          "visitsShare": 0.08110832803817813
        },
        {
          "name": "WhatsApp Webapp",
          "visitsShare": 0.06560441310952614
        }
      ],
      "socialNetworksTotalCount": 19
    },
    "outgoingReferrals": {
      "outgoingSitesTotalCount": 848,
      "topOutgoingSites": [
        {
          "domain": "ig.com.br",
          "visitsShare": 0.02912912919378956
        },
        {
          "domain": "tudogostoso.com.br",
          "visitsShare": 0.028999873841599525
        },
        {
          "domain": "otempo.com.br",
          "visitsShare": 0.025578651778817574
        }
      ],
      "topOutgoingCategories": [
        {
          "category": "News_and_Media",
          "visitsShare": 0.41038137370260924
        },
        {
          "category": "Computers_Electronics_and_Technology/Search_Engines",
          "visitsShare": 0.0554212378875351
        },
        {
          "category": "Computers_Electronics_and_Technology/Social_Networks_and_Online_Communities",
          "visitsShare": 0.05252387085792469
        },
        {
          "category": "Sports/Soccer",
          "visitsShare": 0.051799479613849155
        },
        {
          "category": "Computers_Electronics_and_Technology/Computers_Electronics_and_Technology",
          "visitsShare": 0.03376059428793131
        }
      ]
    },
    "technologies": {
      "categories": [
        {
          "categoryId": "advertising",
          "topTechName": "Google Adsense",
          "technologiesTotalCount": 135
        },
        {
          "categoryId": "payment_and_currencies",
          "topTechName": "PayPal",
          "technologiesTotalCount": 23
        },
        {
          "categoryId": "conversion_and_analytics",
          "topTechName": "Google Analytics",
          "technologiesTotalCount": 21
        },
        {
          "categoryId": "social",
          "topTechName": "Instagram",
          "technologiesTotalCount": 8
        }
      ],
      "categoriesTotalCount": 16,
      "technologiesTotalCount": 217
    },
    "snapshotDate": "2026-08-01 00:00:00+00:00",
    "traffic": {
      "graphVisitsGrade": "<1B",
      "visitsTotalCount": 694583390,
      "visitsTotalCountChange": -0.030357484432366834,
      "bounceRate": 0.514312113010406,
      "pagesPerVisit": 2.149833109324336,
      "visitsAvgDurationFormatted": "00:03:00",
      "history": [
        {
          "date": "2026-06-01 00:00:00",
          "percentageChange": -0.5472406041199043,
          "percentageValue": 72.90557456
        },
        {
          "date": "2026-07-01 00:00:00",
          "percentageChange": -5.059869314505363,
          "percentageValue": 69.46964123
        },
        {
          "date": "2026-08-01 00:00:00",
          "percentageChange": -3.0357484432366832,
          "percentageValue": 67.5125051
        }
      ],
      "competitors": [
        {
          "domain": "globo.com",
          "isDataFromGa": false
        },
        {
          "domain": "uol.com.br",
          "isDataFromGa": false
        },
        {
          "domain": "qq.com",
          "isDataFromGa": false
        },
        {
          "domain": "aol.com",
          "isDataFromGa": false
        },
        {
          "domain": "wp.pl",
          "isDataFromGa": false
        }
      ]
    },
    "trafficSources": [
      {
        "source": "direct",
        "rank": 1
      },
      {
        "source": "organic",
        "rank": 2
      },
      {
        "source": "referrals",
        "rank": 3
      }
    ],
    "ranking": {
      "globalRankCompetitors": [
        {
          "rank": 78,
          "domain": "adobe.com"
        },
        {
          "rank": 79,
          "domain": "amazon.co.uk"
        },
        {
          "rank": 80,
          "domain": "globo.com"
        },
        {
          "rank": 81,
          "domain": "ok.ru"
        },
        {
          "rank": 82,
          "domain": "disneyplus.com"
        }
      ],
      "globalRankHistory": [
        {
          "date": "2026-06-01 00:00:00+00:00",
          "rank": 73
        },
        {
          "date": "2026-07-01 00:00:00+00:00",
          "rank": 81
        },
        {
          "date": "2026-08-01 00:00:00+00:00",
          "rank": 80
        }
      ],
      "countryRankCompetitors": [
        {
          "rank": 5,
          "domain": "tiktok.com"
        },
        {
          "rank": 6,
          "domain": "whatsapp.com"
        },
        {
          "rank": 7,
          "domain": "globo.com"
        },
        {
          "rank": 8,
          "domain": "mercadolivre.com.br"
        },
        {
          "rank": 9,
          "domain": "facebook.com"
        }
      ],
      "countryRankHistory": [
        {
          "date": "2026-06-01 00:00:00+00:00",
          "rank": 7
        },
        {
          "date": "2026-07-01 00:00:00+00:00",
          "rank": 7
        },
        {
          "date": "2026-08-01 00:00:00+00:00",
          "rank": 7
        }
      ],
      "categoryRankCompetitors": [
        {
          "rank": 1,
          "domain": "globo.com"
        },
        {
          "rank": 2,
          "domain": "uol.com.br"
        },
        {
          "rank": 3,
          "domain": "yahoo.com"
        },
        {
          "rank": 4,
          "domain": "terra.com.br"
        },
        {
          "rank": 5,
          "domain": "cnnbrasil.com.br"
        }
      ],
      "categoryRankHistory": [
        {
          "date": "2026-06-01 00:00:00+00:00",
          "rank": 1
        },
        {
          "date": "2026-07-01 00:00:00+00:00",
          "rank": 1
        },
        {
          "date": "2026-08-01 00:00:00+00:00",
          "rank": 1
        }
      ],
      "globalRank": 80,
      "globalRankPrev": 81,
      "globalRankChange": 1,
      "categoryRank": 1,
      "categoryRankPrev": 1,
      "categoryRankChange": 0,
      "countryRank": 7,
      "countryRankPrev": 7,
      "countryRankChange": 0,
      "countryAlpha2Code": "BR",
      "countryUrlCode": "brazil"
    },
    "demographics": {
      "ageDistribution": [
        {
          "minAge": 18,
          "maxAge": 24,
          "value": 0.1630915567543213
        },
        {
          "minAge": 25,
          "maxAge": 34,
          "value": 0.25664025726450324
        },
        {
          "minAge": 35,
          "maxAge": 44,
          "value": 0.20275333521957556
        },
        {
          "minAge": 45,
          "maxAge": 54,
          "value": 0.16484913386322417
        },
        {
          "minAge": 55,
          "maxAge": 64,
          "value": 0.12466869540726033
        },
        {
          "minAge": 65,
          "maxAge": null,
          "value": 0.08799702149111532
        }
      ],
      "genderDistribution": {
        "male": 0.640422136686806,
        "female": 0.35957786331319397
      }
    },
    "geography": {
      "countriesTotalCount": 106,
      "topCountriesTraffics": [
        {
          "countryAlpha2Code": "BR",
          "countryAlpha2CodeRaw": "BR",
          "countryUrlCode": "brazil",
          "visitsShare": 0.9597268722232077,
          "visitsShareChange": -0.02831254326746102
        },
        {
          "countryAlpha2Code": "US",
          "countryAlpha2CodeRaw": "US",
          "countryUrlCode": "united-states",
          "visitsShare": 0.019081409853220706,
          "visitsShareChange": -0.06030613573585719
        },
        {
          "countryAlpha2Code": "PT",
          "countryAlpha2CodeRaw": "PT",
          "countryUrlCode": "portugal",
          "visitsShare": 0.005269213437394823,
          "visitsShareChange": -0.16202671593684015
        },
        {
          "countryAlpha2Code": "CA",
          "countryAlpha2CodeRaw": "CA",
          "countryUrlCode": "canada",
          "visitsShare": 0.002244838149409821,
          "visitsShareChange": 0.02926081740255637
        },
        {
          "countryAlpha2Code": "GB",
          "countryAlpha2CodeRaw": "GB",
          "countryUrlCode": "united-kingdom",
          "visitsShare": 0.0015817827247583177,
          "visitsShareChange": 0.3041761441836288
        }
      ]
    }
  }
]
```

### Miscellaneous

- **Proxy usage is strongly recommended.** Running without a proxy or with a single IP will likely result in blocks or CAPTCHAs. Apify's built-in proxy pools are configured by default.
- **Rate limiting:** The Actor waits between requests using exponential backoff (5 attempts, 4–10 s between retries). For large domain lists, plan accordingly — each domain takes roughly 10–60 seconds.
- **Failed domains:** If a domain cannot be scraped after all retries, it is recorded in the Actor's key-value store under the key `failed_domains` for later inspection.
- **Data currency:** SimilarWeb snapshots are typically updated monthly. The `snapshotDate` field in each record indicates the date of the data point.

# Actor input Schema

## `domains_list` (type: `array`):

List of domains.

## `proxy` (type: `object`):

Select proxies to be used

## Actor input object example

```json
{
  "domains_list": [
    "apify.com"
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `default` (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_list": [
        "apify.com"
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("serj_henrique/similarweb-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_list": ["apify.com"],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("serj_henrique/similarweb-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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_list": [
    "apify.com"
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call serj_henrique/similarweb-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,serj_henrique/similarweb-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9JQHa8iQkQWq1Y8cF/builds/1kt9T5h69bzanYLaa/openapi.json
