{
  "openapi": "3.0.1",
  "info": {
    "title": "Ahrefs Keyword Generator & API: Bulk KD & Search Volume",
    "description": "Keyword ideas and questions from Ahrefs for many seed keywords, with search volume and difficulty, plus the exact Keyword Difficulty (KD), search volume, backlinks needed and top SERP pages for any keyword list. 181 countries. Tracks new ideas. Works on the free Apify plan.",
    "version": "0.1",
    "x-build-id": "DDNVWxfGhPWdj1QJh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/s_actors~ahrefs-keyword-generator/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-s_actors-ahrefs-keyword-generator",
        "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/s_actors~ahrefs-keyword-generator/runs": {
      "post": {
        "operationId": "runs-sync-s_actors-ahrefs-keyword-generator",
        "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/s_actors~ahrefs-keyword-generator/run-sync": {
      "post": {
        "operationId": "run-sync-s_actors-ahrefs-keyword-generator",
        "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 for ideas, or the keywords to check in the KD mode. One per line, up to 1,000 per run; duplicates are checked once.",
            "items": {
              "type": "string"
            }
          },
          "mode": {
            "title": "🧭 What to get",
            "enum": [
              "ideas",
              "ideas-kd",
              "difficulty"
            ],
            "type": "string",
            "description": "Keyword Generator: 20 ideas and 20 questions per seed with search volume range and difficulty label (1 charged check per seed). With KD: the top ideas also get the exact KD 0-100, search volume and backlinks needed (1 check each). KD checker: one row per keyword of your list.",
            "default": "ideas"
          },
          "country": {
            "title": "🌍 Country",
            "enum": [
              "al",
              "dz",
              "as",
              "ad",
              "ao",
              "ai",
              "ag",
              "ar",
              "am",
              "au",
              "at",
              "az",
              "bs",
              "bh",
              "bd",
              "be",
              "bz",
              "bj",
              "bt",
              "bo",
              "ba",
              "bw",
              "br",
              "bn",
              "bg",
              "bf",
              "bi",
              "kh",
              "cm",
              "ca",
              "cv",
              "cf",
              "td",
              "cl",
              "co",
              "cg",
              "ck",
              "cr",
              "ci",
              "hr",
              "cy",
              "cz",
              "cd",
              "dk",
              "dj",
              "dm",
              "do",
              "ec",
              "eg",
              "sv",
              "ee",
              "et",
              "fj",
              "fi",
              "fr",
              "ga",
              "gm",
              "ge",
              "de",
              "gh",
              "gi",
              "gr",
              "gl",
              "gp",
              "gt",
              "gg",
              "gy",
              "ht",
              "hn",
              "hk",
              "hu",
              "is",
              "in",
              "id",
              "ie",
              "il",
              "it",
              "jm",
              "jp",
              "je",
              "jo",
              "kz",
              "ke",
              "ki",
              "kw",
              "kg",
              "la",
              "lv",
              "lb",
              "ls",
              "ly",
              "li",
              "lt",
              "lu",
              "mg",
              "mw",
              "my",
              "mv",
              "ml",
              "mt",
              "mu",
              "mx",
              "fm",
              "md",
              "mn",
              "me",
              "ms",
              "ma",
              "mz",
              "na",
              "nr",
              "np",
              "nl",
              "nz",
              "ni",
              "ne",
              "ng",
              "nu",
              "mk",
              "no",
              "om",
              "pk",
              "ps",
              "pa",
              "pg",
              "py",
              "pe",
              "ph",
              "pn",
              "pl",
              "pt",
              "pr",
              "qa",
              "ro",
              "rw",
              "sh",
              "vc",
              "ws",
              "sm",
              "st",
              "sa",
              "sn",
              "rs",
              "sc",
              "sl",
              "sg",
              "sk",
              "si",
              "sb",
              "za",
              "kr",
              "es",
              "lk",
              "sr",
              "se",
              "ch",
              "tw",
              "tj",
              "tz",
              "th",
              "tl",
              "tg",
              "tk",
              "to",
              "tt",
              "tn",
              "tr",
              "tm",
              "ug",
              "ua",
              "ae",
              "gb",
              "us",
              "uy",
              "uz",
              "vu",
              "vn",
              "vg",
              "vi",
              "zm",
              "zw"
            ],
            "type": "string",
            "description": "Search market of the volumes, difficulty and SERP (Google in that country).",
            "default": "us"
          },
          "includeQuestions": {
            "title": "❓ Include question ideas",
            "type": "boolean",
            "description": "Also return the 20 question keywords (\"how to …\", \"what is …\") of each seed. Free: they come with the same check.",
            "default": true
          },
          "checkTopIdeas": {
            "title": "🎯 Ideas per seed to check for exact KD",
            "minimum": 1,
            "maximum": 40,
            "type": "integer",
            "description": "Mode \"ideas + exact KD\": how many ideas of each seed (in Ahrefs' order, ideas first, then questions) get the exact KD and search volume. Each is one charged check; keywords Ahrefs has no SERP data for are free.",
            "default": 5
          },
          "trackChanges": {
            "title": "🔔 Track changes between runs",
            "type": "boolean",
            "description": "Remember the ideas of each seed and the KD / volume of each checked keyword: new ideas get isNew, checked keywords get keywordDifficultyChange and searchVolumeChange since the previous run with the same tracker name. Schedule the Actor weekly to catch new rising keywords in your niche.",
            "default": false
          },
          "onlyNew": {
            "title": "Return only new ideas / changed keywords",
            "type": "boolean",
            "description": "With tracking on: the table lists only ideas that were not there on the previous run (KD checker: only keywords whose KD or volume changed). The first run only remembers.",
            "default": false
          },
          "monitorName": {
            "title": "Tracker name",
            "type": "string",
            "description": "Separate trackers for separate lists, e.g. \"blog\" and \"shop\".",
            "default": "default"
          },
          "debugLog": {
            "title": "Debug log",
            "type": "boolean",
            "description": "Log every browser check attempt.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}