{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon ASIN Scraper With Every Size, Color & Variant",
    "description": "Amazon Asin Scraper extracts detailed data for any Amazon ASIN. Capture titles, prices, images, ratings, reviews, variations, sellers, and key product details. Ideal for market research, pricing analysis, product tracking, and workflows needing structured ASIN-level data.",
    "version": "0.1",
    "x-build-id": "JRkBgFIyJH8xcTteC"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/api-empire~amazon-asin-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-api-empire-amazon-asin-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/api-empire~amazon-asin-scraper/runs": {
      "post": {
        "operationId": "runs-sync-api-empire-amazon-asin-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/api-empire~amazon-asin-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-api-empire-amazon-asin-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": "📦 ASINs to map",
            "type": "array",
            "description": "One ASIN per line — 10 alphanumeric characters, e.g. `B07GBZ4Q68`. Take it from the product URL after `/dp/`. Point it at any child ASIN and you still get the whole family back. ASINs are fetched concurrently.",
            "items": {
              "type": "string"
            }
          },
          "marketplaceDomain": {
            "title": "🏬 Storefront domain",
            "type": "string",
            "description": "Which Amazon storefront to read the listing from, e.g. `amazon.com`, `amazon.co.uk`, `amazon.de`. Variation labels come back in that storefront's language.\n\nThe base input key `amazonDomain` is still accepted and takes priority.",
            "default": "amazon.com"
          },
          "pageLanguage": {
            "title": "🔤 Page language",
            "enum": [
              "",
              "en",
              "en_US",
              "en_GB",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "pl",
              "pt",
              "pt_BR",
              "sv",
              "tr",
              "cs",
              "da",
              "ja",
              "zh_CN",
              "zh_TW",
              "hi"
            ],
            "type": "string",
            "description": "Language code sent as `?language=…` and in `Accept-Language`. Dimension labels (`Size`, `Color`) and spec-table keys are rendered in this language, so English gives the most predictable column names.\n\nThe base input key `language` is still accepted and takes priority.",
            "default": "en"
          },
          "deliveryPostcode": {
            "title": "📍 Delivery postcode",
            "type": "string",
            "description": "Optional destination postcode (e.g. `10001`). Sets Amazon's delivery cookie before scraping, so the delivery date string and stock sentence you get back are the ones for that location.\n\nThe base input key `zipCode` is still accepted and takes priority.",
            "default": ""
          },
          "includeVariationMatrix": {
            "title": "🎨 Map every size, colour and variant",
            "type": "boolean",
            "description": "Read Amazon's twister payload and return `parentAsin`, `variationDimensions` (each dimension with its full value list and the selected value), and `variationMatrix` — one entry per child ASIN with its dimension values and `isSelected`.",
            "default": true
          },
          "variantsAsSeparateRows": {
            "title": "🧬 Emit each variant as its own row",
            "type": "boolean",
            "description": "In addition to the product row, push one row per child ASIN (`rowType: \"variant\"`) with `size`, `color`, `style`, `pattern`, `variantOfAsin` and the child's product URL. Handy for pasting a whole size/colour grid straight into a sheet.\n\nVariant rows carry only what the parent page states about that child — no price or stock is copied down, because the parent page does not state them per child.",
            "default": false
          },
          "maxVariantRowsPerProduct": {
            "title": "🔢 Variant rows per product cap",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Upper bound on how many child rows a single product may emit when the option above is on. Apparel parents can carry hundreds of children.",
            "default": 30
          },
          "onlyProductsWithVariations": {
            "title": "🚦 Keep only products that have variations",
            "type": "boolean",
            "description": "Drop any ASIN whose page shows no twister at all. Use it when you are hunting variation parents and single-variant listings are noise.",
            "default": false
          },
          "includeSpecificationTables": {
            "title": "📋 Full specification & product-details tables",
            "type": "boolean",
            "description": "Return `productSpecification` (technical spec tables) and `productDetails` (the Product details block, in both its table and bullet-list layouts) as complete name/value lists.",
            "default": true
          },
          "includeMediaInventory": {
            "title": "🖼️ Full image list with resolutions & videos",
            "type": "boolean",
            "description": "Return `imageInventory` — every gallery image with its hi-res, large and thumbnail URLs plus the width x height Amazon itself states — and `videoInventory` with product video URLs, titles and durations as given.",
            "default": true
          },
          "includeFulfilmentFacts": {
            "title": "🚚 Sold by, ships from, delivery & stock text",
            "type": "boolean",
            "description": "Return `soldBy`, `fulfilledBy`, `deliveryMessage`, `deliveryDateText`, `fastestDeliveryText`, `warehouseAvailability` (the \"Only N left in stock\" sentence) and `pastSales` (the \"N bought in past month\" badge) exactly as rendered.",
            "default": true
          },
          "trimRichContent": {
            "title": "🪶 Drop A+ content and legacy image fields",
            "type": "boolean",
            "description": "A+ modules, brand story and comparison tables dominate the size of an Amazon record. Turn this on to blank them and keep the dataset small. The variation matrix, spec tables and `imageInventory` are not affected.",
            "default": false
          },
          "exitCountry": {
            "title": "🌐 Proxy exit country",
            "enum": [
              "AUTO_SELECT_PROXY_COUNTRY",
              "US",
              "GB",
              "DE",
              "FR",
              "ES",
              "IT",
              "CA",
              "AU",
              "JP",
              "IN",
              "BR",
              "MX",
              "NL",
              "PL",
              "TR",
              "SE",
              "AE"
            ],
            "type": "string",
            "description": "Route requests through this country. Match it to the storefront domain — a US residential exit against a non-US Amazon domain is served a CAPTCHA shell.\n\nThe base input key `proxyCountry` is still accepted and takes priority.",
            "default": "AUTO_SELECT_PROXY_COUNTRY"
          },
          "proxyConfiguration": {
            "title": "🔐 Proxy configuration",
            "type": "object",
            "description": "Full proxy override — Apify groups or your own URLs. Overrides the exit country above. Most runs can leave this alone."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}