{
  "openapi": "3.0.1",
  "info": {
    "title": "AI Visibility Tracker: ChatGPT, Gemini & AI Overviews",
    "description": "Track whether your brand is mentioned and cited in ChatGPT, Gemini, Google AI Mode, AI Overviews and Perplexity for any prompt. Position vs competitors, cited sources and share of voice per engine for GEO/AEO and SEO agencies. Pay per answer, no subscription.",
    "version": "1.0",
    "x-build-id": "FnSDvI68egiFao8Ec"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/vncntlabs~ai-search-visibility-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-vncntlabs-ai-search-visibility-tracker",
        "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/vncntlabs~ai-search-visibility-tracker/runs": {
      "post": {
        "operationId": "runs-sync-vncntlabs-ai-search-visibility-tracker",
        "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/vncntlabs~ai-search-visibility-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-vncntlabs-ai-search-visibility-tracker",
        "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",
        "required": [
          "brandName",
          "prompts"
        ],
        "properties": {
          "brandName": {
            "title": "Brand name",
            "type": "string",
            "description": "The brand to look for in AI answers, e.g. <code>HubSpot</code>. Matched as a whole word, case-insensitive."
          },
          "brandDomains": {
            "title": "Brand website(s)",
            "type": "array",
            "description": "Your domains, e.g. <code>hubspot.com</code>. Used to detect when an AI engine <b>cites</b> your site as a source (subdomains count).",
            "items": {
              "type": "string"
            }
          },
          "brandAliases": {
            "title": "Other brand names",
            "type": "array",
            "description": "Optional product names or spellings that also count as a mention, e.g. <code>HubSpot CRM</code>, <code>Hub Spot</code> (up to 10).",
            "items": {
              "type": "string"
            }
          },
          "competitors": {
            "title": "Competitors",
            "type": "array",
            "description": "Up to 15. Write <code>Name | domain</code> (e.g. <code>Pipedrive | pipedrive.com</code>), just a name, or just a domain. Used for your position in each answer and share of voice.",
            "items": {
              "type": "string"
            }
          },
          "prompts": {
            "title": "Prompts",
            "type": "array",
            "description": "Questions your buyers ask AI, one per line (up to 200), e.g. <code>best crm for small business</code>, <code>hubspot vs salesforce</code>. Each prompt is asked to every selected engine.",
            "items": {
              "type": "string"
            }
          },
          "engines": {
            "title": "AI engines",
            "type": "array",
            "description": "Engines to check. Each prompt × engine is one answer (one <code>ai-answer</code> event). Google AI Overview is free when Google shows no AI Overview for the prompt.",
            "items": {
              "type": "string",
              "enum": [
                "chatgpt",
                "gemini",
                "google_ai_mode",
                "google_ai_overview",
                "perplexity"
              ],
              "enumTitles": [
                "ChatGPT",
                "Gemini",
                "Google AI Mode",
                "Google AI Overview",
                "Perplexity"
              ]
            },
            "default": [
              "chatgpt",
              "gemini",
              "google_ai_mode",
              "google_ai_overview",
              "perplexity"
            ]
          },
          "country": {
            "title": "Country",
            "enum": [
              "us",
              "au",
              "at",
              "be",
              "br",
              "ca",
              "fr",
              "de",
              "in",
              "ie",
              "it",
              "jp",
              "mx",
              "nl",
              "nz",
              "pl",
              "pt",
              "sg",
              "za",
              "es",
              "se",
              "ch",
              "ae",
              "gb"
            ],
            "type": "string",
            "description": "Location the AI answers are requested from (ChatGPT, Gemini and Google). Perplexity answers are not location-targeted.",
            "default": "us"
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "sv",
              "pl",
              "pt",
              "ja"
            ],
            "type": "string",
            "description": "Optional. Defaults to the country's main language."
          },
          "repeats": {
            "title": "Ask each prompt N times",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "AI answers vary from run to run. Ask 2–3 times for a more reliable mention rate (each repeat is charged as an answer).",
            "default": 1
          },
          "includeAnswerText": {
            "title": "Include full answer text",
            "type": "boolean",
            "description": "Include the full answer (markdown, up to 20,000 characters). Turn off for lighter datasets; the excerpt around your brand is always included.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}