{
  "openapi": "3.0.1",
  "info": {
    "title": "Bulk Keyword Planner: Keyword Volume Checker for Big Lists",
    "description": "Google Keyword Planner search volume, CPC and competition for big keyword lists. Paste a list or a CSV URL and pick one or many countries. Flat $0.19 per batch of up to 1,000 keywords per location; no per-keyword fee. No Google Ads account needed.",
    "version": "0.1",
    "x-build-id": "VNk6V2jPM00V3XY8S"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/magenta_waterwheel~bulk-keyword-planner/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-magenta_waterwheel-bulk-keyword-planner",
        "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/magenta_waterwheel~bulk-keyword-planner/runs": {
      "post": {
        "operationId": "runs-sync-magenta_waterwheel-bulk-keyword-planner",
        "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/magenta_waterwheel~bulk-keyword-planner/run-sync": {
      "post": {
        "operationId": "run-sync-magenta_waterwheel-bulk-keyword-planner",
        "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": "Keywords or phrases, one per item. Combined with pasted text and the CSV file. Up to 80 characters and 10 words each; duplicates are removed and keywords are lowercased. Keywords Google Ads rejects are skipped.",
            "items": {
              "type": "string"
            }
          },
          "keywordsText": {
            "title": "Paste keywords",
            "type": "string",
            "description": "Paste a long list, one keyword per line (for example copied from a spreadsheet column)."
          },
          "csvUrl": {
            "title": "CSV file URL",
            "type": "string",
            "description": "Public URL of a CSV or TSV file (Google Sheets 'publish to web' CSV links work). Uses the column named keyword, keywords, query or term, else the first column."
          },
          "csvColumn": {
            "title": "CSV column name",
            "type": "string",
            "description": "Optional column header to read keywords from."
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "One or more Google Ads location names (United States, Germany, \"London,England,United Kingdom\") or codes (2840). Each location is looked up separately and billed per batch. Leave empty to use Location below.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location (if Locations is empty)",
            "type": "string",
            "description": "Country, region or city as a Google Ads location name (United States, United Kingdom, Germany, \"London,England,United Kingdom\") or a numeric location code (2840 = United States). Use Worldwide for global volume.",
            "default": "United States"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Language code (en, de, fr, es, pt, ja...) or name (English). Leave empty for all languages.",
            "default": "en"
          },
          "includeCpcCompetition": {
            "title": "Include CPC and competition",
            "type": "boolean",
            "description": "Add cost per click, low and high top-of-page bids, competition level (LOW, MEDIUM, HIGH) and competition index (0-100).",
            "default": true
          },
          "includeMonthlySearches": {
            "title": "Include monthly search history",
            "type": "boolean",
            "description": "Add month-by-month search volume (last 12 months by default, or your date range).",
            "default": true
          },
          "includeKeywordsWithoutData": {
            "title": "Include keywords without data",
            "type": "boolean",
            "description": "Also output keywords Google has no data for (hasData false). These are always free.",
            "default": true
          },
          "dateFrom": {
            "title": "History from",
            "type": "string",
            "description": "Start month of the monthly history, e.g. 2024-01. Up to 4 years back. Leave empty for the last 12 months."
          },
          "dateTo": {
            "title": "History to",
            "type": "string",
            "description": "End month of the monthly history, e.g. 2025-12. Google has no data for the current month."
          },
          "searchPartners": {
            "title": "Include Google search partners",
            "type": "boolean",
            "description": "Include searches on Google search partner sites, not just Google Search.",
            "default": false
          },
          "includeAdultKeywords": {
            "title": "Include adult keywords",
            "type": "boolean",
            "description": "Return data for adult keywords (Google may still return no data).",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}