{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Autocomplete Scraper — Google Suggest, 5 Keyword Engines",
    "description": "Google autocomplete keywords: suggestions from Google, YouTube, Amazon, Bing and the App Store in one run — one seed, five engines, no API key, no per-run minimum. From $0.50 per 1,000 keyword suggestions. Every row says whether it was charged, and an engine that returns nothing is never charged.",
    "version": "1.0",
    "x-build-id": "gCxrTTz9aXZ2Bns3r"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/steadyfetch~google-keyword-suggest-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-steadyfetch-google-keyword-suggest-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/steadyfetch~google-keyword-suggest-scraper/runs": {
      "post": {
        "operationId": "runs-sync-steadyfetch-google-keyword-suggest-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/steadyfetch~google-keyword-suggest-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-steadyfetch-google-keyword-suggest-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": [
          "seeds"
        ],
        "properties": {
          "seeds": {
            "title": "Seed keywords",
            "type": "array",
            "description": "Short seed keywords, e.g. [\"air fryer\", \"standing desk\"] — a few words each, since a whole sentence usually comes back empty; \"_demo\" is the sample switch, not a keyword. An engine with nothing for a seed is never charged and says so in its own row, so send the whole list rather than probing with one. Search volume and CPC belong in steadyfetch/keyword-search-volume-scraper, rising Google Trends queries in steadyfetch/breakout-keywords-scraper. Leave it empty and click Start for a two-seed sample (\"air fryer\", \"standing desk\"; charged like any run) — the fastest way to see real output. Any other setting you touched is applied to that sample, and a limit above the sample's own is treated as a ceiling.",
            "default": [
              "_demo"
            ],
            "items": {
              "type": "string"
            }
          },
          "engines": {
            "title": "Engines",
            "type": "array",
            "description": "Which autocomplete engines to query. Leave empty for all five. Set only this and no seeds, and Start runs the sample seeds on these engines.",
            "items": {
              "type": "string",
              "enum": [
                "google",
                "youtube",
                "amazon",
                "bing",
                "appstore"
              ],
              "enumTitles": [
                "Google",
                "YouTube",
                "Amazon",
                "Bing",
                "App Store"
              ]
            },
            "default": [
              "google",
              "youtube",
              "amazon",
              "bing",
              "appstore"
            ]
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "The country to bias suggestions to. The two-letter code, the three-letter code or the English name all work — US, USA and United States are the same market. A country we cannot place is answered with one uncharged row naming this field. Set only this and no seeds, and Start runs the sample seeds in this market.",
            "default": "US"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "The language to ask in. The two-letter code, the three-letter code, the English name or a locale tag all work — en, eng, English and en-US are the same language. A language we cannot place is answered with one uncharged row naming this field. Set only this and no seeds, and Start runs the sample seeds in this language.",
            "default": "en"
          },
          "expansion": {
            "title": "Expansion",
            "type": "string",
            "description": "Ask each engine more than once per seed. None: just the seed. Alphabet: seed + a...z. Questions: how/what/why... + seed. Prepositions: seed + for/with/vs... Set only this and no seeds, and Start runs the sample seeds under it.",
            "default": "none"
          },
          "maxPerSeed": {
            "title": "Max suggestions per seed, per engine",
            "minimum": 1,
            "type": "integer",
            "description": "Counted separately for each engine, so one talkative engine cannot eat the cap before the others are asked. Set only this and no seeds, and Start runs the sample seeds under it — a value above the sample's own 10 is a ceiling, not a request. Up to 1,000; ask for more and the run continues at 1,000, with one uncharged row saying so.",
            "default": 100
          },
          "maxItems": {
            "title": "Max suggestions for the whole run",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on charged rows across the whole run — up to 100,000. It applies to a sample run too. Ask for more and the run continues at 100,000, with one uncharged row saying so.",
            "default": 1000
          },
          "maxRunSeconds": {
            "title": "Max run seconds",
            "type": "integer",
            "description": "The run stops cleanly before this many seconds and reports what is left, instead of being killed by a timeout. On a run with no seeds the sample's own shorter window is the ceiling. Anything from 30 seconds to an hour; ask outside that and the run continues at the nearest end of it, with one uncharged row saying so.",
            "default": 600
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}