{
  "openapi": "3.0.1",
  "info": {
    "title": "AI Citation Checker: Is My Page Cited by ChatGPT & Perplexity?",
    "description": "Page citation checker: is your page cited by ChatGPT, Perplexity or Gemini? Paste URLs, get buyer questions written from each page, whether your page and your site are cited and at which position, plus the competitor sites cited instead. $0.12 per URL, free sample, no API key.",
    "version": "0.1",
    "x-build-id": "JmVZl80w2LR90dG4r"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/highbrow_fame~ai-page-citation-checker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-highbrow_fame-ai-page-citation-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/highbrow_fame~ai-page-citation-checker/runs": {
      "post": {
        "operationId": "runs-sync-highbrow_fame-ai-page-citation-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/highbrow_fame~ai-page-citation-checker/run-sync": {
      "post": {
        "operationId": "run-sync-highbrow_fame-ai-page-citation-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",
        "required": [
          "pageUrls"
        ],
        "properties": {
          "pageUrls": {
            "title": "Pages to check",
            "type": "array",
            "description": "Full web addresses of your own pages, one per line (up to 100), for example https://example.com/blog/my-post. Each page is read once, politely: robots.txt is respected and nothing is bypassed. A page that cannot be read is reported and not charged.",
            "items": {
              "type": "string"
            }
          },
          "promptsPerPage": {
            "title": "Questions per page",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many buyer questions to write from each page and ask the AI engines (1-5). More questions give a steadier citation rate. The price is per page, not per question.",
            "default": 3
          },
          "engines": {
            "title": "AI engines",
            "uniqueItems": true,
            "type": "array",
            "description": "Which engines answer the questions. Perplexity and Gemini (Google Search grounded) run on our keys. ChatGPT with web search costs far more to run, so on our key it gets 1 call, on the first question, for the first 10 pages of a run (2 pages on a free Apify plan); add your own OpenAI key below to run it on every question.",
            "items": {
              "type": "string",
              "enum": [
                "perplexity-agent",
                "gemini",
                "openai"
              ],
              "enumTitles": [
                "Perplexity (included)",
                "Google Gemini with Search (included)",
                "ChatGPT with web search (included, capped)"
              ]
            },
            "default": [
              "perplexity-agent",
              "gemini",
              "openai"
            ]
          },
          "country": {
            "title": "Market (country)",
            "type": "string",
            "description": "Two-letter country code of the market your buyers are in, for example us, gb, de, au. For anything except us it is mentioned to the question writer, so questions and answers fit that market.",
            "default": "us"
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "de",
              "fr",
              "es",
              "it",
              "pt",
              "nl",
              "pl",
              "hu",
              "ja"
            ],
            "type": "string",
            "description": "Language of the questions and of the AI answers (two-letter code).",
            "default": "en"
          },
          "samples": {
            "title": "Repeats per question and engine",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "How often each question is asked on each engine (1-3). AI answers change from one request to the next, so a repeat smooths out luck. Questions x repeats per page is capped at 5, so with 3 questions the Actor uses at most 1 repeat.",
            "default": 1
          },
          "sampleRun": {
            "title": "Free sample run (no page fee)",
            "type": "boolean",
            "description": "Checks only the first page, with 2 questions, 1 repeat, on Perplexity only, and charges no page fee, so you can see real output before paying. The platform run-start fee still applies.",
            "default": false
          },
          "customPrompts": {
            "title": "Your own questions per page",
            "type": "object",
            "description": "Optional. Questions you want asked instead of the written ones, as JSON: the page address as key and a list of questions as value, for example {\"https://example.com/blog/my-post\": [\"how do I compare crm tools?\"]}. Pages with their own questions are also checked when the page itself cannot be read.",
            "default": {}
          },
          "openaiApiKey": {
            "title": "Your OpenAI API key (optional)",
            "type": "string",
            "description": "Only for ChatGPT. With your own key ChatGPT runs on every question and repeat, on your OpenAI bill (about $0.012 per call). Without it, ChatGPT is capped as described under AI engines."
          },
          "maxConcurrency": {
            "title": "Pages in parallel",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many pages are processed at the same time (1-5). Lower it if you see rate-limit warnings.",
            "default": 3
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}