{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/crawlerdata-com/json-schema/crawlerdata-com-google-shopping-product-request-schema.json",
  "title": "GoogleShoppingProductRequest",
  "description": "Google Shopping sellers: every seller's offer for a product_id. 1 credit per 10 sellers returned (min 1).",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/crawlerdata-com-openapi.json#/components/schemas/GoogleShoppingProductRequest",
  "type": "object",
  "required": [
    "endpoint",
    "params"
  ],
  "properties": {
    "endpoint": {
      "type": "string",
      "enum": [
        "google-shopping-product"
      ]
    },
    "params": {
      "type": "object",
      "properties": {
        "product_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "country": {
          "type": "string",
          "default": "us",
          "enum": [
            "us",
            "gb",
            "uk",
            "ca",
            "au",
            "de",
            "fr",
            "nl",
            "it",
            "es",
            "pt",
            "be",
            "at",
            "ch",
            "se",
            "no",
            "dk",
            "fi",
            "ie",
            "pl",
            "cz",
            "il",
            "ae",
            "in",
            "jp",
            "kr",
            "sg",
            "mx",
            "br",
            "nz",
            "za",
            "tr",
            "ar",
            "cl",
            "co",
            "pe",
            "hk",
            "tw",
            "th",
            "vn",
            "id",
            "my",
            "ph",
            "pk",
            "bd",
            "sa",
            "eg",
            "qa",
            "kw",
            "gr",
            "hu",
            "ro",
            "bg",
            "hr",
            "sk",
            "si",
            "ua",
            "rs",
            "lt",
            "lv",
            "ee",
            "lu",
            "ng",
            "ke",
            "ma",
            "is",
            "cy",
            "mt",
            "ba",
            "mk",
            "me",
            "md",
            "ge",
            "am",
            "az",
            "kz",
            "uz",
            "ec",
            "uy",
            "py",
            "bo",
            "cr",
            "pa",
            "do",
            "gt",
            "sv",
            "pr",
            "ve",
            "lk",
            "np",
            "kh",
            "jo",
            "lb",
            "om",
            "bh",
            "gh",
            "tz",
            "ug",
            "dz",
            "tn"
          ]
        },
        "language": {
          "type": "string",
          "pattern": "^[a-zA-Z]{2}$",
          "default": "en"
        },
        "output": {
          "type": "string",
          "enum": [
            "json",
            "png"
          ],
          "description": "\"png\" returns a screenshot of the Google page (desktop, 1400 px wide; a download link kept for 7 days) instead of JSON."
        },
        "crop": {
          "type": "boolean",
          "description": "With output \"png\": crop the screenshot to the results (or sellers) area."
        },
        "sellers_shown": {
          "type": "integer",
          "minimum": 1,
          "maximum": 30,
          "description": "With output \"png\" and crop: how many seller rows the screenshot shows (default 10)."
        },
        "blur_location": {
          "type": "boolean",
          "description": "With output \"png\": blur where Google shows the shopper's location (\"Nearby\", \"8 mi\")."
        },
        "highlight": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "maxItems": 4,
          "description": "With output \"png\": draw a box around these offers: seller names, \"cheapest\" or \"priciest\" (up to 4)."
        }
      },
      "required": [
        "product_id"
      ],
      "additionalProperties": false
    },
    "queue": {
      "$ref": "#/$defs/Queue"
    },
    "postbackUrl": {
      "type": "string",
      "format": "uri",
      "description": "Webhook that receives the result (fast and regular queues)."
    },
    "custom_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Your own id for this request, returned unchanged on the job and in its webhook."
    }
  },
  "$defs": {
    "Queue": {
      "type": "string",
      "enum": [
        "live",
        "fast",
        "regular"
      ],
      "default": "fast",
      "description": "live = synchronous; fast/regular = asynchronous. Same price."
    }
  }
}