{
  "openapi": "3.0.1",
  "info": {
    "title": "Gemini Answer Scraper: Screenshots, Citations, Any Country",
    "description": "Ask Google Gemini any prompt anonymously in a real browser. Get the full answer as Markdown, every cited source and a full-page screenshot as proof, per country. No API key, no login.",
    "version": "0.5",
    "x-build-id": "6mnkHefM3JxJbxgio"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dxffffff~gemini-answer-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dxffffff-gemini-answer-scraper",
        "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/dxffffff~gemini-answer-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dxffffff-gemini-answer-scraper",
        "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/dxffffff~gemini-answer-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dxffffff-gemini-answer-scraper",
        "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": {
          "prompt": {
            "title": "Prompt",
            "type": "string",
            "description": "One prompt to ask Gemini."
          },
          "prompts": {
            "title": "More prompts",
            "maxItems": 20,
            "type": "array",
            "description": "Additional prompts, each asked in a fresh tab, one after another. Combined with `prompt`, at most 20 per run (one egress address).",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "pattern": "^[A-Za-z]{2}$",
            "type": "string",
            "description": "Two-letter country code (e.g. `es`, `us`). Sets the Apify proxy exit country (if the proxy has none set) and the browser locale region. Gemini answers for the country it is reached from."
          },
          "language": {
            "title": "Browser language",
            "type": "string",
            "description": "Browser language, e.g. `en`, `es`, or a full tag like `es-419`.",
            "default": "en"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify proxy. Datacenter by default: a prompt that hits Gemini's login wall moves the run to a new datacenter session, then to residential (see the two fields below). Each egress is one sticky session. Pick the RESIDENTIAL group here to skip datacenter entirely. Your own proxy URLs are used as given (no fallback); rows then say egressPath `custom-proxy`.",
            "default": {
              "useApifyProxy": true
            }
          },
          "datacenterRotations": {
            "title": "Datacenter session rotations",
            "minimum": 0,
            "maximum": 3,
            "type": "integer",
            "description": "After a datacenter session hits Gemini's login wall, how many NEW datacenter sessions to try before residential. Each one relaunches the browser on a new exit IP. A rotation that comes back on an IP that already hit the wall is skipped.",
            "default": 1
          },
          "residentialFallback": {
            "title": "Residential fallback",
            "type": "boolean",
            "description": "When every datacenter session has hit the login wall, move the rest of the run to one sticky RESIDENTIAL session and ask the walled prompt again there, once. Residential is billed per GB. Only applies when the proxy above is Apify datacenter.",
            "default": true
          },
          "browserChannel": {
            "title": "Browser",
            "enum": [
              "chrome",
              "chromium"
            ],
            "type": "string",
            "description": "`chrome`: the image's Google Chrome (a real Chrome build, new headless mode). `chromium`: Playwright's bundled Chromium (headless = chromium-headless-shell).",
            "default": "chrome"
          },
          "headless": {
            "title": "Headless",
            "type": "boolean",
            "description": "Run the browser headless (default). Off = headed on the image's virtual display (Xvfb).",
            "default": true
          },
          "blockAssets": {
            "title": "Block images, fonts and media",
            "type": "boolean",
            "description": "Experimental, off by default. Don't load images, web fonts or audio/video (stylesheets and scripts still load; the HTTP cache stays on). In our tests it showed no compute saving, and the batch it ran in had more timeouts and Gemini error replies. Icons in the screenshot render as text.",
            "default": false
          },
          "answerWaitSecs": {
            "title": "Answer wait (seconds)",
            "minimum": 10,
            "maximum": 300,
            "type": "integer",
            "description": "Max time to wait for a streamed answer to finish, per prompt.",
            "default": 90
          },
          "screenshot": {
            "title": "Save screenshots",
            "type": "boolean",
            "description": "Store a full-page JPEG per prompt in the key-value store. A failed prompt always gets one.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}