{
  "openapi": "3.0.1",
  "info": {
    "title": "Keyword Research Scraper (Search Volume, CPC, Difficulty)",
    "description": "Keyword Research Scraper (Search Volume, CPC, Difficulty) SD - Keyword Research Scraper (Search Volume, CPC, Difficulty) is an SEO tool that extracts keyword ideas from Google, Bing and YouTube autocomplete with Google Trends relative interest, monthly trend, search intent and SERP features.",
    "version": "1.0",
    "x-build-id": "V15DzjwKltd3TTygu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neuro-scraper~keyword-research-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neuro-scraper-keyword-research-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/neuro-scraper~keyword-research-scraper/runs": {
      "post": {
        "operationId": "runs-sync-neuro-scraper-keyword-research-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/neuro-scraper~keyword-research-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-neuro-scraper-keyword-research-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "ideas",
              "metrics"
            ],
            "type": "string",
            "description": "ideas = expand each seed keyword into new keyword ideas (Google autocomplete, plus Bing / YouTube if chosen) and measure them; metrics = measure only the keywords you give.",
            "default": "ideas"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Seed keywords (ideas mode) or the keywords to measure (metrics mode), one per line, e.g. keyword research. Commas stay inside a keyword.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code for suggestions and Google Trends, e.g. us, gb, de, in. Leave empty for worldwide Trends (suggestions then use us).",
            "default": "us"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Language code of the suggestions, e.g. en, de, fr, es.",
            "default": "en"
          },
          "includeBing": {
            "title": "Also use Bing autosuggest",
            "type": "boolean",
            "description": "Ideas mode: also ask Bing's autosuggest (a second engine's phrasing) for every expansion.",
            "default": false
          },
          "includeYouTube": {
            "title": "Also use YouTube autocomplete",
            "type": "boolean",
            "description": "Ideas mode: also ask YouTube's autocomplete (video and tutorial searches) for every expansion.",
            "default": false
          },
          "expandAlphabet": {
            "title": "A-Z expansion",
            "type": "boolean",
            "description": "Ideas mode: also query 'seed a', 'seed b' ... 'seed z' (26 more requests per seed and engine).",
            "default": true
          },
          "expandQuestions": {
            "title": "Question expansion",
            "type": "boolean",
            "description": "Ideas mode: also query 'how seed', 'what seed', 'why seed' ... (questions people ask).",
            "default": true
          },
          "expandPrepositions": {
            "title": "Preposition expansion",
            "type": "boolean",
            "description": "Ideas mode: also query 'seed for', 'seed with', 'seed vs', 'seed near' ...",
            "default": false
          },
          "customModifiers": {
            "title": "Custom modifiers",
            "type": "array",
            "description": "Extra words added after each seed (e.g. free, 2026), or a pattern with {keyword} such as 'best {keyword} for'.",
            "items": {
              "type": "string"
            }
          },
          "maxIdeas": {
            "title": "Max keyword ideas per seed",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Ideas mode: rows per seed (the seed itself included). The expansion requests are followed one by one until this number or until they run out.",
            "default": 50
          },
          "maxItems": {
            "title": "Max keyword rows for the whole run",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many rows in total.",
            "default": 50
          },
          "includeTrends": {
            "title": "Google Trends interest and trend",
            "type": "boolean",
            "description": "Measure every keyword on Google Trends: relative search interest against the seed (seed = 100), interest per month, trend direction, month-over-month change and peak month. About 2 requests per 4 keywords, spaced 4-7 s.",
            "default": true
          },
          "refineLowInterest": {
            "title": "Refine long-tail interest",
            "type": "boolean",
            "description": "Keywords below 5 (seed = 100) are compared again against a mid-interest keyword, so long-tail values are not rounded to 0 by Google Trends. Adds about 2 requests per 4 such keywords.",
            "default": true
          },
          "trendsTimeRange": {
            "title": "Trend period",
            "enum": [
              "today 3-m",
              "today 12-m",
              "today 5-y"
            ],
            "type": "string",
            "description": "Google Trends window for the interest values.",
            "default": "today 12-m"
          },
          "minRelativeInterest": {
            "title": "Minimum relative interest",
            "minimum": 0,
            "type": "integer",
            "description": "Drop keywords whose Google Trends interest is below this value (seed = 100). 0 keeps everything. Applied after measuring (needs Google Trends on).",
            "default": 0
          },
          "sortBy": {
            "title": "Sort rows",
            "enum": [
              "discovery",
              "interest"
            ],
            "type": "string",
            "description": "Order of the rows of each seed.",
            "default": "discovery"
          },
          "includeSerpInfo": {
            "title": "Include SERP features",
            "type": "boolean",
            "description": "Open Google's results page of every keyword (Apify GOOGLE_SERP proxy, one page per keyword): People also ask questions, related searches, top 10 domains and the features shown (AI Overview, ads, products, videos, forums).",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Residential proxy is the default; it is pinned to the chosen country because suggestions follow the visitor's location. Google Trends rate-limits per IP: a 429 moves to a new IP.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}