{
  "openapi": "3.0.1",
  "info": {
    "title": "Long Tail Keyword Generator — Google Autocomplete & Questions",
    "description": "Generate hundreds of long-tail keywords and questions from one seed via Google, YouTube & Bing autocomplete — plus Google's People Also Ask. Clusters duplicates, scores opportunity, optionally adds real search volume & CPC, and exports paste-ready FAQ + FAQPage schema.",
    "version": "0.0",
    "x-build-id": "0o93RPxYUkZ8aNZqf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/aitorsm~keyword-fanout/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-aitorsm-keyword-fanout",
        "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/aitorsm~keyword-fanout/runs": {
      "post": {
        "operationId": "runs-sync-aitorsm-keyword-fanout",
        "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/aitorsm~keyword-fanout/run-sync": {
      "post": {
        "operationId": "run-sync-aitorsm-keyword-fanout",
        "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": {
          "seeds": {
            "title": "Keywords to expand",
            "type": "array",
            "description": "One or more topics or keywords. Each one comes back as hundreds of real searches and questions people type. Tip: several specific keywords (\"email marketing for restaurants\") give more useful results than one broad word (\"marketing\").",
            "items": {
              "type": "string"
            }
          },
          "seedUrls": {
            "title": "…or start from a web page",
            "type": "array",
            "description": "Optional. Paste the address of a page (yours or a competitor's) and its main topic is used as the starting keyword — handy for \"what should this page also answer?\".",
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "title": "Where people search",
            "type": "array",
            "description": "Google gives general web searches, YouTube adds how-to and tutorial phrasing, Bing adds extra buying-intent wording. Picking several gives more keywords (duplicates are removed); each keyword notes where it was found.",
            "items": {
              "type": "string",
              "enum": [
                "google",
                "youtube",
                "bing"
              ],
              "enumTitles": [
                "Google",
                "YouTube",
                "Bing"
              ]
            },
            "default": [
              "google"
            ]
          },
          "countries": {
            "title": "Country",
            "type": "array",
            "description": "Which market's searches to collect. Pick one or several — each keyword is tagged with the country it came from. Also used for the optional People-also-ask questions and search volumes. Leave empty for no country focus (uses the language below, English by default).",
            "items": {
              "type": "string",
              "enum": [
                "us",
                "gb",
                "ca",
                "au",
                "ie",
                "nz",
                "in",
                "za",
                "sg",
                "ph",
                "ng",
                "ae",
                "es",
                "mx",
                "ar",
                "co",
                "cl",
                "pe",
                "fr",
                "be",
                "de",
                "at",
                "ch",
                "it",
                "nl",
                "pt",
                "br",
                "pl",
                "se",
                "no",
                "dk",
                "fi",
                "tr",
                "jp",
                "kr",
                "id"
              ],
              "enumTitles": [
                "United States",
                "United Kingdom",
                "Canada",
                "Australia",
                "Ireland",
                "New Zealand",
                "India",
                "South Africa",
                "Singapore",
                "Philippines",
                "Nigeria",
                "United Arab Emirates",
                "Spain",
                "Mexico",
                "Argentina",
                "Colombia",
                "Chile",
                "Peru",
                "France",
                "Belgium",
                "Germany",
                "Austria",
                "Switzerland",
                "Italy",
                "Netherlands",
                "Portugal",
                "Brazil",
                "Poland",
                "Sweden",
                "Norway",
                "Denmark",
                "Finland",
                "Turkey",
                "Japan",
                "South Korea",
                "Indonesia"
              ]
            }
          },
          "searchLanguage": {
            "title": "Language",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "it",
              "pt",
              "nl",
              "pl",
              "sv",
              "no",
              "da",
              "fi",
              "tr",
              "ja",
              "ko",
              "id",
              "ca"
            ],
            "type": "string",
            "description": "Leave empty in most cases: each country uses its main language (Spanish for Mexico, German for Germany…; English when no country is picked). Set it only for a second language in that market, e.g. English searches in Spain."
          },
          "coverage": {
            "title": "How many keywords",
            "enum": [
              "quick",
              "standard",
              "deep"
            ],
            "type": "string",
            "description": "How far to dig for each keyword you enter. Quick: mostly questions, about 150 keywords (≈ $0.75). Standard: questions plus buying-intent and A–Z variations, about 500 keywords (≈ $2.50). Deep: also expands the best results again, about 1,000 keywords (≈ $5). Figures are per starting keyword, per country and per search engine; use \"Maximum keywords per starting keyword\" below to cap spend.",
            "default": "standard"
          },
          "maxKeywordsPerSeed": {
            "title": "Maximum keywords per starting keyword",
            "minimum": 0,
            "type": "integer",
            "description": "Spending cap per keyword you enter. Keeps the most popular results first and drops the rest. 0 = no limit. You pay per keyword delivered, so e.g. 100 caps each starting keyword at about $0.50.",
            "default": 0
          },
          "cluster": {
            "title": "Group near-duplicate keywords",
            "type": "boolean",
            "description": "Marks reworded versions of the same search (\"how to start email marketing\" / \"how do i start email marketing\") as one group and flags the best one, so your FAQ doesn't repeat itself. No extra cost.",
            "default": true
          },
          "generateArtifact": {
            "title": "Create a ready-to-paste FAQ",
            "type": "boolean",
            "description": "Also produce an FAQ page draft (Markdown), the matching FAQ structured-data block for Google rich results, and a short summary. Find them in the run's Output tab. No extra cost.",
            "default": true
          },
          "serpEnrich": {
            "title": "Add Google's \"People also ask\" questions",
            "type": "boolean",
            "description": "Adds the questions Google itself shows under \"People also ask\" and \"Related searches\" for your top keywords — the best questions for an FAQ or AI-search content. Usually adds a few dozen keywords, charged at the normal per-keyword price.",
            "default": false
          },
          "enrichVolume": {
            "title": "Add monthly search volume, CPC and competition",
            "type": "boolean",
            "description": "Adds each keyword's monthly Google searches, cost per click and competition, plus an opportunity score to pick targets first. Keywords with volume cost $0.012 each instead of $0.005.",
            "default": false
          },
          "customModifiers": {
            "title": "Extra words to combine with your keywords",
            "type": "array",
            "description": "Optional. Words added before and after each keyword to find more specific searches — a city, a year, a product type (\"london\", \"2026\", \"for small business\"). Each word adds a few more results.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}