{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Autocomplete Scraper: Keyword Suggestions",
    "description": "Google Autocomplete suggestions for keyword research: find the phrases and questions people type for your seed keywords, by language and country. Expand with letters, question words or deeper levels and export each suggestion with its query and position.",
    "version": "0.7",
    "x-build-id": "n7A9KRbcKgY4wl2kc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/cliqtomedia~google-autocomplete-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-cliqtomedia-google-autocomplete-scraper",
        "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/cliqtomedia~google-autocomplete-scraper/runs": {
      "post": {
        "operationId": "runs-sync-cliqtomedia-google-autocomplete-scraper",
        "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/cliqtomedia~google-autocomplete-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-cliqtomedia-google-autocomplete-scraper",
        "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": "Seed keywords",
            "minItems": 1,
            "maxItems": 100,
            "type": "array",
            "description": "Add 1-100 seed keywords, each up to 120 characters. Spaces are trimmed and repeated spaces are joined. Unicode is kept. Duplicate seeds do not create duplicate saved rows.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 120
            }
          },
          "language": {
            "title": "Language",
            "minLength": 2,
            "maxLength": 12,
            "type": "string",
            "description": "Language preference sent as Google hl, such as en, fr, ru or pt-br. This is a preference, not a guarantee that every suggestion uses that language.",
            "default": "en"
          },
          "country": {
            "title": "Country",
            "minLength": 2,
            "maxLength": 2,
            "type": "string",
            "description": "Two-letter country preference sent as Google gl, such as us, gb, fr or ru. This does not set the request IP location.",
            "default": "us"
          },
          "languages": {
            "title": "Several languages",
            "maxItems": 5,
            "type": "array",
            "description": "Optional. Up to 5 language codes such as en, de or fr. When set, it replaces Language and every keyword is searched in each language and country pair. Each pair uses requests from Maximum Google requests.",
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 12
            }
          },
          "countries": {
            "title": "Several countries",
            "maxItems": 5,
            "type": "array",
            "description": "Optional. Up to 5 two-letter country codes such as us, gb or de. When set, it replaces Country. Country is sent as Google gl; it does not change the request IP location, so results can match across countries.",
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 2
            }
          },
          "client": {
            "title": "Google client",
            "enum": [
              "chrome",
              "firefox"
            ],
            "type": "string",
            "description": "Choose chrome or firefox. They can return different suggestions and metadata. No browser is launched.",
            "default": "chrome"
          },
          "expansionModes": {
            "title": "Expansion modes",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose one or more modes. exact sends the seed. alphabet adds a-z; numbers adds 0-9; questions adds your prefixes before the seed. With maxDepth 1, results are not expanded again.",
            "items": {
              "type": "string",
              "enum": [
                "exact",
                "alphabet",
                "numbers",
                "questions"
              ],
              "enumTitles": [
                "Exact seed",
                "Seed + letters a-z",
                "Seed + numbers 0-9",
                "Question word + seed"
              ]
            },
            "default": [
              "exact"
            ]
          },
          "questionPrefixes": {
            "title": "Question prefixes",
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "description": "Used for questions mode. Add 1-20 prefixes of up to 40 characters. Combined queries over 150 characters are skipped and reported.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            },
            "default": [
              "how",
              "what",
              "where",
              "why",
              "when",
              "which"
            ]
          },
          "maxGeneratedQueries": {
            "title": "Maximum Google requests",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum planned Google queries, 1-500. Retries are counted separately. A small result limit does not reduce the query plan.",
            "default": 50
          },
          "maxDepth": {
            "title": "Expansion depth",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "1 = only suggestions for your keywords. 2 = also search each saved suggestion and save its suggestions. 3 = one more level. Deeper levels share the Maximum Google requests and Maximum saved suggestions limits.",
            "default": 1
          },
          "maxResults": {
            "title": "Maximum saved suggestions",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum saved unique suggestions, 1-5000. Runtime default is 500; the new form prefill is 100. No result count is guaranteed.",
            "default": 500
          },
          "maxRowsPerSeed": {
            "title": "Maximum suggestions per keyword",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Optional. Stop saving new suggestions for one seed keyword after this many rows, 0-5000. 0 means no per-keyword limit. Other keywords continue.",
            "default": 0
          },
          "maxSuggestionsPerQuery": {
            "title": "Top suggestions per Google query",
            "minimum": 0,
            "maximum": 15,
            "type": "integer",
            "description": "Optional. Keep only the first N suggestions of each Google response, 0-15. 0 keeps all of them (usually up to 10-15).",
            "default": 0
          },
          "maxConcurrency": {
            "title": "Maximum concurrency",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Maximum simultaneous Google requests, 1-8. Lower it if requests fail. Saved rows keep query plan order.",
            "default": 4
          },
          "requestTimeoutMillis": {
            "title": "Request timeout",
            "minimum": 1000,
            "maximum": 30000,
            "type": "integer",
            "description": "Timeout for one Google request in milliseconds.",
            "default": 8000
          },
          "maxRetries": {
            "title": "Maximum retries",
            "minimum": 0,
            "maximum": 2,
            "type": "integer",
            "description": "Retries for transient network or server errors. Blocks and bad requests are not retried.",
            "default": 1
          },
          "maxResponseBytes": {
            "title": "Maximum response size",
            "minimum": 1024,
            "maximum": 262144,
            "type": "integer",
            "description": "Stops parsing if one Google response is larger than this byte limit.",
            "default": 65536
          },
          "maxRunTimeSeconds": {
            "title": "Maximum run time",
            "minimum": 5,
            "maximum": 300,
            "type": "integer",
            "description": "Internal source-work limit, 5-300 seconds. Default is 240. A shorter platform timeout also limits source work and reserves time to save results.",
            "default": 240
          },
          "includeRawMetadata": {
            "title": "Include Google metadata",
            "type": "boolean",
            "description": "Keep metadata returned by Google for each suggestion. Missing metadata is an empty object. Values are undocumented and are not search volume.",
            "default": true
          },
          "maxChargeUsd": {
            "title": "Maximum estimated charge",
            "minimum": 0.00005,
            "maximum": 1.5,
            "type": "number",
            "description": "Optional estimated suggestion-event cap in USD. It limits saved rows, not source requests or total platform usage. Also set a maximum cost per run in Apify."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}