{
  "openapi": "3.0.1",
  "info": {
    "title": "AI Visibility Tracker",
    "description": "[from $0.0375/check] Track brand mentions in ChatGPT, Google AI Overview, AI Mode, Gemini, Perplexity and Claude: mentioned, position, cited domains, competitors, tone, snippet. Share of voice. Export, run via API or use with AI agents.",
    "version": "0.1",
    "x-build-id": "HhfSeYGaEU8aQCsG0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/blueskyscraper~ai-visibility-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-blueskyscraper-ai-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/blueskyscraper~ai-visibility-tracker/runs": {
      "post": {
        "operationId": "runs-sync-blueskyscraper-ai-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/blueskyscraper~ai-visibility-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-blueskyscraper-ai-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",
        "properties": {
          "brandName": {
            "title": "🏷️ Your brand",
            "type": "string",
            "description": "Enter the brand name exactly as people write it, e.g. Notion. Typed with a capital letter, it matches Notion and NOTION but not the word \"notion\"; type it in lower case to match any case.",
            "default": "Notion"
          },
          "brandDomain": {
            "title": "🌐 Your website domain(s)",
            "type": "string",
            "description": "Enter your domain, or several separated by commas, e.g. notion.com, notion.so. Used to tell whether the AI answer cites or links your website (subdomains count).",
            "default": "notion.com, notion.so"
          },
          "competitors": {
            "title": "🥊 Competitors",
            "type": "array",
            "description": "Add one competitor per line as <b>Name | domain</b> (e.g. Obsidian | obsidian.md), or just a name or a domain. Up to 25. Each row tells which of them the AI mentioned and cited; the share of voice summary compares you with them.",
            "default": [
              "Obsidian | obsidian.md",
              "Evernote | evernote.com"
            ],
            "items": {
              "type": "string"
            }
          },
          "queries": {
            "title": "💬 Questions to ask the AI",
            "type": "array",
            "description": "Enter one question or prompt per line, the way your buyers ask AI assistants: best CRM for startups, Notion alternatives, which project management tool should I use? Up to 500 characters each. Every question is asked on every selected platform (one row each).",
            "default": [
              "best note taking app",
              "best app for team wiki"
            ],
            "items": {
              "type": "string"
            }
          },
          "platforms": {
            "title": "🤖 AI platforms",
            "type": "array",
            "description": "Select the AI platforms to ask. Each selected platform answers every question, and each answer is one row priced the same. Google AI Overview only appears for some questions: when Google shows none, the row is free.",
            "items": {
              "type": "string",
              "enum": [
                "chatgpt",
                "google_ai_overview",
                "google_ai_mode",
                "gemini",
                "perplexity",
                "claude"
              ],
              "enumTitles": [
                "ChatGPT (with web search, as in the app)",
                "Google AI Overview (in Google Search)",
                "Google AI Mode",
                "Gemini (as in the app)",
                "Perplexity (Sonar, with web search)",
                "Claude (Haiku 4.5, model knowledge, no web search)"
              ]
            },
            "default": [
              "chatgpt"
            ]
          },
          "country": {
            "title": "📍 Country",
            "type": "string",
            "description": "Enter the country the AI should answer from: United States, US, United Kingdom, GB, Germany, DE, India, IN, Indonesia, ID… 213 countries. Claude answers from model knowledge and ignores it.",
            "default": "United States"
          },
          "language": {
            "title": "🗣️ Language",
            "type": "string",
            "description": "Enter the answer language name or code: English, en, German, de, Spanish, es. Write your questions in the same language. The tone heuristic works for English answers only.",
            "default": "English"
          },
          "category": {
            "title": "Category (generate questions)",
            "type": "string",
            "description": "Optional: enter your product category, e.g. note taking app, to add 5 template questions: What is the best <category>?, Top <category> recommendations, <brand> alternatives, Is <brand> a good <category>?, <brand> vs <first competitor>."
          },
          "brandAliases": {
            "title": "Brand aliases",
            "type": "array",
            "description": "Optional: add other names the AI may use for your brand, e.g. product names or an old name (Notion AI, Notion Calendar). Any of them counts as a brand mention.",
            "items": {
              "type": "string"
            }
          },
          "includeShareOfVoice": {
            "title": "Add share of voice summary row ($)",
            "type": "boolean",
            "description": "Switch on to add one summary row after the checks: for your brand and each competitor, mention rate, share of voice, citation rate, average position and first-place count, plus your brand per platform. Charged once per run as a summary event.",
            "default": false
          },
          "includeFullAnswer": {
            "title": "Include full AI answer",
            "type": "boolean",
            "description": "Switch on to add the complete answer as Markdown (with the AI's links) in the answerMarkdown field. Off by default to keep the table readable; the snippet around your brand is always included.",
            "default": false
          },
          "forceWebSearch": {
            "title": "Force ChatGPT web search",
            "type": "boolean",
            "description": "ChatGPT only: switch on to make ChatGPT search the web for every question, so the row has cited sources. Off (default) = ChatGPT decides itself, like for a real user.",
            "default": false
          },
          "cacheHours": {
            "title": "Reuse answers younger than (hours)",
            "minimum": 0,
            "maximum": 168,
            "type": "integer",
            "description": "The same question on the same platform, country and language asked again within this many hours is answered from the last collected answer (answeredAt shows when). Set 0 to always ask fresh. Reused answers are charged like fresh ones.",
            "default": 24
          },
          "maxChecks": {
            "title": "Max checks per run",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Safety cap on questions × platforms. With 20 questions and 5 platforms you need 100. Checks above the cap are skipped and not charged.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}