{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Autocomplete Scraper — Keyword Suggestions, 4 Engines",
    "description": "Keyword suggestions from Google Autocomplete plus YouTube, Amazon and Bing for any seed: expand with a–z, 0–9, questions, prepositions or your own modifiers, drill down level by level, get relevance, type and search URL per row. Any language or country, no API key.",
    "version": "0.1",
    "x-build-id": "zZ1QI2gV4YVViPhAx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fabrikit~google-autocomplete-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fabrikit-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/fabrikit~google-autocomplete-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fabrikit-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/fabrikit~google-autocomplete-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fabrikit-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",
        "properties": {
          "keywords": {
            "title": "Seed keywords",
            "type": "array",
            "description": "One seed per entry, exactly as a user would start typing it, e.g. \"espresso machine\", \"cafetera espresso\", \"how to invest\". Each seed is sent to every selected engine.",
            "items": {
              "type": "string"
            }
          },
          "engines": {
            "title": "Autocomplete engines",
            "type": "array",
            "description": "Where to pull suggestions from. Google returns up to 15 per query with relevance and type, YouTube about 14, Amazon 10 (per marketplace and department), Bing up to about 23.",
            "items": {
              "type": "string",
              "enum": [
                "google",
                "youtube",
                "amazon",
                "bing"
              ],
              "enumTitles": [
                "Google Search",
                "YouTube",
                "Amazon",
                "Bing"
              ]
            },
            "default": [
              "google"
            ]
          },
          "expansions": {
            "title": "Expansions",
            "type": "array",
            "description": "Extra queries built from each seed to surface many more suggestions: a–z (\"seed a\" … \"seed z\", 26 queries), 0–9 (10), question words in front (\"how seed\", \"what seed\"… 14), prepositions after (\"seed for\", \"seed with\"… 12) and comparisons (\"seed vs\", \"seed or\"… 6). Modifier words are English; use Custom modifiers for other languages.",
            "items": {
              "type": "string",
              "enum": [
                "alphabet",
                "numbers",
                "questions",
                "prepositions",
                "comparisons"
              ],
              "enumTitles": [
                "Alphabet a–z",
                "Numbers 0–9",
                "Questions (how, what, why…)",
                "Prepositions (for, with, near…)",
                "Comparisons (vs, or, alternative…)"
              ]
            },
            "default": []
          },
          "customModifiers": {
            "title": "Custom modifiers",
            "type": "array",
            "description": "Your own words to combine with each seed, one per entry. A word is appended (\"espresso machine barata\"); write * where the seed should go to control the position (\"mejor * 2026\", \"cómo *\").",
            "items": {
              "type": "string"
            }
          },
          "recursionDepth": {
            "title": "Drill-down levels",
            "minimum": 0,
            "maximum": 3,
            "type": "integer",
            "description": "0 = only the suggestions for your queries. 1 = also send every suggestion found back as a new query, 2–3 = repeat on the new results. Each level multiplies the number of requests; maxItems always caps the run.",
            "default": 0
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Interface language code for Google, YouTube and Bing suggestions: en, es, de, fr, pt-BR… (Amazon follows the marketplace).",
            "default": "en"
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code that localises Google, YouTube and Bing suggestions (US, GB, DE, MX, BR, IN…) and sets the country of the residential fallback proxy.",
            "default": "US"
          },
          "amazonMarketplace": {
            "title": "Amazon marketplace",
            "enum": [
              "com",
              "co.uk",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "ca",
              "com.mx",
              "com.br",
              "com.au",
              "co.jp"
            ],
            "type": "string",
            "description": "Amazon storefront whose search box suggestions you want (only used when Amazon is selected).",
            "default": "com"
          },
          "amazonDepartment": {
            "title": "Amazon department",
            "type": "string",
            "description": "Amazon search alias: aps = all departments (default). Others as in Amazon's own URLs (the i= parameter), e.g. electronics, stripbooks, fashion, beauty, toys-and-games, garden, sporting, grocery, pets, automotive, videogames, computers.",
            "default": "aps"
          },
          "maxItems": {
            "title": "Max suggestions (total)",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many suggestions across all keywords and engines. You pay only for the rows that are saved.",
            "default": 500
          },
          "maxItemsPerKeyword": {
            "title": "Max suggestions per keyword and engine",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap for each seed keyword on each engine (0 = no cap). Handy with many seeds and expansions.",
            "default": 0
          },
          "uniqueSuggestions": {
            "title": "Unique suggestions only",
            "type": "boolean",
            "description": "On: a suggestion is saved once per engine even if several query variants return it (a clean keyword list). Off: one row per query variant that returned it.",
            "default": true
          },
          "keepExactMatches": {
            "title": "Keep exact matches",
            "type": "boolean",
            "description": "Engines often echo the query itself as the first suggestion. Off (default) drops those rows; on keeps them.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy is enough in normal runs. If an engine answers with a block (HTTP 403/429 or a captcha page) the Actor rotates browser header profiles and, after two blocks in a row, switches to RESIDENTIAL proxy in the chosen country for the rest of the run.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}