{
  "openapi": "3.0.1",
  "info": {
    "title": "AI Search Visibility Audit — ChatGPT, Google AI & Perplexity",
    "description": "Enter a domain and up to 5 competitors, no prompt list needed. Get the AI search questions where ChatGPT and Google AI Overview name each brand, with AI search volume, gaps, cited sources, share of voice and changes since your last run. Optional live re-check incl. Perplexity and your own questions.",
    "version": "0.0",
    "x-build-id": "PvZOIRNTsevAeCHzD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/afanasenko~ai-visibility-audit/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-afanasenko-ai-visibility-audit",
        "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/afanasenko~ai-visibility-audit/runs": {
      "post": {
        "operationId": "runs-sync-afanasenko-ai-visibility-audit",
        "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/afanasenko~ai-visibility-audit/run-sync": {
      "post": {
        "operationId": "run-sync-afanasenko-ai-visibility-audit",
        "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": {
          "domain": {
            "title": "Your domain",
            "type": "string",
            "description": "The brand to audit, as its website domain, e.g. clickup.com. A full URL works too."
          },
          "competitors": {
            "title": "Competitor domains",
            "type": "array",
            "description": "Up to 5 competitor domains, one per line, e.g. asana.com. Each one adds its gap questions: where it is named and you are not. Each brand that appears in at least one question is charged once.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "country": {
            "title": "Country",
            "enum": [
              "AL",
              "DZ",
              "AO",
              "AR",
              "AM",
              "AU",
              "AT",
              "AZ",
              "BH",
              "BD",
              "BE",
              "BO",
              "BA",
              "BR",
              "BG",
              "BF",
              "KH",
              "CM",
              "CA",
              "CL",
              "CO",
              "CR",
              "CI",
              "HR",
              "CY",
              "CZ",
              "DK",
              "EC",
              "EG",
              "SV",
              "EE",
              "FI",
              "FR",
              "DE",
              "GH",
              "GR",
              "GT",
              "HK",
              "HU",
              "IN",
              "ID",
              "IE",
              "IL",
              "IT",
              "JP",
              "JO",
              "KZ",
              "KE",
              "LV",
              "LT",
              "MY",
              "MT",
              "MX",
              "MD",
              "MC",
              "MA",
              "MM",
              "NL",
              "NZ",
              "NI",
              "NG",
              "MK",
              "NO",
              "PK",
              "PA",
              "PY",
              "PE",
              "PH",
              "PL",
              "PT",
              "RO",
              "SA",
              "SN",
              "RS",
              "SG",
              "SK",
              "SI",
              "ZA",
              "KR",
              "ES",
              "LK",
              "SE",
              "CH",
              "TW",
              "TH",
              "TN",
              "TR",
              "UA",
              "AE",
              "GB",
              "US",
              "UY",
              "VE",
              "VN"
            ],
            "type": "string",
            "description": "The market whose AI answers are read. ChatGPT answers exist for the United States only; every country has Google AI Overview answers.",
            "default": "US"
          },
          "language": {
            "title": "Language",
            "enum": [
              "sq",
              "ar",
              "hy",
              "az",
              "bn",
              "bs",
              "bg",
              "zh-CN",
              "zh-TW",
              "hr",
              "cs",
              "da",
              "nl",
              "en",
              "et",
              "fi",
              "fr",
              "de",
              "el",
              "he",
              "hi",
              "hu",
              "id",
              "it",
              "ja",
              "ko",
              "lv",
              "lt",
              "mk",
              "ms",
              "nb",
              "pl",
              "pt",
              "ro",
              "ru",
              "sr",
              "sk",
              "sl",
              "es",
              "sv",
              "tl",
              "th",
              "tr",
              "uk",
              "ur",
              "vi"
            ],
            "type": "string",
            "description": "The language of the answers. Must be one the country has answers in (English for the United States).",
            "default": "en"
          },
          "platforms": {
            "title": "AI platforms",
            "type": "array",
            "description": "Which AI answers to audit. Leave both for the full picture.",
            "items": {
              "type": "string",
              "enum": [
                "chatgpt",
                "google_ai_overview"
              ],
              "enumTitles": [
                "ChatGPT",
                "Google AI Overview"
              ]
            },
            "default": [
              "chatgpt",
              "google_ai_overview"
            ]
          },
          "maxQuestions": {
            "title": "Max questions",
            "minimum": 10,
            "maximum": 100,
            "type": "integer",
            "description": "How many AI search questions to return, highest AI search volume first. Up to 100 per audit; the price is per brand found, not per question.",
            "default": 100
          },
          "liveRecheck": {
            "title": "Re-check top questions live",
            "type": "boolean",
            "description": "Also ask the top questions right now on ChatGPT, Perplexity, Google AI Overview and Google AI Mode, gap questions first. Index answers can be months old; this shows today's answer. Charged per live answer received.",
            "default": false
          },
          "liveRecheckQuestions": {
            "title": "Questions to re-check",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many of the top questions to ask live (1–10).",
            "default": 10
          },
          "liveRecheckEngines": {
            "title": "Live re-check engines",
            "type": "array",
            "description": "The engines asked live. Each answer received is one live answer charge.",
            "items": {
              "type": "string",
              "enum": [
                "chatgpt",
                "perplexity",
                "google_ai_overview",
                "google_ai_mode"
              ],
              "enumTitles": [
                "ChatGPT",
                "Perplexity",
                "Google AI Overview",
                "Google AI Mode"
              ]
            },
            "default": [
              "chatgpt",
              "perplexity",
              "google_ai_overview",
              "google_ai_mode"
            ]
          },
          "liveRecheckOwnQuestions": {
            "title": "Your own questions (optional)",
            "type": "array",
            "description": "Questions you write, one per line (up to 10, 3–300 characters), asked live on the same engines before the top questions — for example the prompts your customers type. Needs Re-check top questions live on. Each answer received is one live answer charge, like every live answer; the audit's own questions still come from the index. Each one becomes its own row (questionSource \"own\") with the engines' answers.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "compareWithLastRun": {
            "title": "Compare with my last run",
            "type": "boolean",
            "description": "Adds, on every question row, what changed since your last audit of the same domain in the same country and language: brands that appeared or disappeared from each AI answer, your position before and now, gaps opened or closed — and a list of those changes in the summary row. Free: nothing extra is fetched or charged. Every audit is kept for this in a key-value store named av-history-… in your Storage, from version 0.0.7; delete it to start over.",
            "default": false
          },
          "brandNames": {
            "title": "Brand names (optional)",
            "type": "array",
            "description": "Only if a brand goes by a name its domain does not show: one line per brand, «domain = Name, Other name», e.g. «hey.com = HEY». By default the name is read from the domain.",
            "items": {
              "type": "string"
            },
            "default": []
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}