{
  "service": "semrush",
  "displayName": "Semrush",
  "categories": [
    "Marketing",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "SEMRUSH_API_KEY",
      "description": "Semrush API key passed as the key query parameter. Find it in Subscription info > API units: https://www.semrush.com/accounts/subscription-info/api-units/"
    }
  ],
  "homepageUrl": "https://www.semrush.com/",
  "actions": [
    {
      "id": "semrush.get_domain_overview",
      "service": "semrush",
      "name": "get_domain_overview",
      "description": "Get Semrush domain overview metrics from a regional SEO database.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The domain name to analyze, such as example.com."
          },
          "database": {
            "type": "string",
            "minLength": 1,
            "description": "The Semrush regional database code, such as us, uk, de, or mobile-us."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for requesting a Semrush domain overview report."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "A text Semrush CSV field value."
                  },
                  {
                    "type": "number",
                    "description": "A numeric Semrush CSV field value."
                  },
                  {
                    "type": "null",
                    "description": "A blank Semrush CSV field value."
                  }
                ],
                "description": "One parsed Semrush CSV field value."
              },
              "description": "One normalized Semrush CSV row keyed by Semrush column name."
            },
            "description": "The report rows returned by Semrush."
          },
          "totalRows": {
            "type": "integer",
            "description": "The number of rows returned by Semrush."
          },
          "rawHeader": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One Semrush CSV column."
            },
            "description": "The raw Semrush CSV header columns."
          },
          "rawText": {
            "type": "string",
            "description": "The raw Semrush response text."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Semrush CSV report response."
      }
    },
    {
      "id": "semrush.list_domain_organic_keywords",
      "service": "semrush",
      "name": "list_domain_organic_keywords",
      "description": "List organic search keywords for a domain from a Semrush regional database.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The domain name to analyze, such as example.com."
          },
          "database": {
            "type": "string",
            "minLength": 1,
            "description": "The Semrush regional database code, such as us, uk, de, or mobile-us."
          },
          "display_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "description": "The maximum number of Semrush rows to request."
          },
          "display_offset": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based Semrush row offset to start from."
          },
          "display_date": {
            "type": "string",
            "minLength": 8,
            "maxLength": 8,
            "description": "The Semrush historical snapshot date in YYYYMM15 format when the report supports it."
          }
        },
        "additionalProperties": false,
        "required": [
          "domain",
          "database"
        ],
        "description": "The input payload for requesting Semrush domain organic keyword rows."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "A text Semrush CSV field value."
                  },
                  {
                    "type": "number",
                    "description": "A numeric Semrush CSV field value."
                  },
                  {
                    "type": "null",
                    "description": "A blank Semrush CSV field value."
                  }
                ],
                "description": "One parsed Semrush CSV field value."
              },
              "description": "One normalized Semrush CSV row keyed by Semrush column name."
            },
            "description": "The report rows returned by Semrush."
          },
          "totalRows": {
            "type": "integer",
            "description": "The number of rows returned by Semrush."
          },
          "rawHeader": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One Semrush CSV column."
            },
            "description": "The raw Semrush CSV header columns."
          },
          "rawText": {
            "type": "string",
            "description": "The raw Semrush response text."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Semrush CSV report response."
      }
    },
    {
      "id": "semrush.list_organic_competitors",
      "service": "semrush",
      "name": "list_organic_competitors",
      "description": "List organic search competitors for a domain from a Semrush regional database.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The domain name to analyze, such as example.com."
          },
          "database": {
            "type": "string",
            "minLength": 1,
            "description": "The Semrush regional database code, such as us, uk, de, or mobile-us."
          },
          "display_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "description": "The maximum number of Semrush rows to request."
          },
          "display_offset": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based Semrush row offset to start from."
          },
          "display_date": {
            "type": "string",
            "minLength": 8,
            "maxLength": 8,
            "description": "The Semrush historical snapshot date in YYYYMM15 format when the report supports it."
          }
        },
        "additionalProperties": false,
        "required": [
          "domain",
          "database"
        ],
        "description": "The input payload for requesting Semrush organic competitor rows."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "A text Semrush CSV field value."
                  },
                  {
                    "type": "number",
                    "description": "A numeric Semrush CSV field value."
                  },
                  {
                    "type": "null",
                    "description": "A blank Semrush CSV field value."
                  }
                ],
                "description": "One parsed Semrush CSV field value."
              },
              "description": "One normalized Semrush CSV row keyed by Semrush column name."
            },
            "description": "The report rows returned by Semrush."
          },
          "totalRows": {
            "type": "integer",
            "description": "The number of rows returned by Semrush."
          },
          "rawHeader": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One Semrush CSV column."
            },
            "description": "The raw Semrush CSV header columns."
          },
          "rawText": {
            "type": "string",
            "description": "The raw Semrush response text."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Semrush CSV report response."
      }
    }
  ]
}
