{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Product Details & Variant ASINs Scraper",
    "description": "Amazon Product Details & Variant ASINs Scraper extracts product titles, descriptions, prices, ratings, reviews, sellers, specifications, images, and all available variant ASINs. Ideal for product research, catalog analysis, competitor monitoring, and Amazon marketplace insights.",
    "version": "0.1",
    "x-build-id": "LtAhz9cYJnM3zoUEM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapio~amazon-product-details-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapio-amazon-product-details-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/scrapio~amazon-product-details-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapio-amazon-product-details-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/scrapio~amazon-product-details-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapio-amazon-product-details-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",
        "required": [
          "asins"
        ],
        "properties": {
          "asins": {
            "title": "🧬 Parent ASINs or product URLs",
            "type": "array",
            "description": "One or more Amazon products to expand. Accepts a bare ASIN (B07GBZ4Q68), a /dp/ URL, or a /gp/product/ URL. Each entry produces one product row, plus one row per variation sibling when family expansion is on.",
            "items": {
              "type": "string"
            }
          },
          "parentAsins": {
            "title": "➕ Additional parent ASINs",
            "type": "array",
            "description": "Optional extra parent ASINs or product URLs. Merged with the list above and de-duplicated, so you can keep two lists separate without running twice.",
            "items": {
              "type": "string"
            }
          },
          "expandVariantFamily": {
            "title": "🎨 Expand the variation family",
            "type": "boolean",
            "description": "Resolve the product's sibling ASINs and open each one to read its own price, stock and rating. Turn off to keep the sibling ASIN map on the product row without any per-sibling pass. Default is on.",
            "default": true
          },
          "maxVariantsToFetch": {
            "title": "🔢 Max siblings to open per product",
            "minimum": 0,
            "type": "integer",
            "description": "How many family members to open per parent. Example: a mouse with 7 siblings and a value of 3 produces 3 variant rows. Use 0 for every sibling. Default is 3.",
            "default": 3
          },
          "variantDimensionFilter": {
            "title": "🎯 Only these variation axes",
            "type": "array",
            "description": "Restrict the labels kept for each sibling to the named axes, e.g. Color, Size, Style. Leave empty to keep every axis the product publishes. Axis names are listed on the product row as variantDimensions.",
            "items": {
              "type": "string"
            }
          },
          "emitVariantRows": {
            "title": "🧾 Emit a row per sibling",
            "type": "boolean",
            "description": "Push each opened sibling as its own labelled row (type = variant, isChild = true) and mirror it to a per-run variants dataset. Turn off to keep only the parent row and its family summary. Default is on.",
            "default": true
          },
          "includeParentInFamily": {
            "title": "👪 Count the parent inside the family summary",
            "type": "boolean",
            "description": "Include the parent product's own price and stock in the family price range and in-stock count. Default is off, so the summary describes the siblings only.",
            "default": false
          },
          "computeFamilyPriceRange": {
            "title": "📊 Compute the family price summary",
            "type": "boolean",
            "description": "Add variantPriceRange, cheapestVariantAsin, mostExpensiveVariantAsin and priceSpreadPct to the parent row, recomputed from the sibling rows actually collected. Siblings with no purchasable price are excluded. Default is on.",
            "default": true
          },
          "includeAttributeTable": {
            "title": "🧷 Merged attribute table",
            "type": "boolean",
            "description": "Add an attributes object merging every specification layout the product page uses (technical table, detail bullets, product overview) into one key/value map, plus attributeCount. Default is on.",
            "default": true
          },
          "marketplaceDomain": {
            "title": "🌐 Marketplace",
            "enum": [
              "amazon.com",
              "amazon.co.uk",
              "amazon.de",
              "amazon.fr",
              "amazon.es",
              "amazon.it",
              "amazon.nl",
              "amazon.se",
              "amazon.pl",
              "amazon.com.be",
              "amazon.ie",
              "amazon.ca",
              "amazon.com.mx",
              "amazon.com.br",
              "amazon.com.au",
              "amazon.co.jp",
              "amazon.in",
              "amazon.sg",
              "amazon.ae",
              "amazon.sa",
              "amazon.eg",
              "amazon.com.tr"
            ],
            "type": "string",
            "description": "Which Amazon marketplace to read. The delivery region is matched to it automatically unless you override it below."
          },
          "pageLanguage": {
            "title": "🗣️ Page language",
            "enum": [
              "",
              "en-US",
              "en-GB",
              "de-DE",
              "fr-FR",
              "es-ES",
              "it-IT",
              "ja-JP",
              "zh-CN",
              "pt-BR",
              "nl-NL",
              "sv-SE",
              "pl-PL",
              "tr-TR",
              "ar-AE"
            ],
            "type": "string",
            "description": "Language of the product page. Leave empty to use the marketplace default."
          },
          "exitCountry": {
            "title": "📍 Delivery region",
            "enum": [
              "AUTO",
              "US",
              "GB",
              "DE",
              "FR",
              "ES",
              "IT",
              "NL",
              "SE",
              "PL",
              "BE",
              "IE",
              "CA",
              "MX",
              "BR",
              "AU",
              "JP",
              "IN",
              "SG",
              "AE",
              "SA",
              "EG",
              "TR"
            ],
            "type": "string",
            "description": "Region the marketplace should quote prices and delivery for. AUTO matches the marketplace, which for amazon.com means United States. A mismatched region makes Amazon quote a different currency and different delivery figures."
          },
          "amazonDomain": {
            "title": "🔁 Marketplace (compatibility field)",
            "type": "string",
            "description": "Compatibility field for input files written for the original product-details scraper. Set it to anything other than amazon.com and it overrides the marketplace selected above.",
            "default": "amazon.com"
          },
          "language": {
            "title": "🔁 Language (compatibility field)",
            "enum": [
              "",
              "en-US",
              "en-GB",
              "de-DE",
              "fr-FR",
              "es-ES",
              "it-IT",
              "ja-JP",
              "zh-CN"
            ],
            "type": "string",
            "description": "Compatibility field for input files written for the original product-details scraper. Any non-empty value overrides the page language selected above.",
            "default": ""
          },
          "proxyCountry": {
            "title": "🔁 Delivery region (compatibility field)",
            "enum": [
              "AUTO",
              "US",
              "GB",
              "DE",
              "FR",
              "ES",
              "IT",
              "CA",
              "AU",
              "JP"
            ],
            "type": "string",
            "description": "Compatibility field for input files written for the original product-details scraper. Any value other than AUTO overrides the delivery region selected above.",
            "default": "AUTO"
          },
          "proxyConfiguration": {
            "title": "⚙️ Connection",
            "type": "object",
            "description": "Outbound connection settings. Keeping this enabled lets the run be pinned to the delivery region you selected, which is what keeps prices in the marketplace's own currency."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}