{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Product Scraper",
    "description": "Extract Amazon product data from any search, category, or product URL across 24 marketplaces. Returns prices, ratings, specs, images, variants, all seller offers with Buy Box status, and seller business profiles. Set a delivery country for region-accurate pricing. 60+ fields per product.",
    "version": "0.0",
    "x-build-id": "dsadm86bE3TQXrQSe"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/calm_builder~amazon-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-calm_builder-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/calm_builder~amazon-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-calm_builder-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/calm_builder~amazon-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-calm_builder-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",
        "properties": {
          "startUrls": {
            "title": "Search and category URLs",
            "type": "array",
            "description": "One Amazon **search or category** URL per row.\n\nSupported links:\n- Keyword search — `https://www.amazon.com/s?k=laptop`\n- Department search — `https://www.amazon.com/s?k=tv&i=electronics`\n- Category results — `https://www.amazon.com/s?rh=n%3A172282`\n\nSome category links return an empty results page on Amazon; the scraper repairs the link before fetching, so you still get products.\n\n**Not supported:** Best Sellers pages (`/gp/bestsellers/...`), department landing pages (`/b?node=...`) and brand storefronts (`/stores/...`) — these pages carry no product list. To scrape a brand, search for it instead: `https://www.amazon.com/s?k=redragon`.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItemsPerUrl": {
            "title": "Products per URL",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "How many products to collect from **each** search or category URL. The scraper follows pagination until it reaches this number or runs out of results.\n\nDoes not apply to **Product URLs**, where every link returns exactly one product.",
            "default": 20
          },
          "scrapeProductDetails": {
            "title": "Scrape product details",
            "type": "boolean",
            "description": "Open each product's own page for the fields a listing page does not show: full description, product specifications, Best Sellers rank, availability, and the 5/4/3/2/1 star rating breakdown.\n\nLeave this off for a faster, cheaper run that returns titles, prices, images, ratings and review counts from the listing page only.\n\nEach product page opened is billed as one **product detail** event.",
            "default": false
          },
          "productUrls": {
            "title": "Product URLs",
            "type": "array",
            "description": "One Amazon **product page** URL per row (`/dp/...` or `/gp/product/...`).\n\nEach link returns exactly one product with full details — **Products per URL** does not apply here, and the product page is **always** opened, so every product is billed as a **product detail** event.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "scrapeOffers": {
            "title": "Scrape all seller offers",
            "type": "boolean",
            "description": "Collect every seller offering the product, not only the Buy Box winner — each offer's price, condition, delivery, and whether it is sold or shipped by Amazon.\n\nUseful for Buy Box tracking, repricing, and counting competitors on a listing.",
            "default": false
          },
          "maxOffers": {
            "title": "Maximum offers per product",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Caps how many seller offers are returned per product. Set **0** to return every offer available.\n\nOffers are charged per offer returned, so a popular product with dozens of sellers costs more at **0** than at a set limit. The default of 10 covers the Buy Box winner and the main competing sellers.\n\nApplies only when **Scrape all seller offers** is on.",
            "default": 10
          },
          "scrapeVariants": {
            "title": "Scrape variants",
            "type": "boolean",
            "description": "Collect the product's other variations — sizes, colours, styles — with the ASIN of each one.\n\nVariants are read from the product page, so turning this on opens the product page even when **Scrape product details** is off, and the product is billed as a **product detail** event.",
            "default": false
          },
          "maxVariants": {
            "title": "Maximum variants per product",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Caps how many variations are returned per product. Set **0** to return all of them.\n\nApplies only when **Scrape variants** is on. This limits the output only — it does not change how many requests the run makes.",
            "default": 0
          },
          "scrapeSellers": {
            "title": "Scrape seller profiles",
            "type": "boolean",
            "description": "Look up the business behind each seller — registered business name, address and contact details where Amazon publishes them, plus the seller's feedback rating.\n\nProfiles are fetched once per seller and reused across every product that shares them, so you are charged once for a seller no matter how many of your products they sell.\n\nTurn on **Scrape all seller offers** as well to get a profile for every seller on a listing, not just the one winning the Buy Box.",
            "default": false
          },
          "deliveryCountry": {
            "title": "Deliver to country",
            "enum": [
              "",
              "AF",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AG",
              "AR",
              "AM",
              "AW",
              "AC",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BR",
              "IO",
              "VG",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "IC",
              "CV",
              "BQ",
              "KY",
              "CF",
              "EA",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "CI",
              "DK",
              "DG",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "SZ",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "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",
              "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",
              "RO",
              "RU",
              "RW",
              "RE",
              "WS",
              "SM",
              "CQ",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "KR",
              "SS",
              "ES",
              "LK",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "SD",
              "SR",
              "SJ",
              "SE",
              "CH",
              "SY",
              "ST",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TA",
              "TN",
              "TM",
              "TC",
              "TV",
              "TR",
              "UM",
              "VI",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UY",
              "UZ",
              "VU",
              "VA",
              "VE",
              "VN",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW",
              "AX"
            ],
            "type": "string",
            "description": "Prices, availability and delivery estimates change with the delivery address. Choose the country to see prices for, or leave it on **Amazon default** to use whatever Amazon shows.\n\nThis can be **any** country Amazon ships to — it does not have to be the marketplace's own country. Setting `amazon.com` to deliver to Pakistan, or `amazon.de` to Norway, shows the prices and availability a shopper there would see.\n\nCountries that are also Amazon marketplaces are marked with their domain. If Amazon does not ship to the country you pick, the run continues with the default location and records it in the log.",
            "default": ""
          },
          "deliveryPostalCode": {
            "title": "Postal code",
            "type": "string",
            "description": "Optional, and only used when the country you picked is the marketplace's **own** country — a ZIP on `amazon.com` while delivering to the United States, for example `99501`.\n\nAmazon narrows prices and delivery estimates to that postal code. For any other country it only accepts the country itself, so a postal code here is ignored.\n\nExamples: `99501` (United States), `10115` (Germany), `EC1A 1BB` (United Kingdom)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}