# Similarweb \[$0.99💰] AI Traffic·Rank·Visits·Keywords (`memo23/similarweb-scraper`) Actor

Similarweb data plus AI-assistant traffic: what % of a domain's visits come from ChatGPT, Claude & Gemini, and which ones. Plus rank, monthly visits + 3-month trend, bounce rate, traffic sources, top keywords. From $0.99/1k domains (plan discounts to $0.70), empty domains free.

- **URL**: https://apify.com/memo23/similarweb-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** AI, Agents, SEO tools
- **Features:** Limited permissions
- **Stats:** 652 total users, 234 monthly users, 98.1% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 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 Traffic + AI-Traffic Scraper 📊

**See what share of any domain's visits comes from AI assistants**, and exactly which ones: ChatGPT, Claude, Gemini, Perplexity and more. Plus the full traffic profile: global / country / category rank, estimated monthly visits with a 3-month trend, engagement metrics, the traffic-source split, top countries, and top organic keywords. One clean, flat row per domain. JSON or CSV.

**No monthly fee.** **From $0.99 per 1,000 domains** — plan discounts down to $0.70/1k, and only for domains that return data. No account, no API key. Just paste a list of domains.

![How the Similarweb Website Traffic Scraper works](https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-similarweb.png)

### Why use this scraper

- **AI-traffic data on every row.** See exactly what % of a site's visits come from AI assistants, and *which* ones (ChatGPT, Gemini, Claude, Perplexity, Grok, Copilot…), with three months of history.
- **No monthly fee.** Pure pay-per-result: **from $0.99 / 1,000 domains** (Bronze/Silver/Gold plans pay down to $0.70), $0 to start, and domains with no data are **free**: they go to the run's `NO_DATA_DOMAINS` record instead of the billed dataset. A one-off check of 500 domains costs about fifty cents.
- **Proven reliable.** A 191-domain test returned **100% of rows with data, zero failures, in 29 seconds**.
- **Bulk, not one-at-a-time.** Paste 1 domain or 5,000 — each becomes one self-contained row. Similarweb's own UI makes you check domains one by one.
- **Similarweb traffic data, at scale.** Get a full traffic profile for every domain, without a Similarweb account or paid seat.
- **Flat rows, ready for a spreadsheet.** Ranks, visits, engagement, traffic split, countries and keywords are all denormalized onto one row. Open the CSV and filter.

### What you get per domain

| Group | Fields |
|---|---|
| **Identity** | domain, site name, title, meta description, Similarweb category, profile URL, desktop + mobile previews, favicon |
| **Ranks** | global rank, country rank (+ country), category rank (+ category) |
| **Traffic** | estimated monthly visits + a 3-month visit-history trend |
| **Engagement** | bounce rate, pages per visit, average visit duration |
| **Traffic sources** | direct, organic search, paid search, organic social, paid social, referrals, email, display ads, affiliate, **AI / GenAI** — each as a share of total visits |
| **Audience** | top countries with traffic share |
| **SEO** | top organic keywords with search volume, estimated value and CPC |
| **AI traffic** ★ | AI-referral share, total AI-referred visits, ranked assistants, **named columns** (`aiTrafficShareChatgpt` / Claude / Gemini / Perplexity / Copilot) and a monthly AI-share history |
| **Similar sites** ◇ *(opt-in)* | Competitor / similar sites with category rank + affinity. `datasetMode=similar_sites` or `includeSimilarSites`; 1 premium unit (≈ +$1/1k). |
| **WHOIS + keywords** *(opt-in)* | Registrar, dates, nameservers, and homepage keyword density. `datasetMode=aitdk`; 2 premium units (≈ +$2/1k). |
| **In-depth** ◆ *(opt-in)* | Audience **gender** split, **age-bracket** distribution, **competitor / similar sites**, and the **top 5 countries** with each one's traffic change, plus the total country count. Audience data is often missing for sites under about 100,000 monthly visits: a domain with competitors but no audience pays 1 unit, and one with neither pays nothing. Turn on with `includeInDepth`; billed as 4 premium units per domain (≈ +$4/1k). Includes similar sites, so you do not need both toggles. |

> **Preview before you pay:** even a base run shows what `includeInDepth` would add — every row carries `premiumLocked` plus a `premiumNote` naming the locked fields (audience demographics, competitors, top-country trends).

### Supported input

Paste website addresses in **any** of these shapes — each is normalized to its root domain automatically:

- Bare domain — `stripe.com`
- With `www.` — `www.stripe.com`
- Full URL — `https://stripe.com/pricing?ref=nav`
- A Similarweb profile URL — `https://www.similarweb.com/website/stripe.com/`

Duplicate entries are de-duplicated (looked up once, charged once). Invalid entries are skipped with a clear warning.

### Use cases

- **Competitive intelligence** — benchmark your domain against rivals on rank, visits and engagement.
- **SEO & content** — pull each competitor's top organic keywords (with volume + CPC) and their organic-search dependence.
- **AI-visibility (GEO) audits** — measure how much traffic a site already gets from AI assistants and which ones — the new frontier of search.
- **Lead qualification** — score prospect websites by real traffic before you reach out.
- **Market sizing** — estimate total addressable traffic across a list of players in a category.
- **Investment / M\&A diligence** — verify a target's traffic claims and trend direction.

### How it works

1. **Input** — your domains are normalized to root domains and de-duplicated.
2. **Fetch** — for each domain the actor retrieves Similarweb's traffic estimates, retrying failed lookups automatically so a temporary error never costs you a row.
3. **Emit** — the JSON is flattened into one tidy row and pushed to the dataset, about 0.15 s per domain at volume.

### Input configuration

| Field | Type | Default | Description |
|---|---|---|---|
| `datasetMode` | string | `base_data` | `base_data` (traffic + AI), `similar_sites` (also competitors), or `aitdk` (also WHOIS + keyword density). |
| `domains` | array | — | Domains/URLs to look up (one row each). Required. |
| `maxItems` | integer | 1000 | Max domains per run. Free Apify plan capped at 15. |
| `proxy` | object | Residential | Proxy settings. The default works out of the box. |
| `includeSimilarSites` | boolean | false | Fetch similar/competitor sites (category rank + affinity). 1 premium unit per domain (≈ +$1/1k). Skip if `includeInDepth` is on. |
| `includeInDepth` | boolean | false | Audience demographics, similar sites, and the top 5 countries with traffic change. Slower extra request; 4 premium units per domain (≈ +$4/1k); 1 unit if only competitors come back, 0 if neither. |

#### Example input

```json
{
  "domains": ["stripe.com", "github.com", "openai.com"],
  "maxItems": 1000
}
```

### Output sample

```json
{
  "domain": "openai.com",
  "siteName": "openai.com",
  "title": "OpenAI",
  "category": "ai_chatbots_and_tools",
  "similarwebUrl": "https://www.similarweb.com/website/openai.com/",
  "hasData": true,
  "globalRank": 147,
  "countryRank": 188,
  "countryRankCountryCode": "US",
  "categoryRank": 5,
  "categoryRankCategory": "AI_Chatbots_and_Tools",
  "monthlyVisits": 259461422,
  "bounceRate": 0.549,
  "pagesPerVisit": 2.73,
  "avgVisitDurationSec": 150.4,
  "engagementMonth": "2026-09",
  "monthlyVisitsHistory": [
    { "date": "2026-07-01", "visits": 197235347 },
    { "date": "2026-08-01", "visits": 204335158 },
    { "date": "2026-09-01", "visits": 259461422 }
  ],
  "trafficDirect": 0.4305,
  "trafficSearchOrganic": 0.2108,
  "trafficReferrals": 0.0883,
  "trafficGenAi": 0.215,
  "topCountries": [
    { "countryCode": "US", "share": 0.2551 },
    { "countryCode": "IN", "share": 0.0768 }
  ],
  "topKeywords": [
    { "keyword": "chatgpt", "volume": 185072310, "estimatedValue": 28570350, "cpc": 0.13 }
  ],
  "aiTrafficTotalVisits": 55723184,
  "aiReferralTraffic": 0.2152,
  "aiTrafficTopSources": ["chatgpt.com", "gemini.google.com", "perplexity.ai", "claude.ai", "grok.com"],
  "aiTrafficShareChatgpt": 98.66,
  "screenshotUrl": "https://site-images.similarcdn.com/image?url=openai.com&t=1&s=1",
  "scrapedAt": "2026-11-01T12:50:27.976Z"
}
```

### Key output fields

| Field | Meaning |
|---|---|
| `globalRank` | Worldwide traffic rank (1 = most-visited site on earth). |
| `monthlyVisits` | Estimated visits in the latest snapshot month. |
| `monthlyVisitsHistory` | Last 3 months of estimated visits — the trend direction. |
| `bounceRate` / `pagesPerVisit` / `avgVisitDurationSec` | Core engagement quality metrics. |
| `traffic*` | Share (0–1) of visits from each channel: direct, search, social, referral, mail, display, affiliate, **GenAi**. |
| `trafficGenAi` | Share (0–1) of visits from AI assistants. |
| `aiTrafficTopSources` | Which AI assistants send traffic, ranked. |
| `aiTrafficShareChatgpt` / `Claude` / `Gemini` / `Perplexity` / `Copilot` | Each assistant's share of the domain's AI-referred visits, as a percentage (98.66 = 98.66%). Empty when Similarweb lists no visits from that assistant. |
| `previewDesktop` / `previewMobile` / `favicon` | Similarweb-hosted site images. |
| `topKeywords` | Top organic keywords with volume, estimated value and CPC. |
| `topCountries` | Top countries by traffic share. |
| `competitors` ◇ ◆ | Similar / competitor sites with category rank + affinity (1 = closest). On `includeSimilarSites` or `includeInDepth`. |
| `topCompetitors` | Domain names of those similar sites. Filled by the opt-in add-ons. |
| `audienceGender` / `audienceAgeDistribution` ◆ | *(in-depth)* Audience gender split and age-bracket shares. |
| `geographyCountries` ◆ | *(in-depth)* Top 5 countries with traffic share and change. |
| `hasData` | `true` on every dataset row. Domains Similarweb has no data for are never written to the (billed) dataset: they're listed free in the run's `NO_DATA_DOMAINS` key-value record. |

### Pricing

Pay-per-result with **plan discounts** — the higher your Apify plan, the less you pay per row:

| | Free / no plan | Bronze | Silver | Gold+ |
|---|---|---|---|---|
| **Domain result** (per 1,000) | $0.99 | $0.90 | $0.80 | $0.70 |
| **Similar-sites add-on** ◇ (per 1,000 domains, opt-in) | +$1.00 | +$0.90 | +$0.80 | +$0.70 |
| **WHOIS + keyword-density add-on** (per 1,000 domains, opt-in) | +$2.00 | +$1.80 | +$1.60 | +$1.40 |
| **In-depth add-on** ◆ (per 1,000 domains, opt-in) | +$4.00 | +$3.60 | +$3.20 | +$2.80 |
| **Contact-email add-on** (per 1,000 emails found, opt-in) | +$5.00 | +$4.50 | +$4.00 | +$3.50 |

You're charged only for domains that return data. Unknown domains are free (listed in the `NO_DATA_DOMAINS` record of the run's key-value store), even when none of the domains in a run has data. Add-ons bill only when the premium data is actually returned, never for misses. No subscription, no Similarweb seat required.

**Price change on November 16, 2026:** the domain result moves to $1.49 / $1.35 / $1.20 / $1.05 per 1,000 on the plans above. Add-on prices stay the same.

**On the free Apify plan,** runs stop at 15 domains and add-ons are off. The first 3 domains of each run come back in full, so you can check the data. After that, rows keep the domain, ranks, category, WHOIS and monthly visits rounded to their order of magnitude (77 million shows as 80,000,000), while the traffic-source split, country split, keywords, visit history, engagement metrics and in-depth add-ons are left empty, and the row carries a `freePlanNote` saying so. Any paid Apify plan returns every field for every domain.

### FAQ

**Do I need a Similarweb account or API key?**
No. The actor needs no Similarweb account, login or API key.

**Is there a monthly fee?**
No. This actor is pure pay-per-result: from $0.99 per 1,000 domains (less on higher Apify plans), nothing upfront, and you only pay for domains that return data. If you scrape 200 domains once, you pay for 200 domains — not a month.

**Does it really include AI-assistant traffic?**
Yes. Rows carry `trafficGenAi` (the AI share of total visits) and `aiTrafficTopSources` (the ranked list of assistants: ChatGPT, Claude, Gemini, Perplexity, Grok, Copilot…). In our latest 191-domain test, 190 domains listed AI sources. A site with no measured AI visits leaves the source list empty.

**How fresh is the data?**
It's Similarweb's monthly snapshot — the `snapshotDate` and `engagementMonth` fields tell you exactly which month each row describes.

**How do I get competitors, WHOIS, or audience demographics?**
Set **`datasetMode`**: `similar_sites` for lookalikes (1 premium unit, ≈ +$1/1k), `aitdk` for WHOIS/RDAP + homepage keyword density (2 units, ≈ +$2/1k). Enable **`includeInDepth`** when you also want gender, age, and top-country trends — 4 units, and it already includes competitors. Base traffic and named AI-assistant columns are always on the row.

**Are the numbers exact?**
They're Similarweb's *estimates*, same as you'd see on similarweb.com. For small/low-traffic sites the `isSmall` flag is set and figures are coarser; very obscure domains have no data at all and end up (free of charge) in the `NO_DATA_DOMAINS` list.

**Can I pass full URLs instead of bare domains?**
Yes — full URLs, `www.` prefixes, and Similarweb profile URLs all get normalized to the root domain automatically.

**How fast is it?**
About 0.15 s per domain at the default concurrency, so a 1,000-domain run finishes in a few minutes. Add-ons take longer.

### Support

Found a bug or need a field added? Open an issue on the actor's **Issues** tab and we'll take a look.

### Explore more scrapers

Building a competitive-intelligence or market-research stack? Pair this with:

- [G2 Reviews Scraper](https://apify.com/memo23/g2-scraper) — software reviews, ratings & buyer sentiment
- [Capterra Scraper](https://apify.com/memo23/capterra-scraper) — software listings + reviews
- [Trustpilot Scraper](https://apify.com/memo23/trustpilot-scraper-ppe) — brand reviews & ratings at scale
- [Crunchbase Scraper](https://apify.com/memo23/crunchbase-scraper) — company funding rounds & profiles
- [Glassdoor Scraper](https://apify.com/memo23/glassdoor-scraper-ppr) — employer reviews, salaries & interviews
- [Product Hunt Scraper](https://apify.com/memo23/producthunt-scraper) — launches, makers & contact emails
- [Keyword Metrics](https://apify.com/memo23/keyword-metrics) — Google & Bing search volume, CPC, competition & keyword difficulty

See the [full memo23 actor catalog →](https://apify.com/memo23)

### 🤖 For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the [Apify MCP server](https://mcp.apify.com) or the Apify API (actor: `memo23/similarweb-scraper`).

**Purpose:** Reads Similarweb's traffic estimates for any domain — one flat row per domain with ranks, monthly visits + 3-month trend, engagement, traffic-source split, top countries and keywords, plus the AI-assistant traffic share and which assistants drive it.

**Minimal input:**

```json
{
  "domains": ["stripe.com"],
  "maxItems": 50
}
```

**Output:** one row per domain — domain, siteName, title, category, similarwebUrl, hasData, globalRank, countryRank, countryRankCountryCode, categoryRank, categoryRankCategory, monthlyVisits, bounceRate, pagesPerVisit, avgVisitDurationSec, engagementMonth, monthlyVisitsHistory\[] {date, visits}, trafficDirect, trafficSearchOrganic, trafficReferrals, trafficGenAi, topCountries\[] {countryCode, share}, topKeywords\[] {keyword, volume, estimatedValue, cpc}, aiTrafficTotalVisits, aiReferralTraffic, aiTrafficTopSources\[], aiTrafficShareChatgpt/Claude/Gemini/Perplexity/Copilot, aiTrafficShareHistory\[], previewDesktop, previewMobile, favicon, screenshotUrl, scrapedAt. datasetMode=similar_sites or includeSimilarSites: competitors. datasetMode=aitdk: whois\_\* + keyword_density. includeInDepth: competitors, audienceGender, audienceAgeDistribution, geographyCountries.

**Behaviors an agent should know:**

- domains is required; any of bare domain, www., full URL, or Similarweb profile URL is normalized to the root domain and de-duplicated.
- Always set maxItems — default cap is 1000 (free-plan runs are capped at 15 domains, with add-ons off).
- On the free Apify plan, rows after the first 3 have traffic breakdown fields empty and monthlyVisits rounded; a freePlanNote field marks them. Paid plans get full rows.
- datasetMode: base_data (default) | similar_sites | aitdk. Base traffic is always returned.
- includeSimilarSites (default false) adds competitors (similar sites + affinity); billed 1 premium unit per domain (≈ +$1/1k). Also set by datasetMode=similar_sites.
- includeInDepth (default false) adds demographics, competitors and top-5 country trends via a slower extra request; billed 4 premium units per domain with audience data (≈ +$4/1k), 1 unit if only competitors come back, 0 if neither. Includes similar sites — do not also set includeSimilarSites.
- datasetMode=aitdk adds WHOIS/RDAP + homepage keyword density; billed 2 premium units (≈ +$2/1k).
- enrichEmails (default false) adds contactEmail/contactWebsite; billed 5 premium units per email found (≈ +$5/1k), never for misses.
- Domains Similarweb has no data for are free, excluded from the billed dataset, and listed in the run's NO_DATA_DOMAINS key-value record. A run where no domain has data ends with an empty dataset.
- Billing: pay-per-result, from $0.99 per 1,000 domains on the free/no-plan tier down to $0.70 on Gold+; only domains that return data are charged.

### ⚠️ Disclaimer

This actor returns website-traffic estimates from Similarweb. It does not log in or use a Similarweb account, and it collects no personal data. Traffic figures are third-party estimates provided by Similarweb, not the scraper, and are intended for research, competitive analysis and market sizing. You are responsible for using the data in compliance with Similarweb's terms and all applicable laws.

### SEO Keywords

similarweb ai traffic, ai traffic scraper, chatgpt referral traffic, claude traffic scraper, genai traffic share, ai assistant traffic, GEO audit, generative engine optimization, similarweb scraper, website traffic scraper, similarweb api, web traffic data, domain traffic estimate, monthly visits scraper, website rank checker, global rank scraper, traffic source analysis, organic keywords scraper, competitor traffic analysis, SEO competitive intelligence, bulk domain traffic, website analytics scraper, similarweb alternative, similarweb no rental, traffic intelligence API

# Actor input Schema

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

List of domains (or URLs) to fetch traffic data for. One successful domain = one result row.

## `maxItems` (type: `integer`):

Hard cap on how many domains are looked up in this run. Each domain that returns data is one paid result; domains Similarweb has no data for are listed free of charge in the NO_DATA_DOMAINS record of the run's key-value store. Default 1000. Runs on the free Apify plan are capped at 15 domains.

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

Proxy settings. Residential proxies are recommended, and the default works out of the box.

## `enrichEmails` (type: `boolean`):

If enabled, finds a contact email for each result from its own website (or by discovering it from the name). Adds contactEmail + contactWebsite columns plus a detailed emailEnrichment object. Billed 5 premium-data units per email found (≈ $5 per 1,000 emails on the base plan, cheaper on higher plans); never charged for misses.

## `datasetMode` (type: `string`):

base_data = traffic + AI. similar_sites = also competitors (~+$1/1k). aitdk = also WHOIS/RDAP + homepage keyword density (~+$2/1k). The toggles below still stack.

## `includeSimilarSites` (type: `boolean`):

If enabled, each domain that returns data is also enriched with competitors (similar sites with category rank + affinity). Billed 1 premium-data unit per domain (≈ +$1 per 1,000 on the base plan); only charged when competitors are returned. Skip this if you turn on in-depth below — that already includes competitors.

## `includeInDepth` (type: `boolean`):

If enabled, each domain that returns data is also enriched with: audienceGender (male/female split), audienceAgeDistribution (age brackets), competitors (similar sites with category rank + affinity), and geographyCountries (top 5 countries with traffic share and change) plus geographyCountriesTotal (how many countries the site gets traffic from). Billed 4 premium-data units per in-depth domain (≈ +$4 per 1,000 on the base plan); a domain with competitors but no audience data pays 1 unit instead, and one with neither pays nothing. Audience data is often missing for sites under about 100,000 monthly visits. Includes similar sites, so you do not need includeSimilarSites as well.

## Actor input object example

```json
{
  "domains": [
    "stripe.com",
    "github.com",
    "nytimes.com"
  ],
  "maxItems": 1000,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "enrichEmails": false,
  "datasetMode": "base_data",
  "includeSimilarSites": false,
  "includeInDepth": false
}
```

# 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": [
        "stripe.com",
        "github.com",
        "nytimes.com"
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

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

# Run the Actor and wait for it to finish
run = client.actor("memo23/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": [
    "stripe.com",
    "github.com",
    "nytimes.com"
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call memo23/similarweb-scraper --silent --output-dataset

```

## MCP server setup

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