{
  "openapi": "3.0.1",
  "info": {
    "title": "Semrush Bulk Domain Metrics - Authority, Traffic & Backlinks",
    "description": "Get the Semrush domain overview in bulk for a list of domains or URLs: Authority Score, backlinks, organic and paid traffic, visits, countries, competitors, AI traffic, 6-month history. No Semrush account. Optional change monitor, competitor landscape and Moz DA. Missing domains are free.",
    "version": "0.1",
    "x-build-id": "93CaMcEuvPUMAXrb6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapewise~semrush-domain-overview/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapewise-semrush-domain-overview",
        "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/scrapewise~semrush-domain-overview/runs": {
      "post": {
        "operationId": "runs-sync-scrapewise-semrush-domain-overview",
        "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/scrapewise~semrush-domain-overview/run-sync": {
      "post": {
        "operationId": "run-sync-scrapewise-semrush-domain-overview",
        "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": "Domains",
            "type": "array",
            "description": "Domains or website links, one per line (for example amazon.com or https://www.backlinko.com/blog). Links are reduced to their domain and duplicates are read once. Each domain becomes one row with Authority Score, organic and paid traffic, keywords, backlinks, referring domains, top countries and main competitors. Use the root domain, because Semrush's public pages do not cover most subdomains (see 'Fall back to the root domain'). Domains Semrush does not know return a free row. No Semrush account needed. Also accepts 'urls', 'websites', 'startUrls', 'q', 'queries' or 'target' from other Semrush Actors.",
            "items": {
              "type": "string"
            }
          },
          "includeCompetitorDetails": {
            "title": "Add competitor details",
            "type": "boolean",
            "description": "Also reads the domain's public competitors page and adds up to 7 competitors with Authority Score, ranks, visits, bounce rate, pages per visit and visit duration, plus the site's description. Same price per domain, a bit slower (one more page per domain). Off by default. Also accepts 'includeCompetitors'.",
            "default": false
          },
          "useRootDomain": {
            "title": "Fall back to the root domain",
            "type": "boolean",
            "description": "If a subdomain (for example blog.example.com) has no public Semrush page, reads the root domain (example.com) instead of returning a free not-found row. The row keeps the subdomain you asked for in requestedDomain, so you can tell them apart. Off by default.",
            "default": false
          },
          "competitorLandscape": {
            "title": "Competitor landscape",
            "type": "boolean",
            "description": "For each domain, also reads the full overview of its competitors (up to 7, from the competitors page) and adds one row per competitor (with competitorOf) plus one summary row (type 'landscape') ranking the domain against them by visits, Authority Score, organic traffic and AI traffic share, with its share of the group's visits. Each competitor row is a full domain overview and is charged like any domain (read once per run, even if several of your domains share it). Turns on 'Add competitor details'. Also accepts 'expandCompetitors'.",
            "default": false
          },
          "maxLandscapeCompetitors": {
            "title": "Competitors per landscape",
            "minimum": 1,
            "maximum": 7,
            "type": "integer",
            "description": "How many competitors to read in full for each domain in the competitor landscape (1 to 7). Fewer competitors means fewer charged competitor rows.",
            "default": 7
          },
          "includeMozMetrics": {
            "title": "Add Moz metrics",
            "type": "boolean",
            "description": "Also reads Moz's free domain analysis for each domain: mozDomainAuthority, mozSpamScore, mozLinkingRootDomains, and in 'moz' the ranking keywords, top pages, top linking domains and 60 days of linking domains gained and lost. Uses a new residential IP per domain (included). If Moz has no data, the row keeps the Semrush data with mozErrorCode. Also accepts 'include_moz'.",
            "default": false
          },
          "monitorChanges": {
            "title": "Compare with the previous run",
            "type": "boolean",
            "description": "Keeps the last state of every domain in a key-value store on your account (named after the domains of this input, or after 'Snapshot name') and adds to each row: changes (list), isNewDomain, previousMonth, authorityScoreChange, globalRankChange (positive = moved up), visitsChangeSinceLastRun, organicTrafficChangeSinceLastRun, paidTrafficChangeSinceLastRun, backlinksChangeSinceLastRun, referringDomainsChangeSinceLastRun, aiTrafficShareChange, newCompetitors, lostCompetitors, newTopKeywords, lostTopKeywords, firstSeenAt and previousSeenAt. On the first run every domain is new. Schedule the same Task weekly or monthly to watch clients or competitors. Also accepts 'compareWithPreviousRun'.",
            "default": false
          },
          "onlyChanged": {
            "title": "Deliver only new and changed domains",
            "type": "boolean",
            "description": "Turns on 'Compare with the previous run'. Domains whose numbers, month, competitors and top keywords did not change are not saved and not charged. A run where nothing changed returns one free row with errorCode NO_CHANGES. Semrush updates its numbers about once a month, so a daily schedule with this option costs almost nothing on most days.",
            "default": false
          },
          "snapshotName": {
            "title": "Snapshot name (optional)",
            "type": "string",
            "description": "Name of the history to compare with. Leave empty to derive it from the domains of this input (the same domain list always compares with itself). Set it to keep one history while the domain list changes."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy, on by default with the datacenter group. The Actor switches to residential IPs by itself if Semrush starts refusing requests, at no extra charge. Keep the default.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}