# Similarweb Scraper – Website Traffic & Analytics Data (`logiover/similarweb-scraper`) Actor

Similarweb scraper and API alternative. Export website traffic, ranks and analytics to CSV/JSON; scrape Top Websites data without login or API key.

- **URL**: https://apify.com/logiover/similarweb-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Business, Marketing, SEO tools
- **Features:** Limited permissions
- **Stats:** 40 total users, 5 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 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 Scraper — Website Traffic, Rankings & Analytics Data (No API)

![Apify Actor](https://img.shields.io/badge/Apify-Actor-00A67E?logo=apify\&logoColor=white) ![No API key](https://img.shields.io/badge/No%20API%20key-required-2ea44f) ![No login](https://img.shields.io/badge/No%20login-required-2ea44f) ![Pay per result](https://img.shields.io/badge/Pricing-Pay%20per%20result-1C7ED6) ![SEO & Analytics](https://img.shields.io/badge/Category-SEO%20%26%20Analytics-8B5CF6) ![Export](https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel-F59E0B)

Scrape **Similarweb website traffic and analytics** for any domain, or pull the public **Top Websites rankings** in bulk. This **Similarweb scraper** and **website traffic checker** turns Similarweb's public data into a clean, analysis-ready dataset for **competitor research, market mapping and SEO benchmarking** — total visits, global/country/category rank, bounce rate, pages per visit, visit duration, top traffic sources and top countries. **No login, no cookies, no API key.**

> ### 🏆 Why this Similarweb scraper?
>
> **Two modes in one Actor** · **1,000+ ranked sites per run** in ranking mode · full per-domain traffic snapshots in enrichment mode · traffic sources + top countries breakdown · export to JSON / CSV / Excel. The unofficial **Similarweb API alternative** for competitor traffic analysis and niche research — no paid plan or developer key required.

***

### ✨ What this Actor does / Key features

- 📊 **Two modes** — a high-volume **ranking mode** (hundreds to thousands of ranked sites per run) and a per-domain **enrichment mode** with full traffic snapshots. Use either or both in one run.
- 🏆 **Top Websites rankings** — pull the public Top Websites list for any category or country (50 sites per list), with rank, category, rank change, average visit duration, pages per visit and bounce rate.
- 🌍 **Full per-domain analytics** — total visits, global / country / category rank, bounce rate, pages per visit, average visit duration, category and data period.
- 🚦 **Traffic sources & geography** — top traffic source and its share, the full traffic-source breakdown, and top countries with share + change per country.
- 🗂️ **Scrape everything at once** — leave categories and countries empty in ranking mode to scrape the global list plus every top category (1,000+ ranked sites in one run).
- ⚡ **Cheap & fast ranking mode** — reads Top Websites pages with a fast HTTP client over a US residential proxy; no headless browser, so it scales.
- 🛡️ **WAF-ready enrichment** — enrichment mode opens each domain page in a headless browser, clears the AWS WAF challenge, and parses the rendered analytics; domains run concurrently.
- 📤 **Structured output** — export to JSON, CSV, Excel, XML or JSONL, or pull via the Apify API.

### 🚀 Quick start (3 steps)

1. **Choose a mode** — set `categories` and/or `countries` (or enable `global`) for **ranking mode**, and/or add `domains` for **enrichment mode**. Leave categories & countries empty to scrape all top categories.
2. **Run** — keep the default US residential **proxy** (required — Similarweb is WAF-protected) and click **Start**.
3. **Get your data** — open the **Output / Dataset** tab and export to **JSON, CSV, Excel or JSONL**, or pull it via the Apify API.

### 📥 Input

Use ranking mode, enrichment mode, or both in a single run.

#### Example — ranking mode (one category)

```json
{ "categories": ["e-commerce-and-shopping"] }
```

#### Example — all top categories, capped (market map)

```json
{ "global": true, "maxResults": 2000 }
```

#### Example — enrichment mode (per-domain analytics)

```json
{ "domains": ["apify.com", "github.com", "shopify.com"] }
```

| Field | Type | Description |
|-------|------|-------------|
| `categories` | array | **Ranking mode.** Category slugs (`e-commerce-and-shopping`, `finance`, `news-and-media`…). 50 sites each. Empty + no countries scrapes ALL top categories (1,000+ sites). |
| `countries` | array | **Ranking mode.** Country slugs (`united-states`, `germany`, `united-kingdom`, `turkey`…). 50 sites each. |
| `global` | boolean | **Ranking mode.** Also scrape the global Top 50 list. |
| `maxResults` | integer | Cap total output records (0 = no cap). Useful to limit large all-category runs. |
| `domains` | array | **Enrichment mode.** Domains to look up individually. One full-analytics record per domain. Protocol and `www` are stripped automatically. |
| `concurrency` | integer | Parallel browsers for enrichment (1–10). Higher finishes large lists faster but uses more memory. |
| `proxyConfiguration` | object | Apify Proxy. US residential is **required** (Similarweb is WAF-protected) and set by default. |

> Combined country + category lists are limited by Similarweb to ~5 rows on the free pages; single-category and single-country lists return the full 50.

### 📤 Output

Ranking mode writes one row per ranked site; enrichment mode writes one full analytics record per domain. Both export to JSON, CSV, Excel, XML or JSONL.

#### Sample — ranking mode

```json
{
  "rank": "3",
  "domain": "amazon.com",
  "category": "eCommerce & Shopping",
  "rankChange": "+1",
  "avgVisitDuration": "00:07:14",
  "pagesPerVisit": "9.31",
  "bounceRate": "34.12%",
  "listCategory": "e-commerce-and-shopping",
  "listCountry": null,
  "listUrl": "https://www.similarweb.com/top-websites/e-commerce-and-shopping/",
  "websiteUrl": "https://amazon.com",
  "scrapedAt": "2026-07-06T12:00:00.000Z"
}
```

#### Sample — enrichment mode (trimmed)

```json
{
  "domain": "apify.com",
  "totalVisits": "4.1M",
  "globalRank": "#8,929",
  "countryRank": "#9,123",
  "countryRankCountry": "United States",
  "categoryRank": "#268",
  "category": "Computers Electronics and Technology > Programming and Developer Software",
  "bounceRate": "36.35%",
  "pagesPerVisit": "8.04",
  "avgVisitDuration": "00:04:52",
  "topTrafficSource": "Direct",
  "topTrafficSourceShare": "48.7%",
  "trafficSources": { "Direct": "48.7%", "Organic Search": "39.2%", "Referrals": "…" },
  "topCountries": [ { "country": "United States", "share": "22.1%", "change": "+0.4%" }, "…" ],
  "dataPeriod": "April 2026",
  "scrapedAt": "2026-07-06T12:00:00.000Z"
}
```

<details>
<summary><b>📋 Full field reference (click to expand)</b></summary>

**Ranking mode**

| Field | Description |
|-------|-------------|
| `rank` | Rank within the Top Websites list |
| `domain` | Ranked site's domain |
| `category` | Category label shown for the site |
| `rankChange` | Rank movement vs. previous period |
| `avgVisitDuration` | Average visit duration |
| `pagesPerVisit` | Pages per visit |
| `bounceRate` | Bounce rate |
| `listCategory` / `listCountry` | The category / country slug of the list scraped |
| `listUrl` / `websiteUrl` | Source Top Websites list URL / the ranked site's URL |
| `scrapedAt` | Scrape timestamp (ISO 8601) |

**Enrichment mode**

| Field | Description |
|-------|-------------|
| `domain` | Domain looked up |
| `totalVisits` | Total monthly visits |
| `globalRank` | Global Similarweb rank |
| `countryRank` / `countryRankCountry` | Country rank and the country it applies to |
| `categoryRank` / `category` | Category rank and category label |
| `bounceRate` / `pagesPerVisit` / `avgVisitDuration` | Engagement metrics |
| `topTrafficSource` / `topTrafficSourceShare` | Leading traffic source and its share |
| `trafficSources` | Full traffic-source breakdown (Direct, Organic Search, Referrals, Social, Paid…) |
| `topCountries` | Top countries with share and change per country |
| `dataPeriod` | The month/period the analytics reflect |
| `scrapedAt` | Scrape timestamp (ISO 8601) |

</details>

#### How it works

- **Ranking mode** reads `similarweb.com/top-websites/{country?}/{category?}/` pages with a fast HTTP client over a US residential proxy and parses the ranking table — no headless browser, so it is cheap and scales.
- **Enrichment mode** opens each `similarweb.com/website/{domain}/` page in a headless browser, clears the AWS WAF challenge, and parses the rendered analytics. Domains run concurrently.

#### Additional output fields

These fields are also present in the dataset:

| Field | Type | Description |
|---|---|---|
| `avgVisitDurationSec` | number | Avg visit duration sec |
| `bounceRateNum` | number | Bounce rate num |
| `error` | string | Error |
| `listType` | string | List type |
| `pagesPerVisitNum` | number | Pages per visit num |
| `rankChangeNum` | number | Rank change num |
| `rankNum` | number | Rank num |
| `url` | string | Url |
| `totalVisitsNum` | number | Total Visits |
| `globalRankNum` | number | Global Rank |
| `countryRankNum` | number | Country Rank |

### 💡 Use cases

- **Competitor traffic analysis** — pull total visits, ranks and engagement for any competitor domain.
- **Market & niche research** — scrape an entire category's Top Websites list to map the players.
- **SEO & content benchmarking** — compare bounce rate, pages per visit and visit duration across sites.
- **Lead and prospect lists** — build a ranked dataset of the top sites per country or vertical.
- **Traffic-source insight** — see each domain's top traffic source, full source breakdown and top countries.
- **Analytics products** — feed ranked, fresh website datasets into your own dashboard or model.

### 👥 Who uses it

SEO and content teams · growth marketers & competitive-intelligence analysts · agencies building prospect lists · market researchers mapping verticals · founders sizing up competitors · data teams powering traffic dashboards.

### 💰 Pricing

This Actor runs on a simple **pay-per-result** model — you pay for the records you extract, with no separate Apify platform fees to calculate. Try it on the **free tier** first, then scale up. See the **Pricing** tab on this page for the current rate.

### ❓ Frequently Asked Questions

**Do I need a Similarweb login or API key?**
No. Both modes read public Similarweb pages — no account, cookies or developer key required, only an Apify account.

**Is this a Similarweb API alternative?**
Yes. It reads Similarweb's public pages directly, so you get traffic, ranks and analytics data without the official **Similarweb API**, a paid plan or a developer key.

**How do I scrape Similarweb without login?**
Both ranking and enrichment modes read public Similarweb pages over a US residential proxy — no account, cookies or sign-in needed. Just add domains or categories and run.

**How many records can ranking mode return?**
Up to 50 per list. Each top category and each country is its own list, so scraping all top categories yields 1,000+ records, and adding countries multiplies that. Use `maxResults` to cap a run.

**Why is there no total-visits number in ranking mode?**
Similarweb's public Top Websites table only shows rank, category, rank change, average visit duration, pages per visit and bounce rate — no numeric visit count. To get total visits for a site, run it through enrichment mode.

**How do I get total visits and traffic sources for a domain?**
Add the domain to the `domains` field to run enrichment mode, which returns total visits, global / country / category ranks, bounce rate, top traffic source, the full source breakdown and top countries.

**How do I scrape the top websites in a category or country?**
Use ranking mode with category slugs like `finance` or country slugs like `united-states` to pull the public Top Websites list, 50 sites per list.

**Why are residential proxies required?**
Similarweb is protected by AWS WAF, so US residential proxies are needed to load the pages reliably. The default proxy configuration handles this for you.

**How much data can I get?**
Ranking mode can return 1,000+ ranked sites in a single run (all top categories, plus countries), while enrichment mode returns one detailed record per domain you supply. Use `maxResults` to cap large runs.

**How do I export Similarweb traffic data to CSV or JSON?**
Run the Actor, then download the dataset as CSV, JSON, Excel, XML or JSONL from the run page, or pull the website traffic data via the Apify API for your own pipeline.

**Is scraping Similarweb legal?**
The Actor collects only publicly available data. You are responsible for complying with Similarweb's Terms and applicable laws. Not affiliated with or endorsed by Similarweb.

### 🔗 More market, competitor & e-commerce scrapers by logiover

Pair the Similarweb scraper with the rest of the competitor-intelligence and e-commerce suite:

| Actor | What it does |
|---|---|
| [Shopify Competitor Spy](https://apify.com/logiover/shopify-store-product-scraper) | Reverse-engineer a Shopify competitor's catalog & pricing |
| [Trustpilot Reviews Scraper](https://apify.com/logiover/trustpilot-reviews-scraper) | Brand reviews, ratings & sentiment |
| [G2.com Software Reviews Scraper](https://apify.com/logiover/g2-reviews-scraper) | Software reviews for competitor research |
| [Clutch.co Scraper](https://apify.com/logiover/clutch-co-scraper) | Agency & B2B service-provider profiles |
| [GoodFirms Scraper](https://apify.com/logiover/goodfirms-scraper) | B2B company listings & reviews |
| [Google Play Data API](https://apify.com/logiover/google-play-data-api) | App metadata, ratings & reviews |
| [App Store Data API](https://apify.com/logiover/app-store-data-api) | iOS app metadata & reviews |
| [Numbeo Cost of Living Scraper](https://apify.com/logiover/numbeo-cost-of-living-scrape) | Cost-of-living & pricing data by city |
| [Google Flights Scraper](https://apify.com/logiover/google-flights-scraper) | Flight prices & routes |
| [Booking Hotels Prices Scraper](https://apify.com/logiover/booking-hotels-prices-scraper) | Hotel availability & pricing |

👉 Browse all **[logiover scrapers on Apify Store](https://apify.com/logiover)** — 180+ actors across real estate, jobs, crypto, social media & B2B data.

### ⏰ Scheduling & integration

Schedule this Actor on Apify to refresh your competitor and market datasets daily or weekly. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, BI tools and webhooks through the Apify API. Connect it to **Make, n8n or Zapier** to build automated competitor-tracking and SEO pipelines.

### ⭐ Support & feedback

Found a bug or need an extra field? Open an issue on the **Issues** tab — response is usually fast. If this Actor saves you time, a **★★★★★ review** on the Store page genuinely helps and is hugely appreciated. 🙏

### ⚖️ Legal

This Actor collects publicly available data only and is not affiliated with or endorsed by Similarweb. It is intended for legitimate research, analytics and benchmarking use. You are responsible for compliance with Similarweb's Terms and applicable laws.

***

### Similarweb scraping — frequently asked questions

#### Do I need a Similarweb API key, account or login?

No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.

#### How do I export Similarweb data to CSV, Excel, JSON or Google Sheets?

Open the **Storage** tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.

#### Can I schedule this Similarweb scraper to run daily or hourly?

Yes. Use the **Schedules** tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the rows you care about really do change that fast.

#### How many rows can I get, and what does it cost?

See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.

#### Is scraping Similarweb legal?

This Actor collects only information that Similarweb publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.

#### What happens if Similarweb blocks the run or changes its layout?

A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run **fails with the reason** instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".

#### Can I use this with an AI agent, LangChain or an MCP client?

Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.

### 📝 Changelog

#### 2026-11-01

- Monthly health check (2026-11-01): a live run on the current build completed successfully and returned data. Input options, output fields and pricing are unchanged.
- README refreshed: 2 links to renamed Actors updated, 2 links to retired Actors removed; documented 11 additional output fields.

#### 2026-10-15

- Every request now has a hard time limit, so a proxy connection that stalls can no longer hold up the run or push it past its timeout.
- A run that reaches its maximum cost per run now stops cleanly with its results saved and a status message, instead of ending as aborted.
- A proxy group your account cannot use no longer stops the run at start-up; it falls back to the default Apify Proxy.
- Runs with a short timeout (API and AI-agent calls) now finish inside it with what they collected, instead of being cut off.
- Memory is managed within the run's own limit, which removes a rare out-of-memory crash on large pages.

#### 2026-09-23

- Fleet-wide quality audit. Verified end to end against live data and re-checked the input schema, the output columns and the run configuration.
- Output verified on a live run: 18 columns returned, 94.4% of cells populated.
- Run reliability reviewed: 100.0% of public runs succeeded in the last 30 days.
- Input schema, output schema and pricing configuration reviewed.
- Noted that 1 column(s) came back empty in this sample (`listCountry`); these are under review.

#### 2026-09-01

- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.

#### 2026-08-11

- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

#### 2026-08-01

- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
- Declared 18 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
- Declared 20 nullable dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder or brittle to sparse modes.
- Added the five source-emitted enrichment fields missing from the typed dataset contract: formatted total visits/global rank, traffic-source objects, top-country objects and the data-period label.

#### 2026-07-06

- ✨ README overhaul: dual-mode output samples with full field reference, named example scenarios, and a competitor-intelligence cross-promo suite.

#### 2026-07-01

- Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
- Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
- Added ready-to-run example tasks that cover common real-world use cases.

#### 2026-06-28

- Health check passed — Actor verified working end-to-end on the Apify platform.
- Changelog refreshed for Store quality compliance.

#### 2026-06-20

- Maintenance & reliability pass: re-verified end-to-end against live data and confirmed the Actor completes successfully within the 5-minute quality window on the default input.
- Refreshed the prefilled example input and tuned run defaults for faster, lower-cost runs.

#### 2026-06-15

- Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.

#### 2026-06-07

- Docs: added coverage for Similarweb API alternative, scraping without login, and exporting website traffic data to CSV/JSON.

***

\*Maintained: last verified 2026-11-01 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).

# Changelog

This Actor's version history is a separate document: https://apify.com/logiover/similarweb-scraper/changelog.md

# Actor input Schema

## `categories` (type: `array`):

Pick one or more Similarweb categories to pull Top Websites rankings for (50 sites each). Leave empty to scrape ALL top categories (1,000+ sites).

## `countries` (type: `array`):

Pick one or more countries for country-level Top Websites rankings (50 sites each). Combine with categories for country+category lists (Similarweb limits combined lists to ~5 rows on the free pages).

## `global` (type: `boolean`):

Also scrape the global Top Websites list (top 50 sites worldwide).

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

Cap total output records (0 = no cap). Useful to limit large all-category runs. An empty input defaults this to 150 for a fast, cheap first run.

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

Similarweb is protected by AWS WAF. US residential proxies are required. Leave the default (Apify Proxy · RESIDENTIAL · US).

## Actor input object example

```json
{
  "categories": [
    "e-commerce-and-shopping",
    "finance",
    "games"
  ],
  "countries": [
    "united-states",
    "germany"
  ],
  "global": false,
  "maxResults": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

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

All records extracted by this run. Open the Dataset tab to browse, filter, and export as CSV, JSON, or Excel.

# 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 = {
    "categories": [
        "e-commerce-and-shopping"
    ],
    "maxResults": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/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 = {
    "categories": ["e-commerce-and-shopping"],
    "maxResults": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("logiover/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 '{
  "categories": [
    "e-commerce-and-shopping"
  ],
  "maxResults": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call logiover/similarweb-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,logiover/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/OKNi60iYXdP9aYlUU/builds/XwLnPPgHOmfnaL3Af/openapi.json
