home / skills / openclaw / skills / similarweb-analytics

similarweb-analytics skill

/skills/wells1137/similarweb-analytics

This skill analyzes domains with SimilarWeb data to deliver traffic, engagement, rankings, sources, and geographic insights for thorough website research.

npx playbooks add skill openclaw/skills --skill similarweb-analytics

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
4.6 KB
---
name: similarweb-analytics
description: "Analyze websites and domains using SimilarWeb traffic data. Get traffic metrics, engagement stats, global rankings, traffic sources, and geographic distribution for comprehensive website research."
version: 1.0.0
metadata:
  openclaw:
    emoji: "📊"
---

# SimilarWeb Analytics

Comprehensive website and domain analysis using SimilarWeb traffic data.

## Core Capabilities

- **Traffic Analysis**: Total visits, unique visitors, traffic trends
- **Engagement Metrics**: Bounce rate, pages per visit, average visit duration
- **Global Ranking**: Website ranking over time
- **Traffic Sources**: Marketing channels (desktop and mobile)
- **Geographic Distribution**: Traffic breakdown by country

## API Usage

All APIs use `ApiClient` from `/opt/.manus/.sandbox-runtime`. Common parameters:
- `domain`: Website domain (e.g., "google.com")
- `start_date`: Start date (YYYY-MM). Max 12 months ago
- `end_date`: End date (YYYY-MM). Max 12 months ago, default is 1 month ago (most recent complete month)
- `main_domain_only`: Exclude subdomains if True (default: False)

**Default time ranges vary by API:**
- Global Rank, Visits Total, Unique Visit, Bounce Rate: default **6 months**
- Traffic Sources (Desktop/Mobile), Traffic by Country: default **3 months**

### Get Global Rank

```python
import sys
sys.path.append('/opt/.manus/.sandbox-runtime')
from data_api import ApiClient

client = ApiClient()
result = client.call_api('SimilarWeb/get_global_rank', path_params={'domain': 'amazon.com'})
```

### Get Website Visits Total

```python
import sys
sys.path.append('/opt/.manus/.sandbox-runtime')
from data_api import ApiClient

client = ApiClient()
result = client.call_api('SimilarWeb/get_visits_total',
    path_params={'domain': 'amazon.com'},
    query={'country': 'world', 'granularity': 'monthly', 'start_date': '2025-07', 'end_date': '2025-12'})
```

### Get Unique Visit

```python
import sys
sys.path.append('/opt/.manus/.sandbox-runtime')
from data_api import ApiClient

client = ApiClient()
result = client.call_api('SimilarWeb/get_unique_visit',
    path_params={'domain': 'amazon.com'},
    query={'start_date': '2025-07', 'end_date': '2025-12'})
```

### Get Bounce Rate

```python
import sys
sys.path.append('/opt/.manus/.sandbox-runtime')
from data_api import ApiClient

client = ApiClient()
result = client.call_api('SimilarWeb/get_bounce_rate',
    path_params={'domain': 'amazon.com'},
    query={'country': 'world', 'granularity': 'monthly', 'start_date': '2025-07', 'end_date': '2025-12'})
```

### Get Traffic Sources - Desktop

Returns breakdown by channel: Organic Search, Paid Search, Direct, Display Ads, Email, Referrals, Social Media.

```python
import sys
sys.path.append('/opt/.manus/.sandbox-runtime')
from data_api import ApiClient

client = ApiClient()
result = client.call_api('SimilarWeb/get_traffic_sources_desktop',
    path_params={'domain': 'amazon.com'},
    query={'country': 'world', 'granularity': 'monthly', 'start_date': '2025-07', 'end_date': '2025-12'})
```

### Get Traffic Sources - Mobile

```python
import sys
sys.path.append('/opt/.manus/.sandbox-runtime')
from data_api import ApiClient

client = ApiClient()
result = client.call_api('SimilarWeb/get_traffic_sources_mobile',
    path_params={'domain': 'amazon.com'},
    query={'country': 'world', 'granularity': 'monthly', 'start_date': '2025-07', 'end_date': '2025-12'})
```

### Get Total Traffic by Country

Returns traffic share, visits, pages per visit, average time, bounce rate and rank by country.

- `limit`: Number of countries to return (default: 1, max: 10)
- **Date range limit**: max 3 months (unlike other APIs)

```python
import sys
sys.path.append('/opt/.manus/.sandbox-runtime')
from data_api import ApiClient

client = ApiClient()
result = client.call_api('SimilarWeb/get_total_traffic_by_country',
    path_params={'domain': 'amazon.com'},
    query={'start_date': '2025-10', 'end_date': '2025-12', 'limit': '10'})
```

## When to Use

Invoke APIs when users mention:
- Domain names: "google.com", "amazon.com"
- Traffic queries: "traffic", "visits", "visitors"
- Ranking queries: "rank", "ranking", "how popular"
- Engagement queries: "bounce rate", "engagement"
- Source queries: "traffic sources", "marketing channels"
- Geographic queries: "countries", "geographic"
- Comparison queries: "compare", "vs"

## Data Limitations

- Historical data: max 12 months
- Geography: worldwide only
- Granularity: monthly only
- Latest data: last complete month

## Important: Save Data to Files

API calls may fail mid-execution due to credit depletion. **Always save all retrieved data to files immediately** to avoid data loss and prevent redundant API calls.

Overview

This skill analyzes websites and domains using SimilarWeb traffic data to deliver actionable research for marketing, competitive intelligence, and product decisions. It returns traffic totals, engagement metrics, global rank, channel breakdowns for desktop and mobile, and geographic traffic distribution. Responses are built for monthly time ranges and include safeguards to persist results to files to avoid data loss.

How this skill works

The skill calls SimilarWeb endpoints via an ApiClient wrapper to fetch domain-level metrics: visits, unique visitors, bounce rate, pages per visit, average visit duration, and global rank. It can also break down traffic by marketing channel (desktop and mobile) and by country, with configurable date ranges (monthly granularity) and options to include or exclude subdomains. Because API runs can be interrupted, the workflow emphasizes saving retrieved payloads to files immediately after each call.

When to use it

  • When researching domain popularity or trends (total visits, unique visitors, rank)
  • When evaluating user engagement (bounce rate, pages per visit, visit duration)
  • When auditing marketing mix or acquisition channels (desktop and mobile traffic sources)
  • When mapping geographic audience distribution or top countries by traffic share
  • When comparing competitors or building internal dashboards from monthly time series

Best practices

  • Request only required date ranges; APIs cap history at 12 months and use monthly granularity
  • Use main_domain_only to exclude subdomains when you need top-level site metrics
  • Respect different default windows: many endpoints default to 3–6 months depending on the metric
  • Immediately save each API response to a file to avoid losing data if the call fails mid-execution
  • Limit country lists with the limit parameter when fetching traffic by country to reduce payload size

Example use cases

  • Generate a 6-month traffic and engagement report for a competitor to inform ad spend
  • Compare desktop vs mobile acquisition channels for an e-commerce site to prioritize optimization
  • Produce a country-level audience map for localization and expansion planning
  • Track global rank and visits over time to measure the impact of a marketing campaign
  • Export monthly metrics into a BI pipeline for trend analysis and executive dashboards

FAQ

What date ranges and granularity are supported?

All endpoints use monthly granularity. Historical depth is limited to the last 12 months; some endpoints default to 3 months and others to 6 months.

Can I exclude subdomains from the results?

Yes. Use the main_domain_only flag to return metrics for the primary domain only.

How many countries can I request in the country breakdown?

The traffic-by-country endpoint supports a limit parameter from 1 up to 10 countries; the date range for this endpoint is capped at 3 months.