AI Visibility Checker – ChatGPT, Perplexity & AI Overviews
Pricing
from $4.00 / 1,000 ai answer analyseds
Go to Apify Store
AI Visibility Checker – ChatGPT, Perplexity & AI Overviews
Pricing
from $4.00 / 1,000 ai answer analyseds
You can access the AI Visibility Checker – ChatGPT, Perplexity & AI Overviews programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.1", "x-build-id": "6n76ocC25tPSZHz3Z" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/batuweb~ai-search-visibility-checker/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-batuweb-ai-search-visibility-checker", "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/batuweb~ai-search-visibility-checker/runs": { "post": { "operationId": "runs-sync-batuweb-ai-search-visibility-checker", "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/batuweb~ai-search-visibility-checker/run-sync": { "post": { "operationId": "run-sync-batuweb-ai-search-visibility-checker", "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": { "prompts": { "title": "Prompts (questions buyers ask AI)", "type": "array", "description": "One question per line, e.g. \"best CRM for small agencies\". Extra whitespace is collapsed. Each answered prompt × engine is one charged result.", "items": { "type": "string" } }, "brandName": { "title": "Your brand name", "type": "string", "description": "Brand to look for in AI answers. If you leave ALL brand fields empty, a demo (Semrush vs Ahrefs/Moz/Screaming Frog) runs." }, "brandAliases": { "title": "Brand aliases", "type": "array", "description": "Other spellings or product names that count as a mention. Overlapping names are counted once.", "items": { "type": "string" } }, "brandDomains": { "title": "Your domains", "type": "array", "description": "Your domains, e.g. example.com. Citations of these count as your brand being cited. Not derived automatically.", "items": { "type": "string" } }, "competitors": { "title": "Competitor brands", "type": "array", "description": "Competitors to detect in the answers (up to 30).", "items": { "type": "string" } }, "engines": { "title": "AI engines", "type": "array", "description": "Each engine calls the official API with YOUR key (the provider bills you directly). Leave empty to use every engine you added a key for. Without any key the run only returns a free info record. API answers are not identical to the consumer ChatGPT/Perplexity/Claude apps.", "items": { "type": "string", "enum": [ "chatgpt", "perplexity", "claude" ], "enumTitles": [ "ChatGPT model via OpenAI API (OpenAI key)", "Perplexity Sonar API (Perplexity key)", "Claude via Anthropic API with web search (Anthropic key)" ] }, "default": [] }, "openaiApiKey": { "title": "OpenAI API key", "type": "string", "description": "Needed for the ChatGPT engine. Uses the Responses API with web search." }, "perplexityApiKey": { "title": "Perplexity API key", "type": "string", "description": "Needed for the Perplexity engine (Sonar API)." }, "anthropicApiKey": { "title": "Anthropic API key", "type": "string", "description": "Needed for the Claude engine (web search tool must be enabled for your org)." }, "countryCode": { "title": "Country", "type": "string", "description": "2-letter country code for the AI web search location, e.g. us, de, gb.", "default": "us" }, "languageCode": { "title": "Language", "type": "string", "description": "Answer language hint for the AI engines, e.g. en, de.", "default": "en" }, "chatgptModel": { "title": "OpenAI model", "type": "string", "description": "Default gpt-4.1-mini.", "default": "gpt-4.1-mini" }, "perplexityModel": { "title": "Perplexity model", "type": "string", "description": "Default sonar.", "default": "sonar" }, "claudeModel": { "title": "Claude model", "type": "string", "description": "Default claude-haiku-4-5.", "default": "claude-haiku-4-5" }, "maxAnswerChars": { "title": "Max answer length stored", "minimum": 200, "maximum": 50000, "type": "integer", "description": "Answer text is truncated to this many characters in the output (analysis uses the full answer).", "default": 8000 } } }, "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for AI Visibility Checker – ChatGPT, Perplexity & AI Overviews from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: