{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Product Scraper",
    "description": "Scrape Amazon product data including titles, ASINs, prices, ratings, reviews, images, descriptions, categories, specifications, and availability. Build structured datasets for product research, competitor analysis, pricing intelligence, and e-commerce market insights.",
    "version": "0.2",
    "x-build-id": "aZtXFtHeOsQM2OU0V"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/api-empire~amazon-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-api-empire-amazon-product-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-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-api-empire-amazon-product-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-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-api-empire-amazon-product-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": [
          "categoryOrProductUrls"
        ],
        "properties": {
          "categoryOrProductUrls": {
            "title": "🔗 Enter one or more Amazon category or product URLs",
            "type": "array",
            "description": "Use a link to the Amazon category you want to scrape, e.g. video games - https://www.amazon.com/s?bbn=16225016011&rh=n%3A20972781011, https://www.amazon.com/dp/B0B3BVWJ6Y. You can also filter within the category with almost any filter available, i.e. price, manufacturer, rating, etc. By using a different URL you can also choose a different Amazon country, e.g. Germany: https://www.amazon.de/. You don't need to set a proxy country to do that.",
            "items": {
              "type": "string"
            }
          },
          "maxItemsPerStartUrl": {
            "title": "📊 Max results (per start URL)",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the maximum number of results you want to scrape per each start URL. This will let the scraper know when to stop.",
            "default": 10
          },
          "language": {
            "title": "🌐 Language",
            "enum": [
              "cs",
              "da",
              "de",
              "en",
              "es",
              "fr",
              "nl",
              "pl",
              "pt",
              "sv",
              "tr",
              "he",
              "ar",
              "mrta",
              "hi",
              "bn",
              "ta",
              "te",
              "kn",
              "ml",
              "ko",
              "zh_CN",
              "zh_TW",
              "ja"
            ],
            "type": "string",
            "description": "Language to use on Amazon. Disclaimer: each Amazon domain has a different set of supported languages. If you choose a language that is not supported by the domain, the scraper will use the default language of the domain."
          },
          "proxyCountry": {
            "title": "🌍 Proxy country",
            "enum": [
              "AUTO_SELECT_PROXY_COUNTRY",
              "NO_PROXY",
              "AF",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "VG",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CK",
              "CR",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "CD",
              "DK",
              "DJ",
              "DM",
              "DO",
              "TL",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GW",
              "GN",
              "GY",
              "HT",
              "HM",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "CI",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "KP",
              "MK",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "CG",
              "RE",
              "RO",
              "RU",
              "RW",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "KR",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UM",
              "VI",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UY",
              "UZ",
              "VU",
              "VA",
              "VE",
              "VN",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW",
              "AX"
            ],
            "type": "string",
            "description": "You can set proxy country to avoid geo-blocking and access region-specific content. Amazon shows you the products that can be shipped to your address based on the proxy you use. By default, the scraper automatically selects the proxy country based on the used Amazon website domain, ensuring low blocking rates and results relevant to the base domain.",
            "default": "AUTO_SELECT_PROXY_COUNTRY"
          },
          "maxSearchPagesPerStartUrl": {
            "title": "📄 Maximum search pages (per start URL)",
            "minimum": 1,
            "type": "integer",
            "description": "Enter the maximum number of search pages to scrape for each start URL. E.g. only scrape the first 5 pages. This field can also be used with the maxItemsPerStartUrl option, the scraper will stop after either one of these limits is reached.",
            "default": 9999
          },
          "maxProductVariantsAsSeparateResults": {
            "title": "🔄 Maximum product variants (as separate results)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of product variants (different color/size/style ASINs) to scrape per product and output as their own separate result rows. Each variant row carries originalAsin = the parent product's ASIN. The parent product always lists every child ASIN in variantAsins. Note that this increases the number of requests and extends the scraping time."
          },
          "maxOffers": {
            "title": "💰 Maximum scraped offers",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the maximum number of offers you want to scrape per each product. This will let the scraper know when to stop. Note that this will increase the number of requests and extend the scraping time.",
            "default": 0
          },
          "scrapeSellers": {
            "title": "👤 Scrape sellers",
            "type": "boolean",
            "description": "Enable this option to extract further information about sellers of the product. Scrapes the featured offer seller (main seller). This option goes hand in hand with the maxOffers option by scraping the seller of each offer. If you set maxOffers to 0, only the featured offer seller will be scraped. Note that this will increase the number of requests and extend the scraping time.",
            "default": false
          },
          "ensureLoadedProductDescriptionFields": {
            "title": "📝 Ensure loaded product description fields",
            "type": "boolean",
            "description": "Enable this feature to always load all seller-editable product description fields, such as description, aPlusContent, attributes, etc. Amazon sometimes hides these fields as a form of blocking. Enabling this option helps ensure data consistency but will increase the number of requests and may extend scraping time based on the blocking rate. Turn it on only if you need the data.",
            "default": false
          },
          "useCaptchaSolver": {
            "title": "🤖 Use Captcha solver",
            "type": "boolean",
            "description": "If enabled, and a CapSolver API key is provided (see the field below or the CAPSOLVER_API_KEY environment variable), the scraper attempts to solve image captchas Amazon throws instead of only retrying on a fresh proxy IP. Works best on the amazon.com domain. Note: after a captcha is solved, Amazon sometimes serves a reduced page where 'attributes' and 'bestsellerRanks' are missing. Without a key, this toggle falls back to fresh-IP retries.",
            "default": false
          },
          "capSolverApiKey": {
            "title": "🔑 CapSolver API key (optional)",
            "type": "string",
            "description": "Optional CapSolver API key used only when 'Use Captcha solver' is enabled. Leave empty to fall back to the CAPSOLVER_API_KEY environment variable, or to disable solving entirely (captchas are then retried on a fresh proxy IP). Your key is stored as a secret and never written to output."
          },
          "scrapeProductVariantPrices": {
            "title": "💵 Scrape product variant prices",
            "type": "boolean",
            "description": "Enable this option to extract prices of different variations of a product. Useful when you need prices for each variant. Note that this will increase the number of requests and extend the scraping time.",
            "default": false
          },
          "scrapeProductDetails": {
            "title": "📦 Scrape product details",
            "type": "boolean",
            "description": "If enabled, the scraper will extract each found product from the category page in detail (this is the default behavior). If disabled, the scraper will only extract the quick product information from the category page. Useful for faster and more lightweight searches for products.",
            "default": true
          },
          "maxConcurrentRequests": {
            "title": "⚡ Maximum concurrent requests",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Number of concurrent product page requests.",
            "default": 10
          },
          "countryCode": {
            "title": "🏳️ Country code",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CD",
              "CG",
              "CK",
              "CR",
              "CI",
              "HR",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GT",
              "GG",
              "GW",
              "GN",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "AN",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "QA",
              "KR",
              "RE",
              "RO",
              "RU",
              "RW",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "UM",
              "US",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ],
            "type": "string",
            "description": "The country code to use as the delivery location."
          },
          "zipCode": {
            "title": "📮 Zip code",
            "type": "string",
            "description": "The zip code to use as the delivery location. This is useful for more precise location settings, especially in larger countries."
          },
          "locationDeliverableRoutes": {
            "title": "🛣️ Location deliverable routes",
            "type": "array",
            "description": "The list of routes/page types, for which the deliverable location settings should be applied. This is useful for speeding up the scraping process by not applying the location settings to all pages, for which you don't need the localized data for. For example, you can set it to ['SEARCH', 'PRODUCT'] to apply the location settings only to search and product pages. By default, all pages are included.",
            "items": {
              "type": "string",
              "enum": [
                "PRODUCT",
                "SEARCH",
                "OFFERS"
              ]
            },
            "default": [
              "PRODUCT",
              "SEARCH",
              "OFFERS"
            ]
          },
          "proxyConfiguration": {
            "title": "🔒 Proxy configuration",
            "type": "object",
            "description": "🔒 Apify proxy settings. Use residential proxy for best results and fewer blocks."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}