{
  "openapi": "3.0.1",
  "info": {
    "title": "SimilarWeb Scraper - Website Traffic, Rank & Competitors",
    "description": "Scrape SimilarWeb traffic data for any website: global, country and category rank, monthly visits with trend, bounce rate, pages per visit, the full traffic-source split, top countries, organic keywords, AI-assistant traffic and competitors. Monitor mode re-checks domains and returns only changes.",
    "version": "0.1",
    "x-build-id": "EfbmyIq7cwzs7Cj1P"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/topapi~similarweb-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-topapi-similarweb-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/topapi~similarweb-scraper/runs": {
      "post": {
        "operationId": "runs-sync-topapi-similarweb-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/topapi~similarweb-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-topapi-similarweb-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "domains": {
            "title": "🌐 Websites",
            "type": "array",
            "description": "Domains or URLs to look up on SimilarWeb, one per line, e.g. \"wikipedia.org\", \"https://www.bbc.com/news\", \"apify.com\". A subdomain (\"en.wikipedia.org\") is looked up as its own site.",
            "items": {
              "type": "string"
            }
          },
          "minMonthlyVisits": {
            "title": "📈 Minimum monthly visits",
            "minimum": 0,
            "maximum": 100000000000,
            "type": "integer",
            "description": "Keep only sites with at least this many estimated visits last month, e.g. 1000000. 0 = no minimum.",
            "default": 0
          },
          "maxGlobalRank": {
            "title": "🏆 Maximum global rank",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Keep only sites ranked at or above this global rank (1 = most visited). e.g. 100000 keeps the top 100k sites. 0 = no limit. Sites with no rank are removed by this filter.",
            "default": 0
          },
          "countries": {
            "title": "🌍 Top country is one of",
            "type": "array",
            "description": "Two-letter country codes, e.g. US, GB, DE. Keep only sites whose single largest audience country is in this list. Empty = any country.",
            "items": {
              "type": "string"
            }
          },
          "categoryFilter": {
            "title": "🏷️ Category contains",
            "type": "array",
            "description": "Keep only sites whose SimilarWeb category contains one of these words, e.g. \"news\", \"e-commerce\", \"finance\". Matched against the category path like \"news_and_media\". Empty = any category.",
            "items": {
              "type": "string"
            }
          },
          "includeCompetitors": {
            "title": "🥊 Include competitors (similar sites)",
            "type": "boolean",
            "description": "Adds up to 20 ranked similar sites per domain (competitor, category, estimated visits, similarity score) plus the site's tags and related apps. One extra request per domain. Charged as the competitors event only for domains that return at least one competitor.",
            "default": false
          },
          "includeUnavailable": {
            "title": "🚫 Include domains with no data as rows",
            "type": "boolean",
            "description": "Write a row (status, input) for domains SimilarWeb has no traffic data for, or inputs that are not valid domains, so a bulk list comes back complete. Off: they appear only in the run summary.",
            "default": false
          },
          "monitorMode": {
            "title": "🔁 Deliver only changed sites",
            "type": "boolean",
            "description": "Remembers each domain's rank, visits, bounce rate and AI-traffic share in the named key-value store below. A re-run delivers a domain only if it is new or any of those changed, with previousStats, statsDelta and isNew on the row.",
            "default": false
          },
          "monitorStoreName": {
            "title": "🗄️ Monitor memory name",
            "pattern": "^[a-zA-Z0-9-]{1,63}$",
            "type": "string",
            "description": "Name of the key-value store that keeps the per-domain memory for monitor mode. Give each campaign or client its own name. Letters, digits and hyphens.",
            "default": "similarweb-monitor"
          },
          "maxResults": {
            "title": "🔢 Max sites to deliver",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many delivered sites (your cost cap; you pay per delivered site). 0 = every domain in the list. One run handles thousands of domains.",
            "default": 0
          },
          "compact": {
            "title": "🤖 Compact output",
            "type": "boolean",
            "description": "Core fields only (domain, rank, visits, engagement, the main channel shares, AI share and top country): about a tenth of the bytes, sized for AI agents and MCP clients.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "🌍 Proxy",
            "type": "object",
            "description": "SimilarWeb rate-limits a single IP after a handful of requests, so Residential proxy is required for bulk runs; the scraper uses a fresh session per domain. The default works out of the box.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          },
          "maxConcurrency": {
            "title": "⚡ Parallel requests",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "How many domains to look up at the same time. 8 is the tested sweet spot; higher is not faster because the source throttles.",
            "default": 8
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}