{
  "openapi": "3.0.1",
  "info": {
    "title": "Autocomplete Scraper: Google, YouTube and Bing Suggestions",
    "description": "Get search suggestions (autocomplete) for a keyword list from Google, YouTube, Bing, Yahoo and Yandex. A to Z, 0 to 9 and question-word expansion, any country and language, deduplicated, with position and source. No login.",
    "version": "0.1",
    "x-build-id": "8SB7LAhtHgc2iBDaF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~autocomplete-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-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/themineworks~autocomplete-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-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/themineworks~autocomplete-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-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": "Keywords",
            "type": "array",
            "description": "Seed keywords, one per line, as you would start typing them in a search box. Example: coffee grinder, running shoes, how to learn spanish. Each keyword is asked on every source you pick. Up to 5,000 keywords per run.",
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "title": "Sources (search boxes)",
            "type": "array",
            "description": "Which search boxes to ask. Google, YouTube, Google Images, Google News, Google Shopping, Bing, Yahoo and Yandex are always available. Amazon, DuckDuckGo and eBay also appear in the list, but they publish a robots.txt that disallows automated access, so they are skipped unless you turn on the checkbox at the bottom of this form.",
            "items": {
              "type": "string",
              "enum": [
                "google",
                "youtube",
                "bing",
                "yahoo",
                "yandex",
                "google_images",
                "google_news",
                "google_shopping",
                "amazon",
                "duckduckgo",
                "ebay"
              ],
              "enumTitles": [
                "Google",
                "YouTube",
                "Bing",
                "Yahoo",
                "Yandex",
                "Google Images",
                "Google News",
                "Google Shopping",
                "Amazon (needs the robots.txt checkbox)",
                "DuckDuckGo (needs the robots.txt checkbox)",
                "eBay (needs the robots.txt checkbox)"
              ]
            },
            "default": [
              "google"
            ]
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code that decides which local suggestions you get, for example us, gb, de, fr, in, br, jp, au. Google, YouTube, Bing and DuckDuckGo take it as a market; Amazon and eBay use the country's own store. Default us.",
            "default": "us"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Language code for the suggestions, for example en, es, de, fr, pt-BR, ja, hi, ru. Also picks the alphabet for A to Z (Cyrillic for ru and uk, Greek for el, Arabic for ar, Hebrew for he, Devanagari for hi, Latin otherwise) and the question words. Default en.",
            "default": "en"
          },
          "extraMarkets": {
            "title": "More markets (optional)",
            "type": "array",
            "description": "Extra country and language pairs to run the same keywords in, written country:language, one per line. Example: gb:en, de:de, br:pt-BR. Every market repeats all keywords and sources, so rows and calls multiply by the number of markets.",
            "items": {
              "type": "string"
            }
          },
          "expandAlphabet": {
            "title": "Expand A to Z",
            "type": "boolean",
            "description": "Also ask the keyword followed by each letter (coffee grinder a, coffee grinder b, ... z). 26 more calls per keyword and source; in our test about 370 unique suggestions per keyword on Google. The language picks the alphabet.",
            "default": false
          },
          "expandNumbers": {
            "title": "Expand 0 to 9",
            "type": "boolean",
            "description": "Also ask the keyword followed by each digit (coffee grinder 0 ... coffee grinder 9). 10 more calls per keyword and source. Finds model numbers, years and sizes.",
            "default": false
          },
          "expandQuestions": {
            "title": "Expand question words",
            "type": "boolean",
            "description": "Also ask question words in front of the keyword: how, what, why, can, when, where, who, which, is, are, do, does, should, will (translated for es, de, fr, it, pt, nl, ru, tr). 14 more calls per keyword and source in English. Finds the questions people ask.",
            "default": false
          },
          "expandPrepositions": {
            "title": "Expand prepositions",
            "type": "boolean",
            "description": "Also ask the keyword followed by for, with, without, near, to, and, or, in, on, vs, like, from (built in for en, es, de, fr, it, pt). 12 more calls per keyword and source. Finds comparisons and use cases.",
            "default": false
          },
          "customModifiers": {
            "title": "Your own modifiers (optional)",
            "type": "array",
            "description": "Extra words to add after each keyword, one per line, for example: near me, price, review. Use {keyword} to place the keyword inside a longer pattern, for example best {keyword} for.",
            "items": {
              "type": "string"
            }
          },
          "expansionDepth": {
            "title": "Go deeper (0 to 2)",
            "minimum": 0,
            "maximum": 2,
            "type": "integer",
            "description": "0 asks only the planned queries. 1 also asks the first 10 suggestions of the keyword again as keywords. 2 goes one more level (the first 5 suggestions of each). Each level multiplies calls; the suggestions found there are marked related in the expansion column.",
            "default": 0
          },
          "maxSuggestionsPerKeyword": {
            "title": "Max suggestions per keyword and source",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Keep only the strongest N suggestions for each keyword on each source and market, ranked by how many queries returned them, then by the source's own relevance score. 0 keeps all. Example: 200.",
            "default": 0
          },
          "deduplicateAcrossKeywords": {
            "title": "One row per phrase across all keywords",
            "type": "boolean",
            "description": "Off: a phrase suggested for two of your keywords appears once for each, so every row says which keyword it belongs to. On: it appears once in the whole run (for each source and market), under the first keyword that found it.",
            "default": false
          },
          "maxItems": {
            "title": "Max suggestions in the run",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "The most suggestion rows to deliver in the whole run, 1 to 1,000,000. Rows are delivered keyword by keyword in the order you list them, so a low limit gives the first keywords in full. Example: 5000.",
            "default": 10000
          },
          "maxConcurrency": {
            "title": "Parallel calls",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many calls to run at once, 1 to 20. Direct calls are also spaced about 30 ms apart per host. Lower it if a source starts refusing calls.",
            "default": 8
          },
          "proxyConfiguration": {
            "title": "Proxy (optional)",
            "type": "object",
            "description": "Leave off. Calls go out directly, and if a host starts refusing them the actor moves that host to Apify Proxy by itself and says so in the log and summary. Turn on Apify Proxy here to use it from the first call, or to pick residential IPs."
          },
          "useSourcesDisallowedByRobotsTxt": {
            "title": "Allow sources whose robots.txt disallows bots (Amazon, DuckDuckGo, eBay)",
            "type": "boolean",
            "description": "Off (default): Amazon, DuckDuckGo and eBay are skipped, because their robots.txt disallows automated access to the suggestion endpoint the actor would call. On: they are read anyway. Turn it on only if you accept that use under those sites' terms; you are responsible for it.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}