# Website Traffic Checker - Visits, Keywords & Rankings (`sian.agency/similarweb-website-traffic-scraper`) Actor

Estimated monthly website traffic for any domain: organic and paid visits, keyword counts, and the keywords a site ranks for with ranks, volumes and CPC. Bulk-check hundreds of domains in one run.

- **URL**: https://apify.com/sian.agency/similarweb-website-traffic-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** SEO tools, Marketing, Business
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.40 / 1,000 traffic estimates

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?

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

## Website Traffic Checker - Visits, Keywords & Rankings 🚀

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![SERP API](https://img.shields.io/badge/Store-SERP%20API-1AE392)](https://apify.com/sian.agency/google-serp-scraper?fpr=sian) [![Google Trends](https://img.shields.io/badge/Store-Google%20Trends-1AE392)](https://apify.com/sian.agency/google-trends-scraper?fpr=sian) [![YouTube SEO Research](https://img.shields.io/badge/Store-YouTube%20SEO%20Research-FF0000)](https://apify.com/sian.agency/youtube-seo-keyword-research-pro?fpr=sian)

#### 📊 Check website traffic for 5 or 500 domains in one run — organic and paid visits, keyword counts, ranking keywords

##### Built for SEO teams, agencies and B2B lead teams who need traffic numbers at list scale, not one domain at a time

### 🔎 What is the Website Traffic Checker — and when should you use it?

The **Website Traffic Checker** turns estimated monthly traffic for any website domain, and the keywords it ranks for into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

**Use it when you need:** a domain's traffic numbers rather than its pages: estimated monthly organic and paid visits, how many keywords it ranks for in each, and the domain authority score. Ask deeper and each keyword row adds its Google position, monthly searches, cost per click, difficulty, intent and the exact page that ranks. Four markets are covered, so the same domain can be read from United States, United Kingdom, Canadian or Australian search data.

**Use something else when:** you need something other than a domain-level traffic estimate. Use [SERP API](https://apify.com/sian.agency/google-serp-scraper?fpr=sian) for the live search results for a query, where this actor summarises what a whole domain gets from search over a month. Use [Email & Contact Lead Scraper](https://apify.com/sian.agency/email-contact-lead-scraper?fpr=sian) for who to contact at a company, where this actor tells you how big its search audience is. Use [Google Trends Scraper](https://apify.com/sian.agency/google-trends-scraper?fpr=sian) for how interest in a topic moves over time, where this actor measures one domain's standing right now. Figures are estimates built from Google search data, not measured analytics: direct, social, email and referral visits are not in the numbers, so a brand people type straight into the address bar reads lower than its true total. Bounce rate, visit duration and pages per visit need a clickstream panel and are not offered. Markets are United States, United Kingdom, Canada and Australia in English.

### 🤖 Use with AI agents

Already connected to the [Apify MCP server](https://mcp.apify.com)? Just ask for this Actor by name: sian.agency/similarweb-website-traffic-scraper

**Your agent can pay for its own runs.** This Actor is eligible for [agentic payments](https://docs.apify.com/platform/actors/publishing/monetize), so an agent can discover it, run it and settle the bill over [x402](https://www.x402.org/) (USDC on Base) or [Skyfire](https://www.skyfire.xyz/) — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

```text
I want estimate how much monthly search traffic a list of competitor websites gets using the Apify Actor `sian.agency/similarweb-website-traffic-scraper`.

Use it when I need: a domain's traffic numbers rather than its pages: estimated monthly organic and paid visits, how many keywords it ranks for in each, and the domain authority score. Ask deeper and each keyword row adds its Google position, monthly searches, cost per click, difficulty, intent and the exact page that ranks. Four markets are covered, so the same domain can be read from United States, United Kingdom, Canadian or Australian search data.

Don't use it when: you need something other than a domain-level traffic estimate — use google-serp-scraper or email-contact-lead-scraper or google-trends-scraper instead.

How to call it: set `operation` to `trafficEstimates` and give `bulkDomains` a list of bare domains; one row comes back per domain with organic and paid visits and keyword counts, and `domain` covers a single lookup. Set `operation` to `topKeywords` for the same list and each domain returns up to `maxKeywords` ranking keywords with position, volume, cost per click and intent. `market` picks the country whose Google data the estimate is built from.

Start with this input:
{
  "operation": "trafficEstimates",
  "domain": "apify.com",
  "market": "US"
}

Ask me which domains, which market, and whether they want the headline traffic numbers or the ranking keywords behind them, then run the Actor and summarise the results as a table.
```

**Things you can ask your agent for:**

- *Compare monthly organic and paid visits for these eight competitor domains in the UK market and rank them by total traffic.*
- *Take this CSV of 200 prospect domains and flag every one whose organic traffic is under a thousand visits a month.*
- *Pull the top 50 keywords apify.com ranks for in the United States, with search volume and cost per click, and sort by estimated visits.*

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at [apify.com/sian.agency/similarweb-website-traffic-scraper.md](https://apify.com/sian.agency/similarweb-website-traffic-scraper.md).

### 📋 Overview

Paste a domain, get its traffic numbers. The **Website Traffic Checker** returns estimated monthly organic and paid visits for any domain, plus how many keywords it ranks for. Want the detail behind the headline? The second operation returns the keywords themselves, each with its Google position, search volume and cost per click.

The numbers come from Google search data, the same method public traffic estimators use. Nothing is scraped page by page, so a run of 500 domains comes back in the same shape as a run of five, and nothing breaks when a website redesigns.

**What you get:**

- ✅ **Two answers per domain list**: headline traffic numbers in one operation, the ranking keywords behind them in the other. Same input, same three ways to supply it.
- ⚡ **Bulk by design**: domains are checked in batches of up to 1000 per request, so a 500-domain market map is minutes of work, not a week of manual lookups.
- 🎯 **Real keyword depth**: every keyword row carries its Google position, monthly searches, cost per click, difficulty, intent and the exact page that ranks — the fields keyword research actually runs on.
- 💰 **Priced per row**: $0.005 for a traffic row, $0.001 for a keyword row, and nothing for rows we could not read.
- 🌏 **Four markets**: read the same domain from United States, United Kingdom, Canadian or Australian search data — apify.com shows about 402,000 monthly organic visits from the US and about 32,000 from the UK.
- ✨ **No key, no proxy, no browser**: paste domains and press start.

### ✨ Features

- 📈 **Monthly organic visits** — the headline number for any domain, estimated from its Google rankings
- 💰 **Monthly paid visits** — the paid-search side of the same domain, in the same row
- 🔑 **Keyword counts** — how many organic and paid keywords the domain ranks for in that market
- 🔎 **Ranking keywords** — up to 1000 keywords per domain, each with position, volume, CPC, difficulty and intent
- 🏅 **Domain authority** — a 0-1000 authority score carried on every keyword row
- 🌏 **Market switch** — US, UK, Canada or Australia, because the same domain can differ by an order of magnitude between them
- 📄 **Bulk input three ways** — a single domain, a pasted list, or a link to a text file for very long lists
- 🧾 **Clean rows, no wrappers** — one flat JSON row per domain or keyword, exportable as JSON, CSV or Excel
- 📊 **Run report** — every run writes an HTML summary with the numbers, anything that needs a fix, and what it cost
- 🔄 **Schedule-friendly** — run the same list monthly and watch a market move

### 🎬 Quick Start

Open the actor, leave the sample domain in place, and press Start. Your first rows land in the dataset in under a minute.

```bash
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~similarweb-website-traffic-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation":"trafficEstimates","domain":"apify.com","market":"US"}'
```

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Pick your question

Choose **Traffic Estimates** for how much traffic a domain gets, or **Ranking Keywords** for which keywords bring it.

#### Step 2: Add your domains

Type one domain, paste a list into the domain list field, or link a `.txt` file of domains for long lists.

#### Step 3: Pick a market and start

Choose the country whose Google data you want, then press Start. Results land in your dataset as they arrive.

**That's it! In about a minute per batch, you'll have:**

- Estimated monthly organic and paid visits per domain
- Organic and paid keyword counts per domain
- The ranking keywords with positions, volumes and CPCs, if you ran that operation

### 📥 Input Configuration

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| operation | select | No | `trafficEstimates` for traffic numbers per domain, `topKeywords` for the keywords behind them |
| domain | string | No | A single domain, e.g. `apify.com`. Schemes, `www` and paths are stripped automatically |
| bulkDomains | string list | No | Many domains at once, one per line. Wins over the single domain field when filled |
| domainListUrl | string | No | Public URL to a `.txt` file of domains, one per line. For lists too long to paste |
| market | select | No | `US`, `GB`, `CA` or `AU` — the country whose Google data the estimate is built from |
| maxKeywords | integer | No | Used by Ranking Keywords: how many of a domain's top keywords to return, 10-1000 |

**Example:**

```json
{
  "operation": "trafficEstimates",
  "domain": "apify.com",
  "market": "US"
}
```

**Bulk processing:**

```json
{
  "operation": "trafficEstimates",
  "bulkDomains": ["apify.com", "stripe.com", "cnn.com", "shopify.com"],
  "market": "US"
}
```

### 📤 Output

Results land in the Apify dataset, one flat row per domain (Traffic Estimates) or per keyword (Ranking Keywords), with **20+ fields** including:

| Field | Type | Description |
|-------|------|-------------|
| domain | string | The domain, normalised to its bare form |
| organicMonthlyVisits | number | Estimated monthly visits from organic search |
| paidMonthlyVisits | number | Estimated monthly visits from paid search |
| totalMonthlyVisits | number | The two combined |
| organicKeywordCount | number | How many organic keywords the domain ranks for |
| paidKeywordCount | number | How many paid keywords it appears on |
| keyword | string | The ranking keyword (Ranking Keywords rows) |
| rank | number | The domain's Google position for that keyword |
| searchVolume | number | Monthly searches for that keyword |
| visitsFromKeyword | number | Estimated monthly visits that keyword sends the domain |
| cpc | number | Cost per click for that keyword |
| keywordDifficulty | number | How hard the keyword is to rank for, 0-100 |
| intent | string | Search intent: informational, commercial, transactional, navigational |
| domainAuthority | number | The domain's authority score, 0-1000 |
| market | string | The market the estimate was built from |

**Example row (Traffic Estimates):**

```json
{
  "domain": "apify.com",
  "siteUrl": "https://apify.com",
  "market": "US",
  "organicMonthlyVisits": 402219,
  "paidMonthlyVisits": 1,
  "totalMonthlyVisits": 402221,
  "organicKeywordCount": 34998,
  "paidKeywordCount": 1,
  "hasData": true,
  "_rowType": "trafficEstimate",
  "_operation": "trafficEstimates",
  "_fetchedAt": "2026-08-31T02:47:01.328Z"
}
```

**Example row (Ranking Keywords):**

```json
{
  "domain": "apify.com",
  "keyword": "apify web scraper",
  "rank": 1,
  "searchVolume": 720,
  "visitsFromKeyword": 210,
  "rankingUrl": "https://apify.com/",
  "cpc": 4.28,
  "keywordDifficulty": 41,
  "intent": "commercial",
  "domainAuthority": 559,
  "market": "US",
  "_rowType": "rankingKeyword"
}
```

### 💼 Use Cases & Examples

#### 1. Competitor Traffic Benchmarking

**An SEO manager lines up the competition before planning next quarter's content.**

**Input:** `bulkDomains` with eight competitor domains, `market` set to your own
**Output:** One row per domain with organic visits, paid visits and keyword counts
**Use:** Rank the field by total traffic, then argue for budget where the gap is biggest.

#### 2. Lead Qualification at List Scale

**A B2B growth lead scores a 300-domain prospect list before anyone writes an email.**

**Input:** A `.txt` file of the prospect domains via `domainListUrl`
**Output:** Traffic rows for every domain, with zero-traffic domains clearly flagged
**Use:** Sort ascending and stop wasting SDR time on companies with no audience.

#### 3. Keyword Gap Analysis

**A content strategist finds the terms a competitor owns that they do not.**

**Input:** `operation: topKeywords`, the competitor's domain, `maxKeywords: 200`
**Output:** Ranking keywords with position, volume, difficulty and intent
**Use:** Filter for low-difficulty, high-volume terms where you are absent and they are not.

#### 4. Market Sizing Before an Acquisition Talk

**A founder checks a target's search presence before naming a number.**

**Input:** The target's domain, run once per market that matters to it
**Output:** Traffic rows for each market side by side
**Use:** Organic visits sliding while paid climbs is a very different negotiation.

#### 5. Agency Reporting on a Schedule

**An account manager produces the same monthly traffic appendix for six clients.**

**Input:** Each client's domain list, saved as a schedule with `market` preset
**Output:** Clean JSON or CSV straight into the report
**Use:** The appendix builds itself; nobody maintains scraping infrastructure for it.

#### 6. Editorial Prioritisation for Publishers

**A content lead decides which of 40 section pages to refresh first.**

**Input:** The publisher's own domain with `operation: topKeywords`
**Output:** Keywords where the domain ranks 5-15 — close to page one but not on it
**Use:** Refresh the pages sitting just below position 4 and collect the difference.

### 🔗 Integration Examples

#### JavaScript/Node.js

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });

const run = await client.actor('sian.agency/similarweb-website-traffic-scraper').call({
  operation: 'trafficEstimates',
  bulkDomains: ['apify.com', 'stripe.com'],
  market: 'US',
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);
```

#### Python

```python
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')

run = client.actor('sian.agency/similarweb-website-traffic-scraper').call(
    run_input={
        'operation': 'trafficEstimates',
        'bulkDomains': ['apify.com', 'stripe.com'],
        'market': 'US',
    }
)

for item in client.dataset(run['defaultDatasetId']).iterate_items():
    print(item)
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~similarweb-website-traffic-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation":"trafficEstimates","bulkDomains":["apify.com","stripe.com"],"market":"US"}'
```

#### Automation Workflows (N8N / Zapier / Make)

1. **Trigger**: A monthly schedule, or a new row in your CRM export
2. **HTTP Request**: Call the actor API with your domain list
3. **Process**: Read the JSON rows from the dataset
4. **Action**: Write traffic numbers back to the CRM, a sheet, or a Slack digest

### 📈 Performance & Pricing

#### FREE Tier (Try It Now)

- **5 domains per run** — full feature access, same data, same markets
- Ranking Keywords runs cap at 10 keywords per domain on the free plan
- No credit card required

#### PAID Tier (Production Ready)

- **Unlimited domains per run**, batched 1000 per request
- Pay per row: a traffic row is $0.005, a keyword row is $0.001 — and nothing for rows we could not read
- Free-plan daily run limits lift once your account can be billed

💰 **A 100-domain traffic check costs about fifty cents** at $0.005 a row, and the first 5 domains are free.

🔗 [View current pricing](https://apify.com/sian.agency/similarweb-website-traffic-scraper?fpr=sian)

### ❓ Frequently Asked Questions

**Q: Where do the numbers come from?**
A: They are estimated from Google search data — the keywords a domain ranks for, multiplied by how often each is searched and weighted by position. That is the standard method behind public traffic estimators. Treat it as a reliable way to compare domains, not an exact visit counter.

**Q: How many domains can I check?**
A: Free plan runs cap at 5 domains. Paid runs have no fixed ceiling: domains are processed in batches of up to 1000 per request.

**Q: Do I need an API key, an account or a proxy?**
A: No. Paste a domain and press Start.

**Q: Why does a domain show zero visits?**
A: No ranking was observed for it in the market you picked. Check the spelling, drop the `www`, or try another market. A brand-new or very small site may genuinely not rank anywhere yet.

**Q: Why is my domain's number lower than my analytics says?**
A: The estimate covers search-driven visits. Direct, social, email and referral traffic are not in it, so a brand people type straight into the address bar will read lower than its true total.

**Q: Does it return bounce rate or visit duration?**
A: No. Those need a clickstream panel and no reliable source for them exists. Rather than promise four columns that arrive empty, this actor does not offer them.

**Q: What output formats are available?**
A: JSON, CSV and Excel, straight from the Apify dataset, plus an HTML run report in the key-value store.

**Q: How long does a run take?**
A: A five-domain traffic check finishes in a couple of seconds. Long lists are batched 1000 domains per request, so a 500-domain run is minutes, not hours.

### 🐛 Troubleshooting

**A domain came back with zero visits**

- Check the spelling and drop anything after the domain, like a path or `www`
- Try a different market — a domain that ranks in Germany reads zero in the United States
- Very new or very small domains may genuinely not rank yet; that is a real answer

**"Not a recognisable domain" in the log**

- Use a form like `apify.com`. A scheme, `www` and a path are all fine and stripped automatically
- IP addresses and single words are rejected before anything is charged

**The keyword operation returned far fewer rows than expected**

- `maxKeywords` caps rows per domain; raise it up to 1000
- Free plan runs cap at 10 keywords per domain
- A domain with no rankings in the selected market returns one row saying so

**My long list was cut short**

- Free plan runs stop at 5 domains. The log says how many were skipped
- For lists over 10,000 domains, split the file and run it in parts

**The run failed with "data service temporarily unavailable"**

- Wait a minute and run it again — the request already retried five times internally

### ⚖️ Is it legal to scrape data?

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the **GDPR** in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

Similarweb is a trademark of Similarweb Ltd. This actor is not affiliated with, endorsed by, or sponsored by Similarweb, and does not scrape similarweb.com.

### 🤝 Support

[![Telegram Support](https://img.shields.io/badge/Telegram-Support%20Group-0088cc?logo=telegram)](https://t.me/+vyh1sRE08sAxMGRi)

**Join our active support community**

- For issues or questions, open an issue in the actor's repository
- Check [SIÁN Agency Store](https://apify.com/sian.agency?fpr=sian) for more automation tools
- 📧 <apify@sian-agency.online>

***

**Built by [SIÁN Agency](https://www.sian-agency.online)** | **[More Tools](https://apify.com/sian.agency?fpr=sian)**

# Actor input Schema

## `operation` (type: `string`):

Pick one per run. Traffic Estimates answers how many visits a domain gets: monthly organic and paid figures plus keyword counts, many domains at once. Ranking Keywords answers where those visits come from: the actual keywords a domain ranks for, each with its position, search volume, CPC and the page that ranks.

## `domain` (type: `string`):

One domain to check, e.g. apify.com. Anything reasonable is accepted — https://apify.com, www.apify.com and apify.com/some/page all normalise to apify.com. Used only when the domain list and list file below are empty; duplicates are removed before anything is charged.

## `bulkDomains` (type: `array`):

Many domains at once, one per line. This field wins over the single domain above when it is filled. Traffic Estimates checks the list in batches of up to 1000 domains per request, so long lists stay fast and cheap. Free plan runs are capped at 5 domains.

## `domainListUrl` (type: `string`):

A public URL to a plain-text file of domains, one per line, lines starting with # ignored. Wins over the two fields above when filled, for lists too long to paste. Any HTTP or HTTPS link to a .txt file works.

## `market` (type: `string`):

Which country's Google search data to estimate from. The same domain can look very different per market — apify.com shows about 402k monthly organic visits from the United States and about 32k from the United Kingdom.

## `maxKeywords` (type: `integer`):

Used by the Ranking Keywords operation: how many of a domain's top keywords to return, strongest first. Free plan runs are capped at 10 per domain.

## Actor input object example

```json
{
  "operation": "trafficEstimates",
  "domain": "apify.com",
  "bulkDomains": [
    "apify.com",
    "stripe.com",
    "cnn.com"
  ],
  "market": "US",
  "maxKeywords": 100
}
```

# Actor output Schema

## `websiteTrafficDomains` (type: `string`):

Every domain this run returned.

## `scrapingSummary` (type: `string`):

HTML summary showing successful and failed results with key metrics

# 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 = {
    "operation": "trafficEstimates",
    "domain": "apify.com",
    "bulkDomains": [
        "apify.com",
        "stripe.com",
        "cnn.com"
    ],
    "market": "US",
    "maxKeywords": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/similarweb-website-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 = {
    "operation": "trafficEstimates",
    "domain": "apify.com",
    "bulkDomains": [
        "apify.com",
        "stripe.com",
        "cnn.com",
    ],
    "market": "US",
    "maxKeywords": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/similarweb-website-traffic-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 '{
  "operation": "trafficEstimates",
  "domain": "apify.com",
  "bulkDomains": [
    "apify.com",
    "stripe.com",
    "cnn.com"
  ],
  "market": "US",
  "maxKeywords": 100
}' |
apify call sian.agency/similarweb-website-traffic-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sian.agency/similarweb-website-traffic-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/Kx0WMN3xJxEDeL244/builds/bPSSuh5Vr7l1SvHq5/openapi.json
