{
  "openapi": "3.0.1",
  "info": {
    "title": "Chatgpt Prompt Actor - GEO Analyse with Citation Data",
    "description": "This Actor automates interactions with ChatGPT by sending prompts and extracting responses.\n it opens the web interface, dismisses pop-ups, sends prompts, waits for responses (up to 2 minutes), and extracts generated results including citations for further use.",
    "version": "0.1",
    "x-build-id": "tH4ynuevd3cE3XAXl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_nerd~chatgpt-prompt-actor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_nerd-chatgpt-prompt-actor",
        "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/automation_nerd~chatgpt-prompt-actor/runs": {
      "post": {
        "operationId": "runs-sync-automation_nerd-chatgpt-prompt-actor",
        "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/automation_nerd~chatgpt-prompt-actor/run-sync": {
      "post": {
        "operationId": "run-sync-automation_nerd-chatgpt-prompt-actor",
        "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": [
          "prompts"
        ],
        "properties": {
          "prompts": {
            "title": "Prompts",
            "type": "array",
            "description": "Array of messages/questions to send to ChatGPT. Each prompt runs in its own fresh conversation.",
            "default": [
              "What are most popular products from nike?",
              "What is the best chocolate?"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxConcurrency": {
            "title": "Max concurrency (parallel sessions)",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many browser sessions to run in parallel. Default 1 (fits in 2 GB RAM). Raise for speed, but each parallel session needs ~1 GB more memory — increase the Actor's memory accordingly (e.g. 4 GB for 3 parallel sessions). Usage cost rises slightly; the result just arrives faster.",
            "default": 1
          },
          "maxRequestRetries": {
            "title": "Max retries per session",
            "minimum": 0,
            "maximum": 15,
            "type": "integer",
            "description": "How often to retry a browser session (a chunk of 'promptsPerSession' prompts) that hits a failure such as a block. Each retry uses a fresh browser and a new residential IP; prompts already answered in the session are skipped, so effectively the failing prompt(s) get retried on a new IP. The attempts made are reported per item as 'attempts'.",
            "default": 3
          },
          "promptsPerSession": {
            "title": "Prompts per browser session",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many prompts to handle in one browser session before starting a fresh browser/IP. Higher = faster (a running ChatGPT session answers follow-up prompts in ~5s vs. ~25s to start a new browser), but those prompts share one IP — if it gets blocked mid-session the rest retry on a new IP. Default 10.",
            "default": 10
          },
          "blockResources": {
            "title": "Block images/fonts/media",
            "type": "boolean",
            "description": "Block images, fonts and media to reduce residential proxy traffic (the biggest cost driver). JavaScript, CSS and XHR are always kept, so response extraction is unaffected. Disable only if you suspect it affects results.",
            "default": true
          },
          "proxyCountry": {
            "title": "Proxy Country",
            "enum": [
              "",
              "US",
              "GB",
              "DE",
              "FR",
              "CA",
              "AU",
              "NL",
              "SE",
              "JP",
              "SG",
              "BR",
              "IN",
              "IT",
              "ES",
              "PL",
              "CZ",
              "BE",
              "CH",
              "NO",
              "DK",
              "FI",
              "IE",
              "AT",
              "PT",
              "HU",
              "RO",
              "GR",
              "BG",
              "HR",
              "LT",
              "LV",
              "EE",
              "SI",
              "SK",
              "LU",
              "MT",
              "CY"
            ],
            "type": "string",
            "description": "Select which country the proxy should be located in. Leave empty for automatic selection.",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}