{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Shopping Scraper Pro: Prices, Sellers, Ratings",
    "description": "Scrape Google Shopping product results: title, price, currency, discount, merchant, rating, reviews, condition, shipping and image. Filters for price, condition and sort. Export JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "VK4BrudGXFMqPV2I3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~google-shopping-scraper-pro/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-google-shopping-scraper-pro",
        "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/scrapers_lat~google-shopping-scraper-pro/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-google-shopping-scraper-pro",
        "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/scrapers_lat~google-shopping-scraper-pro/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-google-shopping-scraper-pro",
        "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": {
          "queries": {
            "title": "Search queries or Google Shopping URLs",
            "type": "array",
            "description": "One or more product search terms, or full Google Shopping URLs. Each item is searched separately. A single string is also accepted.",
            "items": {
              "type": "string"
            }
          },
          "maxProductsPerQuery": {
            "title": "Max products per query",
            "minimum": 0,
            "maximum": 400,
            "type": "integer",
            "description": "Maximum number of products to return for each query (0 = no per-query cap, return all found across the requested pages). Each product is one billable result.",
            "default": 40
          },
          "maxResults": {
            "title": "Max products total",
            "minimum": 0,
            "maximum": 2000,
            "type": "integer",
            "description": "Optional overall cap on the total number of products returned across all queries (0 = no global cap).",
            "default": 0
          },
          "resultsPerPage": {
            "title": "Results per page",
            "minimum": 10,
            "maximum": 100,
            "type": "integer",
            "description": "How many products Google returns per page (the num parameter, 10 to 100). Google Shopping typically returns 40 to 60 per page.",
            "default": 40
          },
          "maxPagesPerQuery": {
            "title": "Max pages per query",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many result pages (pagination depth) to fetch per query (1 to 10).",
            "default": 1
          },
          "countryCode": {
            "title": "Country code (gl)",
            "type": "string",
            "description": "Two-letter country to search from, e.g. us, gb, es, de, br. Sets Google's gl parameter and matches the connection country for local prices and sellers.",
            "default": "us"
          },
          "languageCode": {
            "title": "Language code (hl)",
            "type": "string",
            "description": "Two-letter interface language, e.g. en, es, de, fr, pt. Sets Google's hl parameter.",
            "default": "en"
          },
          "minPrice": {
            "title": "Minimum price",
            "type": "integer",
            "description": "Optional. Only return products priced at or above this amount (in the local currency). Applied via Google's price filter and re-checked on the parsed price."
          },
          "maxPrice": {
            "title": "Maximum price",
            "type": "integer",
            "description": "Optional. Only return products priced at or below this amount (in the local currency)."
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "used",
              "refurbished"
            ],
            "type": "string",
            "description": "Filter by item condition.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "price_low",
              "price_high",
              "review"
            ],
            "type": "string",
            "description": "Ordering of the results.",
            "default": "relevance"
          },
          "onSale": {
            "title": "On sale only",
            "type": "boolean",
            "description": "Only return products that show a discount / sale price.",
            "default": false
          },
          "freeShipping": {
            "title": "Free shipping only",
            "type": "boolean",
            "description": "Only return products that offer free delivery / free shipping.",
            "default": false
          },
          "merchant": {
            "title": "Merchant / store filter",
            "type": "string",
            "description": "Optional. Only return products sold by a merchant whose name contains this text, e.g. amazon, walmart, best buy."
          },
          "mobileResults": {
            "title": "Mobile results",
            "type": "boolean",
            "description": "Fetch the mobile version of Google Shopping (mobile user agent and layout) instead of desktop.",
            "default": false
          },
          "safeSearch": {
            "title": "Safe search",
            "type": "boolean",
            "description": "Enable Google SafeSearch filtering (safe=active).",
            "default": false
          },
          "tbs": {
            "title": "Raw tbs parameter (advanced)",
            "type": "string",
            "description": "Optional advanced Google tbs value passed through as-is (e.g. mr:1,price:1,ppr_min:100). Overrides the price / condition / sort / on-sale / free-shipping filters when set."
          },
          "priceComparison": {
            "title": "Add-on: Cross-seller price comparison",
            "type": "boolean",
            "description": "Optional paid add-on (off by default, paying accounts only). For each product, runs an extra targeted search and returns every distinct seller and price found for that product (seller, price, condition, delivery, rating), with the lowest and highest price. Charged only when two or more real sellers are returned.",
            "default": false
          },
          "aiDealAnalysis": {
            "title": "Add-on: AI deal analysis",
            "type": "boolean",
            "description": "Optional paid add-on (off by default, paying accounts only). For each product, an AI model assesses whether the price is a good deal, recommends the best seller/condition, extracts spec highlights and gives buying advice. Charged only when the AI returns usable output.",
            "default": false
          },
          "maxAddonProducts": {
            "title": "Max products to enrich with add-ons",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Cap on how many products the paid add-ons (price comparison, AI deal analysis) run on per run, to control add-on cost.",
            "default": 20
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}