{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Autocomplete Scraper | Keyword Suggestions",
    "description": "YouTube autocomplete scraper for keyword research: 1 keyword returned 429 YouTube search suggestions in 2 seconds, 18 fields each. Get rank, best rank, question, alphabet and preposition expansions and channel cards in any country and language. For SEO, video titles and tags. No account or API key.",
    "version": "1.0",
    "x-build-id": "PLjDGCfu6vXmmI9cM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~youtube-autocomplete-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-youtube-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/silentflow~youtube-autocomplete-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-youtube-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/silentflow~youtube-autocomplete-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-youtube-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": "🔑 Keywords",
            "type": "array",
            "description": "Seed keywords, one per line: <code>coffee grinder</code>, <code>how to edit videos</code>, <code>mrbeast</code>. Each keyword is sent as is, then with the expansions below, and every suggestion YouTube shows becomes a row. A YouTube search URL pasted here is read too.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 YouTube search URLs",
            "type": "array",
            "description": "YouTube search pages copied from your browser, such as <code>https://www.youtube.com/results?search_query=coffee+grinder</code>. The search words become the keyword. A <code>gl</code> (country) or <code>hl</code> (language) in the address is kept for that keyword.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "🔢 Max suggestions",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many suggestions, across every keyword and URL. Keywords are read in order; a suggestion already delivered under an earlier keyword is not delivered twice.",
            "default": 1000
          },
          "country": {
            "title": "🌍 Country",
            "type": "string",
            "description": "Pick a country, or type its code (<code>au</code>, <code>aus</code>) or its English name. Suggestions are the ones people in that country see.",
            "default": "us"
          },
          "language": {
            "title": "🗣️ Language",
            "type": "string",
            "description": "Interface language of the search box. Leave it empty to use the main language of the country (French for France, Portuguese for Brazil, English for the United States). A code such as <code>pt-BR</code> or an English name such as <code>Spanish</code> also works."
          },
          "expansions": {
            "title": "🔤 Expansions",
            "uniqueItems": true,
            "type": "array",
            "description": "Families of queries sent besides the plain keyword. Alphabet: keyword + a to z (26 queries). Questions: who, what, why, how, when, where, which... + keyword (14). Prepositions: keyword + for, with, without, to, near... (11). Comparisons: keyword + vs, or, versus, and (4). Numbers: keyword + 1 to 9 and the current year (10). Questions, prepositions and comparisons are asked in the run language for French, Spanish, Portuguese, German, Italian and Dutch (comment, cómo, como, wie, come, hoe), in English otherwise. Clear the list to send the plain keyword only.",
            "items": {
              "type": "string",
              "enum": [
                "alphabet",
                "questions",
                "prepositions",
                "comparisons",
                "numbers"
              ],
              "enumTitles": [
                "Alphabet (a to z)",
                "Questions",
                "Prepositions",
                "Comparisons (vs)",
                "Numbers and year"
              ]
            },
            "default": [
              "alphabet",
              "questions",
              "prepositions"
            ]
          },
          "customModifiers": {
            "title": "✏️ Custom modifiers",
            "type": "array",
            "description": "Your own words to add after each keyword: <code>review</code>, <code>tutorial</code>, <code>for beginners</code>. Use <code>*</code> where the keyword goes to put words before it: <code>best * 2026</code>.",
            "items": {
              "type": "string"
            }
          },
          "depth": {
            "title": "🌳 Depth",
            "minimum": 1,
            "maximum": 2,
            "type": "integer",
            "description": "<code>1</code> reads the suggestions of each keyword and its expansions. <code>2</code> also asks YouTube for the suggestions of every suggestion found (up to 200 more queries per keyword), for a much longer tail. With several keywords, each one goes deeper only up to its share of Max suggestions, so every keyword gets read.",
            "default": 1
          },
          "debugMode": {
            "title": "🐞 Debug mode",
            "type": "boolean",
            "description": "Writes detailed connection logs. Leave it off for normal runs.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}