{
  "openapi": "3.0.1",
  "info": {
    "title": "Keyword Research — Ideas, Difficulty & Search Intent",
    "description": "Keyword ideas, long-tail suggestions and related keywords from your seed keywords, with search volume, keyword difficulty, search intent, CPC and trend. Or check difficulty and intent for your own list. Up to 10 countries per run.",
    "version": "0.0",
    "x-build-id": "nQdc0tfc2BT0Ehqrf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/saliga~keyword-research/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-saliga-keyword-research",
        "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/saliga~keyword-research/runs": {
      "post": {
        "operationId": "runs-sync-saliga-keyword-research",
        "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/saliga~keyword-research/run-sync": {
      "post": {
        "operationId": "run-sync-saliga-keyword-research",
        "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": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Seed keywords to grow into new ones, or (in \"Analyse my keywords\" mode) the keywords to check. Up to 80 characters and 10 words each.",
            "items": {
              "type": "string"
            }
          },
          "mode": {
            "title": "What to find",
            "enum": [
              "ideas",
              "suggestions",
              "related",
              "overview"
            ],
            "type": "string",
            "description": "Keyword ideas: the broadest list, from up to 200 seeds at once, most relevant first. Suggestions: longer phrases that contain each seed. Related: Google's \"related searches\" around each seed. Analyse my keywords: difficulty, intent, volume and CPC for your own list.",
            "default": "ideas"
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Up to 10 countries per run: two-letter codes (US, GB, DE, FR, TR) or names. Each country is looked up on its own. Covered countries are listed in the README.",
            "default": [
              "US"
            ],
            "items": {
              "type": "string"
            }
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Optional language code such as en, es, de or fr. Leave empty to use each country's main language (for example es for Mexico)."
          },
          "maxResults": {
            "title": "Max keywords per country",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "For ideas, suggestions and related: how many keywords to return per country (the most relevant or highest volume first). You pay per keyword returned.",
            "default": 300
          },
          "maxSeeds": {
            "title": "Max seed keywords",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "For ideas, suggestions and related: how many of your keywords are used as seeds. Keyword ideas use up to 200 seeds in one lookup; suggestions and related are one lookup per seed.",
            "default": 20
          },
          "depth": {
            "title": "Related searches depth",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "Only for related searches: 1 is Google's related searches of the seed, each further level adds the related searches of those (up to 4).",
            "default": 2
          },
          "minSearchVolume": {
            "title": "Minimum search volume",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only keywords with at least this many searches a month. Filtered keywords are not charged.",
            "default": 0
          },
          "maxKeywordDifficulty": {
            "title": "Maximum keyword difficulty",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Keep only keywords at or below this difficulty (0-100). Leave empty for all."
          },
          "intents": {
            "title": "Search intent",
            "type": "array",
            "description": "Keep only keywords with these main intents. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "informational",
                "navigational",
                "commercial",
                "transactional"
              ],
              "enumTitles": [
                "Informational",
                "Navigational",
                "Commercial",
                "Transactional"
              ]
            }
          },
          "keywordsUrl": {
            "title": "Keywords from a URL",
            "type": "string",
            "description": "Link to a text file (one keyword per line), a CSV with a keyword column, or a JSON list. A published Google Sheet (CSV link) works."
          },
          "datasetId": {
            "title": "Keywords from an Apify dataset",
            "type": "string",
            "description": "Use the output of another Actor as the keyword list. Set the field name below."
          },
          "keywordField": {
            "title": "Keyword field name",
            "type": "string",
            "description": "The column (CSV) or field (JSON, dataset) that holds the keyword.",
            "default": "keyword"
          },
          "maxKeywords": {
            "title": "Max keywords to analyse",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Only for \"Analyse my keywords\": stop after this many keywords. 0 means the maximum of 10,000.",
            "default": 0
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}