{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Autocomplete Scraper — Keyword Ideas, YouTube & Bing",
    "description": "Keyword ideas from autocomplete: Google, YouTube, Google Shopping, Bing, DuckDuckGo and eBay suggestions for seed keywords, with A-Z, 0-9, question and recursive expansion per country.",
    "version": "0.1",
    "x-build-id": "hyTmdRVVo261PDNN3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tortuga~google-autocomplete-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tortuga-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/tortuga~google-autocomplete-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tortuga-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/tortuga~google-autocomplete-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tortuga-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",
            "type": "array",
            "description": "Keywords to expand, as you would start typing them in the search box, e.g. \"running shoes\", \"how to learn python\", \"coffee grinder\". Each one is sent to every selected engine.",
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "title": "Engines",
            "type": "array",
            "description": "Where to collect autocomplete suggestions: Google Search, YouTube, Google Shopping, Bing, DuckDuckGo, eBay. Each engine gives its own rows (source field).",
            "items": {
              "type": "string",
              "enum": [
                "google",
                "youtube",
                "bing",
                "googleShopping",
                "duckduckgo",
                "ebay"
              ],
              "enumTitles": [
                "Google Search",
                "YouTube",
                "Bing",
                "Google Shopping",
                "DuckDuckGo",
                "eBay"
              ]
            },
            "default": [
              "google"
            ]
          },
          "expandLetters": {
            "title": "A-Z expansion",
            "type": "boolean",
            "description": "Also query the seed followed by each letter a-z (\"running shoes a\", \"running shoes b\", ...). This is how most long-tail ideas are found: about 27 queries and up to ~350 suggestions per seed and engine.",
            "default": true
          },
          "expandNumbers": {
            "title": "0-9 expansion",
            "type": "boolean",
            "description": "Also query the seed followed by each digit 0-9 (\"running shoes 2\", ...): finds sizes, years, models.",
            "default": false
          },
          "letterPosition": {
            "title": "Letter/digit position",
            "enum": [
              "after",
              "before",
              "both"
            ],
            "type": "string",
            "description": "Put the A-Z / 0-9 characters after the seed (\"running shoes a\"), before it (\"a running shoes\") or both (twice the queries).",
            "default": "after"
          },
          "expandQuestions": {
            "title": "Questions & modifiers",
            "type": "boolean",
            "description": "Also query question words before the seed (how, what, why, when, where, who, which, can, is, are, does, will, should, best) and modifiers after it (vs, near me, for, with, without, or, and, like, to, is). German, French, Spanish, Italian, Portuguese and Dutch use their own words.",
            "default": false
          },
          "depth": {
            "title": "Recursive depth",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "1 = suggestions for the seed and its expansions. 2 = each suggestion found is queried again for its own suggestions; 3-4 go deeper. Every level multiplies the queries (about 10x), so cap the run with Max suggestions.",
            "default": 1
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Country markets to collect suggestions for (Google gl, Bing market, DuckDuckGo region, eBay site). Each country is a separate set of rows. eBay has no site for Brazil, India, Japan, Mexico, New Zealand or Sweden; those are skipped for eBay.",
            "items": {
              "type": "string",
              "enum": [
                "us",
                "gb",
                "ca",
                "au",
                "de",
                "fr",
                "in",
                "es",
                "it",
                "nl",
                "br",
                "mx",
                "pl",
                "ie",
                "ch",
                "at",
                "se",
                "nz",
                "sg",
                "jp"
              ],
              "enumTitles": [
                "United States",
                "United Kingdom",
                "Canada",
                "Australia",
                "Germany",
                "France",
                "India",
                "Spain",
                "Italy",
                "Netherlands",
                "Brazil",
                "Mexico",
                "Poland",
                "Ireland",
                "Switzerland",
                "Austria",
                "Sweden",
                "New Zealand",
                "Singapore",
                "Japan"
              ]
            },
            "default": [
              "us"
            ]
          },
          "language": {
            "title": "Language (optional)",
            "type": "string",
            "description": "Interface language code such as en, de, fr, es, pt, ja. Leave empty to use each country's main language (de for Germany, ja for Japan, en for the US, ...)."
          },
          "maxItems": {
            "title": "Max suggestions",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many suggestion rows in total (you pay per row). Each suggestion appears once per engine and country, even if several seeds or queries return it.",
            "default": 500
          },
          "onlyNewOrChanged": {
            "title": "Only new or changed items",
            "type": "boolean",
            "description": "Remember what earlier runs of this search returned and output only new items or items whose price/status changed. Use with a Schedule; unchanged items are not charged. Here: only suggestions (engine + country + keyword) that earlier runs of this watch did not return. Every run checks all queries of your settings; Max suggestions caps the new rows output.",
            "default": false
          },
          "monitoringKey": {
            "title": "Monitoring key",
            "type": "string",
            "description": "Name for this watch, so several schedules on the same search stay separate; defaults to a key derived from the search input"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "The suggest endpoints answer Apify's datacenter proxy (the default, cheapest option). Every retry uses a new IP. If the datacenter IPs keep getting blocked, the run switches to RESIDENTIAL once (if your plan has it).",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}