{
  "url": "https://telipot.com/catalog/tasks/semrush.seo.domain.gap",
  "id": "semrush.seo.domain.gap",
  "name": "Keyword gap between up to five domains by country",
  "provider": {
    "slug": "semrush",
    "name": "Semrush"
  },
  "capability": "seo.domain.gap",
  "platform": "seo",
  "kind": "data",
  "tier": "core",
  "identity": "key",
  "identityLabel": "Your plan",
  "price": {
    "native": {
      "text": "80 API units per result",
      "figure": "80 API units",
      "per": "result",
      "currency": "API units"
    },
    "confidence": "documented",
    "source": "docs",
    "sourceUrl": "https://developer.semrush.com/api/v3/seo/domain-reports/#domain-vs-domain",
    "checked": "2026-10-05",
    "note": "80 API units per line returned. Semrush does not charge a request that returns no data. Semrush publishes no USD price per API unit.",
    "type": "per_result",
    "state": "native",
    "label": "Semrush API units",
    "detail": "80 API units / result · docs"
  },
  "providers": 1,
  "retention": "standard",
  "runsOn": "byoc",
  "live": true,
  "summary": "This report allows users to compare up to five domains by common keywords, unique keywords, all keywords, or search terms that are unique to the first domain.",
  "method": "GET",
  "path": "/",
  "host": "https://api.semrush.com",
  "docsUrl": "https://developer.semrush.com/api/v3/seo/domain-reports/#domain-vs-domain",
  "auth": {
    "scheme": "api_key",
    "label": "api_key · in query as key",
    "short": "api_key · ?key"
  },
  "scope": "any_account",
  "principal": "organization",
  "requiredScopes": [],
  "verification": {
    "state": "none",
    "label": "Not verified yet",
    "detail": "Not checked yet. We test with a real request before we mark it."
  },
  "input": [
    {
      "name": "type",
      "location": "queryParams",
      "type": "string",
      "required": true,
      "constraints": [
        "const \"domain_domains\""
      ],
      "note": "Fixed. Selects the Domain vs. Domain report."
    },
    {
      "name": "domains",
      "location": "queryParams",
      "type": "string",
      "required": true,
      "constraints": [],
      "note": "Up to five domains, each written sign|type|domain and all joined with |. Sign is +, -, * or /. Type is or for organic keywords or ad for paid keywords. Shared keywords: *|or|a.com|*|or|b.com. All keywords: *|or|a.com|+|or|b.com. Unique to a.com: *|or|a.com|-|or|b.com. Untapped for a.com: *|or|b.com|+|or|c.com|-|or|a.com. Missing for a.com: *|or|b.com|*|or|c.com|-|or|a.com. Keywords in only one domain: *|or|a.com|/|or|b.com. Write it in plain text; Semrush needs it URL-encoded, so the | and * must reach it as %7C and %2A."
    },
    {
      "name": "database",
      "location": "queryParams",
      "type": "string",
      "required": true,
      "constraints": [],
      "note": "Two-letter regional database code, such as us, uk, ca, de or fr. Domain reports also take the mobile- and -ext codes listed under Databases in the SEO API overview."
    },
    {
      "name": "display_limit",
      "location": "queryParams",
      "type": "integer",
      "required": true,
      "constraints": [
        "1 to 100000"
      ],
      "note": "Lines returned, which is what Semrush bills. Semrush returns up to 10,000 lines when the parameter is omitted or 0, so this task requires it. Semrush returns at most 100,000 lines per call."
    },
    {
      "name": "display_offset",
      "location": "queryParams",
      "type": "integer",
      "required": false,
      "constraints": [
        "at least 0"
      ],
      "note": "Lines to skip before the report starts. Semrush counts display_limit from the first line, so set display_limit to display_offset plus the lines wanted."
    },
    {
      "name": "display_sort",
      "location": "queryParams",
      "type": "string",
      "required": false,
      "constraints": [
        "one of \"p0_asc\", \"p0_desc\", \"p1_asc\", \"p1_desc\", \"p2_asc\", \"p2_desc\", \"p3_asc\", \"p3_desc\", \"p4_asc\", \"p4_desc\", \"nq_asc\", \"nq_desc\", \"co_asc\", \"co_desc\", \"cp_asc\", \"cp_desc\", \"nr_asc\", \"nr_desc\""
      ],
      "note": "Sort rule, one per call. p0 to p4 are the positions of the first to fifth domain."
    },
    {
      "name": "display_filter",
      "location": "queryParams",
      "type": "string",
      "required": false,
      "constraints": [],
      "note": "Filters written as sign|column|operation|value, joined with |. Sign + includes and - excludes. Columns: Ph, P0, P1, P2, P3, P4, Nq, Cp, Co, Nr, Kd. Operations: Eq, Gt, Lt for numbers; Bw, Ew, Eq, Co, Wm for text. At most 25 filters. Write it in plain text; the + must reach Semrush as %2B."
    },
    {
      "name": "export_columns",
      "location": "queryParams",
      "type": "string",
      "required": false,
      "constraints": [
        "default \"Ph,P0,P1,P2,P3,P4,Nr,Cp,Nq,Kd,Co,Td\""
      ],
      "note": "Comma-separated column codes, in the order wanted. Ph Keyword, P0 to P4 position of the first to fifth domain in Google's top 100 (0 means not ranked), Nq Search Volume, Cp CPC in USD, Co Competition (0 to 1), Nr Number of Results, Kd Keyword Difficulty Index, Td Trends."
    }
  ],
  "sampleInput": {
    "type": "domain_domains",
    "domains": "*|or|stripe.com|*|or|paypal.com",
    "database": "us",
    "display_limit": 1,
    "export_columns": "Ph,P0,P1,Nq"
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "type": {
        "type": "string",
        "description": "Fixed. Selects the Domain vs. Domain report.",
        "const": "domain_domains"
      },
      "domains": {
        "type": "string",
        "description": "Up to five domains, each written sign|type|domain and all joined with |. Sign is +, -, * or /. Type is or for organic keywords or ad for paid keywords. Shared keywords: *|or|a.com|*|or|b.com. All keywords: *|or|a.com|+|or|b.com. Unique to a.com: *|or|a.com|-|or|b.com. Untapped for a.com: *|or|b.com|+|or|c.com|-|or|a.com. Missing for a.com: *|or|b.com|*|or|c.com|-|or|a.com. Keywords in only one domain: *|or|a.com|/|or|b.com. Write it in plain text; Semrush needs it URL-encoded, so the | and * must reach it as %7C and %2A.",
        "examples": [
          "*|or|stripe.com|*|or|paypal.com"
        ]
      },
      "database": {
        "type": "string",
        "description": "Two-letter regional database code, such as us, uk, ca, de or fr. Domain reports also take the mobile- and -ext codes listed under Databases in the SEO API overview.",
        "examples": [
          "us"
        ]
      },
      "display_limit": {
        "type": "integer",
        "description": "Lines returned, which is what Semrush bills. Semrush returns up to 10,000 lines when the parameter is omitted or 0, so this task requires it. Semrush returns at most 100,000 lines per call.",
        "examples": [
          10
        ],
        "minimum": 1,
        "maximum": 100000
      },
      "display_offset": {
        "type": "integer",
        "description": "Lines to skip before the report starts. Semrush counts display_limit from the first line, so set display_limit to display_offset plus the lines wanted.",
        "minimum": 0
      },
      "display_sort": {
        "type": "string",
        "description": "Sort rule, one per call. p0 to p4 are the positions of the first to fifth domain.",
        "enum": [
          "p0_asc",
          "p0_desc",
          "p1_asc",
          "p1_desc",
          "p2_asc",
          "p2_desc",
          "p3_asc",
          "p3_desc",
          "p4_asc",
          "p4_desc",
          "nq_asc",
          "nq_desc",
          "co_asc",
          "co_desc",
          "cp_asc",
          "cp_desc",
          "nr_asc",
          "nr_desc"
        ]
      },
      "display_filter": {
        "type": "string",
        "description": "Filters written as sign|column|operation|value, joined with |. Sign + includes and - excludes. Columns: Ph, P0, P1, P2, P3, P4, Nq, Cp, Co, Nr, Kd. Operations: Eq, Gt, Lt for numbers; Bw, Ew, Eq, Co, Wm for text. At most 25 filters. Write it in plain text; the + must reach Semrush as %2B."
      },
      "export_columns": {
        "type": "string",
        "description": "Comma-separated column codes, in the order wanted. Ph Keyword, P0 to P4 position of the first to fifth domain in Google's top 100 (0 means not ranked), Nq Search Volume, Cp CPC in USD, Co Competition (0 to 1), Nr Number of Results, Kd Keyword Difficulty Index, Td Trends.",
        "default": "Ph,P0,P1,P2,P3,P4,Nr,Cp,Nq,Kd,Co,Td"
      }
    },
    "required": [
      "type",
      "domains",
      "database",
      "display_limit"
    ],
    "additionalProperties": false
  },
  "output": [
    {
      "name": "output",
      "type": "string",
      "description": "CSV text: a header line of column names, then one line per keyword, columns separated by semicolons, in the order of export_columns. The position columns P0 to P4 are headed by the names of the domains queried. A body that starts with ERROR is a failure, for example ERROR 50 :: NOTHING FOUND."
    }
  ],
  "outputSchema": {
    "type": "string",
    "pattern": "^(?!\\s*ERROR)",
    "description": "CSV text: a header line of column names, then one line per keyword, columns separated by semicolons, in the order of export_columns. The position columns P0 to P4 are headed by the names of the domains queried. A body that starts with ERROR is a failure, for example ERROR 50 :: NOTHING FOUND."
  },
  "commands": {
    "mode": "run",
    "cli": "telipot run semrush.seo.domain.gap \\\n  --input-json '{\"type\":\"domain_domains\",\"domains\":\"*|or|stripe.com|*|or|paypal.com\",\"database\":\"us\",\"display_limit\":1,\"export_columns\":\"Ph,P0,P1,Nq\"}'",
    "http": "curl https://api.telipot.com/v1/tasks/semrush.seo.domain.gap/run \\\n  -H \"Authorization: Bearer $TELIPOT_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"type\":\"domain_domains\",\"domains\":\"*|or|stripe.com|*|or|paypal.com\",\"database\":\"us\",\"display_limit\":1,\"export_columns\":\"Ph,P0,P1,Nq\"}'",
    "quote": "telipot run semrush.seo.domain.gap \\\n  --input-json '{\"type\":\"domain_domains\",\"domains\":\"*|or|stripe.com|*|or|paypal.com\",\"database\":\"us\",\"display_limit\":1,\"export_columns\":\"Ph,P0,P1,Nq\"}' \\\n  --quote"
  },
  "siblings": []
}
