{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Keyword Search Volume, CPC & Keyword Ideas",
    "description": "Google keyword research without a subscription or Google Ads account: monthly search volume, CPC, keyword difficulty, search intent, trends and AI search volume, plus keyword ideas. 94 countries. Built for AI agents (MCP), n8n and Make. From $0.03 per lookup + $0.005 per keyword.",
    "version": "1.0",
    "x-build-id": "5e1oXegrvHe5SFwcL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/hirepulse~keyword-search-volume/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-hirepulse-keyword-search-volume",
        "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/hirepulse~keyword-search-volume/runs": {
      "post": {
        "operationId": "runs-sync-hirepulse-keyword-search-volume",
        "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/hirepulse~keyword-search-volume/run-sync": {
      "post": {
        "operationId": "run-sync-hirepulse-keyword-search-volume",
        "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",
        "required": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "Keywords",
            "minItems": 1,
            "maxItems": 5000,
            "uniqueItems": true,
            "type": "array",
            "description": "In \"metrics\" mode: the exact keywords to measure (up to 5,000). In \"ideas\" mode: seed keywords describing a topic (up to 200). In \"suggestions\" mode: seed phrases to expand into long-tail keywords (up to 20). Each keyword: max 80 characters and 10 words.",
            "items": {
              "type": "string"
            }
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "metrics",
              "ideas",
              "suggestions"
            ],
            "type": "string",
            "description": "\"metrics\": return metrics for exactly the keywords given (one lookup per 700 keywords). \"ideas\": return keywords related to the seed keywords as a group, most relevant first (one lookup). \"suggestions\": return long-tail keywords that contain each seed phrase, highest search volume first (one lookup per seed).",
            "default": "metrics"
          },
          "country": {
            "title": "Country",
            "enum": [
              "US",
              "GB",
              "CA",
              "AU",
              "DE",
              "FR",
              "ES",
              "IT",
              "NL",
              "BR",
              "IN",
              "MX",
              "JP",
              "AL",
              "DZ",
              "AO",
              "AR",
              "AM",
              "AT",
              "AZ",
              "BH",
              "BD",
              "BE",
              "BO",
              "BA",
              "BG",
              "BF",
              "KH",
              "CM",
              "CL",
              "CO",
              "CR",
              "CI",
              "HR",
              "CY",
              "CZ",
              "DK",
              "EC",
              "EG",
              "SV",
              "EE",
              "FI",
              "GH",
              "GR",
              "GT",
              "HK",
              "HU",
              "ID",
              "IE",
              "IL",
              "JO",
              "KZ",
              "KE",
              "LV",
              "LT",
              "MY",
              "MT",
              "MD",
              "MC",
              "MA",
              "MM",
              "NZ",
              "NI",
              "NG",
              "MK",
              "NO",
              "PK",
              "PA",
              "PY",
              "PE",
              "PH",
              "PL",
              "PT",
              "RO",
              "SA",
              "SN",
              "RS",
              "SG",
              "SK",
              "SI",
              "ZA",
              "KR",
              "LK",
              "SE",
              "CH",
              "TW",
              "TH",
              "TN",
              "TR",
              "UA",
              "AE",
              "UY",
              "VE",
              "VN"
            ],
            "type": "string",
            "description": "Country whose Google search data is used, as a two-letter ISO code. Default: US.",
            "default": "US"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Two-letter language code. Leave empty to use the main language of the country. Countries with more than one language: US: en/es; CA: en/fr; IN: en/hi; DZ: fr/ar; BE: fr/nl/de; CY: el/en; EG: ar/en; GR: el/en; HK: en/zh-TW; ID: en/id; IL: he/ar; MY: en/ms; MA: ar/fr; PK: en/ur; PH: en/tl; SG: en/zh-CN; CH: de/fr/it; UA: uk/ru; AE: ar/en; VN: en/vi."
          },
          "max_results": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Only for \"ideas\" and \"suggestions\": maximum number of keywords to return (per seed in \"suggestions\" mode). Each returned keyword with metrics is one charged result. Default 50, maximum 1000.",
            "default": 50
          },
          "min_search_volume": {
            "title": "Minimum monthly search volume",
            "minimum": 0,
            "type": "integer",
            "description": "Return only keywords with at least this many monthly searches. Keywords below the threshold are not returned and not charged. 0 = no minimum.",
            "default": 0
          },
          "include_monthly_searches": {
            "title": "Include 12-month history",
            "type": "boolean",
            "description": "Add a \"monthly_searches\" array with the search volume of each of the last 12 months to every keyword. Off by default to keep the output small.",
            "default": false
          },
          "include_ai_search_volume": {
            "title": "Include AI search volume",
            "type": "boolean",
            "description": "Also return \"ai_search_volume\": an estimate of how often each keyword is used in AI assistants per month. This is one extra lookup per batch, plus one result charge for every keyword that has AI data. If the data is not available for the selected country, the field stays null and nothing extra is charged.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}