{
  "openapi": "3.0.1",
  "info": {
    "title": "AI Visibility Tracker: Gemini, Claude & Google AI Overviews",
    "description": "Track whether AI search engines mention and cite your brand. For each prompt, see if Gemini, Claude and Google AI Overviews name you, at what position against competitors, how they describe you, which sites they cite, and what changed since your last run. Client-ready report included.",
    "version": "1.1",
    "x-build-id": "46SdLcam60KbZ7OmI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automationnation~ai-visibility-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automationnation-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/automationnation~ai-visibility-tracker/runs": {
      "post": {
        "operationId": "runs-sync-automationnation-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/automationnation~ai-visibility-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-automationnation-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": {
          "brand": {
            "title": "Brand",
            "type": "string",
            "description": "Your brand or product name, as people write it (for example \"Notion\"). A name with capitals matches only with those capitals, so \"Notion\" isn't found in \"the notion of\".",
            "default": "Notion"
          },
          "domain": {
            "title": "Website domain",
            "type": "string",
            "description": "Your site, for example \"notion.so\". Used to check whether AI answers cite your pages (subdomains count).",
            "default": "notion.so"
          },
          "brandAliases": {
            "title": "Other names for your brand",
            "type": "array",
            "description": "Product names or spellings that should count as your brand, for example \"Notion AI\".",
            "items": {
              "type": "string"
            }
          },
          "competitors": {
            "title": "Competitors",
            "type": "array",
            "description": "Up to 25 competitors, each as a name, a domain, or \"Name (domain.com)\" to track their citations too. Add other names after \" / \", for example \"Microsoft OneNote / OneNote\".",
            "default": [
              "Evernote (evernote.com)",
              "Obsidian (obsidian.md)",
              "Microsoft OneNote (onenote.com)"
            ],
            "items": {
              "type": "string"
            }
          },
          "prompts": {
            "title": "Prompts",
            "type": "array",
            "description": "Questions people ask AI assistants in your market, one per line, for example \"best CRM for small business\" or \"Notion vs Obsidian\". Each prompt is asked on every engine you choose.",
            "default": [
              "What is the best note-taking app for teams?"
            ],
            "items": {
              "type": "string"
            }
          },
          "topics": {
            "title": "Topics to write prompts for",
            "type": "array",
            "description": "Optional: topics such as \"team wiki software\". The Actor writes realistic prompts for each (without brand names) and checks them too.",
            "items": {
              "type": "string"
            }
          },
          "promptsPerTopic": {
            "title": "Prompts per topic",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many prompts to write for each topic.",
            "default": 5
          },
          "maxPrompts": {
            "title": "Maximum prompts",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Cap on prompts per run (written plus your own).",
            "default": 200
          },
          "engines": {
            "title": "AI engines",
            "type": "array",
            "description": "Which AI engines to ask. Each prompt on each engine is one answer checked.",
            "items": {
              "type": "string",
              "enum": [
                "google-ai-overviews",
                "gemini",
                "claude"
              ],
              "enumTitles": [
                "Google AI Overviews",
                "Gemini (with Google Search)",
                "Claude (with web search)"
              ]
            },
            "default": [
              "google-ai-overviews",
              "gemini",
              "claude"
            ]
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code for localised answers, for example us, gb, de, au.",
            "default": "us"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Interface language for Google AI Overviews, for example en, de, fr.",
            "default": "en"
          },
          "aioBrowserFallback": {
            "title": "Read late-loading AI Overviews in a browser",
            "type": "boolean",
            "description": "Google builds many AI Overviews after the page loads. Those are read in a real browser on residential IPs (slower). Switch off to skip them; skipped answers aren't charged.",
            "default": true
          },
          "analyzeAnswers": {
            "title": "Sentiment and other brands named",
            "type": "boolean",
            "description": "For each answer: every company or product it names (to reveal competitors you don't track) and how it describes your brand. Included in the price.",
            "default": true
          },
          "generateReport": {
            "title": "Client-ready HTML report",
            "type": "boolean",
            "description": "A shareable report (REPORT in the key-value store): visibility rates, share of voice, competitors, top cited sites, prompt-by-prompt results and changes. $0.50, charged once per run.",
            "default": true
          },
          "includeAnswerText": {
            "title": "Include full answer text",
            "type": "boolean",
            "description": "Save each engine's full answer in the dataset.",
            "default": true
          },
          "alertWebhookUrl": {
            "title": "Alert webhook URL",
            "type": "string",
            "description": "Get a message when mentions or citations change: a Slack or Discord webhook URL, or any Zapier, Make, n8n or HTTPS endpoint (which receives JSON)."
          },
          "alertOn": {
            "title": "Send alerts",
            "enum": [
              "changes",
              "always"
            ],
            "type": "string",
            "description": "When to send the alert.",
            "default": "changes"
          },
          "trackerName": {
            "title": "Tracker name",
            "type": "string",
            "description": "Optional: keeps a separate history, for example one per client or campaign. Runs with the same brand, domain, country and tracker name are compared with each other."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}