{
  "openapi": "3.0.1",
  "info": {
    "title": "Long Tail Keyword Generator: Google Autocomplete A-Z",
    "description": "Long tail keywords and questions from Google Autocomplete A-Z for Web, YouTube, Shopping and News, about $0.07 per 1,000 keywords on the Free plan (one topic: 48 checks, $0.048, about 700 keywords). Monitor mode tracks new and lost suggestions across runs.",
    "version": "0.1",
    "x-build-id": "1cfd2mcgccqFtsair"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automa-flow~google-autocomplete-rank-change-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automa-flow-google-autocomplete-rank-change-monitor",
        "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/automa-flow~google-autocomplete-rank-change-monitor/runs": {
      "post": {
        "operationId": "runs-sync-automa-flow-google-autocomplete-rank-change-monitor",
        "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/automa-flow~google-autocomplete-rank-change-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-automa-flow-google-autocomplete-rank-change-monitor",
        "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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "longTail",
              "changesOnly",
              "snapshotAndChanges"
            ],
            "type": "string",
            "description": "longTail expands each seed into A-Z, question, preposition and comparison prefixes and returns every unique Google suggestion once (no monitor state). changesOnly and snapshotAndChanges monitor the exact prefixes in targets: the first run returns a confirmed baseline, later runs return typed new, lost and re-ranked suggestions. An input with seeds and no targets always runs longTail. API calls that omit mode run changesOnly.",
            "default": "changesOnly"
          },
          "seeds": {
            "title": "Seeds (topics to expand)",
            "maxItems": 50,
            "type": "array",
            "description": "1-50 topics, one per line, for example air fryer. Each seed is checked with the prefixes chosen in Expansions and returns every unique suggestion once. Seeds use the country, language and vertical below. Used in longTail mode only.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "pattern": "^(?:ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bl|bm|bn|bo|bq|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mf|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|AD|AE|AF|AG|AI|AL|AM|AO|AQ|AR|AS|AT|AU|AW|AX|AZ|BA|BB|BD|BE|BF|BG|BH|BI|BJ|BL|BM|BN|BO|BQ|BR|BS|BT|BV|BW|BY|BZ|CA|CC|CD|CF|CG|CH|CI|CK|CL|CM|CN|CO|CR|CU|CV|CW|CX|CY|CZ|DE|DJ|DK|DM|DO|DZ|EC|EE|EG|EH|ER|ES|ET|FI|FJ|FK|FM|FO|FR|GA|GB|GD|GE|GF|GG|GH|GI|GL|GM|GN|GP|GQ|GR|GS|GT|GU|GW|GY|HK|HM|HN|HR|HT|HU|ID|IE|IL|IM|IN|IO|IQ|IR|IS|IT|JE|JM|JO|JP|KE|KG|KH|KI|KM|KN|KP|KR|KW|KY|KZ|LA|LB|LC|LI|LK|LR|LS|LT|LU|LV|LY|MA|MC|MD|ME|MF|MG|MH|MK|ML|MM|MN|MO|MP|MQ|MR|MS|MT|MU|MV|MW|MX|MY|MZ|NA|NC|NE|NF|NG|NI|NL|NO|NP|NR|NU|NZ|OM|PA|PE|PF|PG|PH|PK|PL|PM|PN|PR|PS|PT|PW|PY|QA|RE|RO|RS|RU|RW|SA|SB|SC|SD|SE|SG|SH|SI|SJ|SK|SL|SM|SN|SO|SR|SS|ST|SV|SX|SY|SZ|TC|TD|TF|TG|TH|TJ|TK|TL|TM|TN|TO|TR|TT|TV|TW|TZ|UA|UG|UM|US|UY|UZ|VA|VC|VE|VG|VI|VN|VU|WF|WS|YE|YT|ZA|ZM|ZW)$",
            "minLength": 2,
            "maxLength": 2,
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country for seeds, for example us, gb or de. Use gb for the United Kingdom: Google answers unknown codes such as uk with global suggestions, so they are rejected.",
            "default": "us"
          },
          "language": {
            "title": "Language",
            "pattern": "^(?:aa|ab|ae|af|ak|am|an|ar|as|av|ay|az|ba|be|bg|bi|bm|bn|bo|br|bs|ca|ce|ch|co|cr|cs|cu|cv|cy|da|de|dv|dz|ee|el|en|eo|es|et|eu|fa|ff|fi|fj|fo|fr|fy|ga|gd|gl|gn|gu|gv|ha|he|hi|ho|hr|ht|hu|hy|hz|ia|id|ie|ig|ii|ik|io|is|it|iu|ja|jv|ka|kg|ki|kj|kk|kl|km|kn|ko|kr|ks|ku|kv|kw|ky|la|lb|lg|li|ln|lo|lt|lu|lv|mg|mh|mi|mk|ml|mn|mr|ms|mt|my|na|nb|nd|ne|ng|nl|nn|no|nr|nv|ny|oc|oj|om|or|os|pa|pi|pl|ps|pt|qu|rm|rn|ro|ru|rw|sa|sc|sd|se|sg|si|sk|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|ty|ug|uk|ur|uz|ve|vi|vo|wa|wo|xh|yi|yo|za|zh|zu|AA|AB|AE|AF|AK|AM|AN|AR|AS|AV|AY|AZ|BA|BE|BG|BI|BM|BN|BO|BR|BS|CA|CE|CH|CO|CR|CS|CU|CV|CY|DA|DE|DV|DZ|EE|EL|EN|EO|ES|ET|EU|FA|FF|FI|FJ|FO|FR|FY|GA|GD|GL|GN|GU|GV|HA|HE|HI|HO|HR|HT|HU|HY|HZ|IA|ID|IE|IG|II|IK|IO|IS|IT|IU|JA|JV|KA|KG|KI|KJ|KK|KL|KM|KN|KO|KR|KS|KU|KV|KW|KY|LA|LB|LG|LI|LN|LO|LT|LU|LV|MG|MH|MI|MK|ML|MN|MR|MS|MT|MY|NA|NB|ND|NE|NG|NL|NN|NO|NR|NV|NY|OC|OJ|OM|OR|OS|PA|PI|PL|PS|PT|QU|RM|RN|RO|RU|RW|SA|SC|SD|SE|SG|SI|SK|SL|SM|SN|SO|SQ|SR|SS|ST|SU|SV|SW|TA|TE|TG|TH|TI|TK|TL|TN|TO|TR|TS|TT|TW|TY|UG|UK|UR|UZ|VE|VI|VO|WA|WO|XH|YI|YO|ZA|ZH|ZU)(?:-[A-Za-z]{2})?$",
            "minLength": 2,
            "maxLength": 5,
            "type": "string",
            "description": "ISO 639-1 language for seeds, for example en, de or pt-br. Question, preposition and comparison words exist for en, de, fr, es, pt and it; other languages use the alphabet only.",
            "default": "en"
          },
          "vertical": {
            "title": "Vertical",
            "enum": [
              "web",
              "youtube",
              "shopping",
              "news"
            ],
            "type": "string",
            "description": "Which Google suggestion box to read for seeds: Web search, YouTube, Shopping or News.",
            "default": "web"
          },
          "expand": {
            "title": "Expansions",
            "minItems": 1,
            "type": "array",
            "description": "Prefixes built from each seed. alphabet: seed a ... seed z and seed 0 ... seed 9 (36 checks). questions: how, what, why ... + seed (12). prepositions: seed + for, with, without ... (8). comparisons: seed + vs, or, and, alternative (4). A prefix reached twice is checked once.",
            "items": {
              "type": "string",
              "enum": [
                "alphabet",
                "questions",
                "prepositions",
                "comparisons"
              ],
              "enumTitles": [
                "Alphabet A-Z and 0-9",
                "Questions (how, what, why ...)",
                "Prepositions (for, with, without ...)",
                "Comparisons (vs, or, alternative)"
              ]
            },
            "default": [
              "alphabet",
              "questions"
            ]
          },
          "depth": {
            "title": "Depth",
            "minimum": 1,
            "maximum": 2,
            "type": "integer",
            "description": "1 checks the seed's prefixes. 2 also expands the top suggestions of each seed again with the alphabet, within Max prefix checks per seed.",
            "default": 1
          },
          "depth2Seeds": {
            "title": "Suggestions expanded at depth 2",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many top suggestions per seed depth 2 expands, ranked by how many prefixes returned them. Each one costs up to 36 checks.",
            "default": 5
          },
          "maxQueriesPerSeed": {
            "title": "Max prefix checks per seed",
            "minimum": 1,
            "maximum": 400,
            "type": "integer",
            "description": "Hard cap on paid prefix checks per seed, so the most a run can cost is seeds x this cap x the check price. Alphabet plus questions is 48 checks.",
            "default": 60
          },
          "targets": {
            "title": "Prefixes to monitor",
            "maxItems": 500,
            "type": "array",
            "description": "Exact prefixes to monitor, 1-500. One entry per prefix. A plain string is the query; an object may also set country, language, vertical and your own externalId. A target's identity is query + country + language + vertical, so the same prefix in two countries is two targets and is charged twice, while the same scope listed twice is checked, charged and compared once. In longTail mode each target's query is a seed with its own country, language and vertical."
          },
          "monitorKey": {
            "title": "Monitor key",
            "pattern": "^[A-Za-z0-9_-]{1,80}$",
            "minLength": 1,
            "maxLength": 80,
            "type": "string",
            "description": "Names the stored baseline this run compares against. Use one key per watchlist (for example seo-brand-watch). Changing it starts a fresh baseline.",
            "default": "default"
          },
          "baselineMode": {
            "title": "First run under a monitor key",
            "enum": [
              "emitSnapshot",
              "storeOnly"
            ],
            "type": "string",
            "description": "emitSnapshot returns every target's confirmed suggestions on the first run. storeOnly saves the baseline and returns a compact status without suggestions. Neither baseline mode emits a change alert.",
            "default": "emitSnapshot"
          },
          "confirmationChecks": {
            "title": "Confirmation checks",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "Consecutive successful samples required to confirm presence or absence. The first run takes this many samples per prefix; later runs normally take one. Default 2 reduces short-lived rotation but delays alerts until the second confirming run. Set 1 for immediate differences. Confirmation samples do not add paid events.",
            "default": 2
          },
          "minRankDelta": {
            "title": "Smallest rank move to report",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "Ignore moves smaller than this many positions among suggestions confirmed in both checks. This reduces shifts caused solely by a volatile neighbour entering or leaving. Default 2; set 1 for single-position moves.",
            "default": 2
          },
          "minRelevance": {
            "title": "Minimum Google relevance to monitor",
            "minimum": 0,
            "maximum": 1500,
            "type": "integer",
            "description": "Exclude suggestions below this Google relevance score. Default 0 includes all suggestions. Higher floors can remove useful long-tail phrases. Below-floor phrases still present in Google's response are excluded without a LOST_SUGGESTION event. Relevance is an ordering score, not search volume. Missing scores under a positive floor fail the check.",
            "default": 0
          },
          "includeMetadata": {
            "title": "Include Google's suggestion metadata",
            "type": "boolean",
            "description": "Attaches Google's suggestion type (QUERY or NAVIGATION) and its undocumented subtype codes to each row. Relevance and position are always included. Turning this off does not change what is monitored.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}