{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Product Scraper",
    "description": "Scrape Amazon products from URLs, keywords or ASINs across 23 marketplaces. Get price, Buy Box seller, stock, delivery, rating, reviews, Best Sellers Rank, variants, offers and specs as clean JSON. Monitor mode tracks price and stock changes. No login needed.",
    "version": "1.0",
    "x-build-id": "Jp9HTHzll00vrSTay"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/insights_data~amazon-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-insights_data-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/insights_data~amazon-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-insights_data-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/insights_data~amazon-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-insights_data-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": {
          "urls": {
            "title": "🔗 Amazon URLs",
            "type": "array",
            "description": "Paste one or more Amazon URLs, or upload a text file with many URLs (bulk). Supported: product pages (/dp/ASIN), search results (/s?k=...), categories (/b?node=...), Best Sellers, New Releases, Movers & Shakers and Most Wished For lists, seller pages (/sp?seller=...), storefronts (/s?me=...) and amzn.to short links. Leave it empty when you use keywords or ASINs below (at least one URL, keyword or ASIN is needed).",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "🔍 Search keywords",
            "type": "array",
            "description": "Search phrases, e.g. \"wireless mouse\". Each keyword is searched on every marketplace selected below.",
            "items": {
              "type": "string"
            }
          },
          "asins": {
            "title": "🔖 ASINs",
            "type": "array",
            "description": "Amazon product IDs (10 characters, e.g. B07WJ5D3H4). Each ASIN is looked up on every marketplace selected below, which makes cross-store price comparison easy.",
            "items": {
              "type": "string"
            }
          },
          "marketplaces": {
            "title": "🌐 Marketplaces for keywords and ASINs",
            "type": "array",
            "description": "Amazon stores used for the keywords and ASINs above (URLs always use their own store). Every keyword and ASIN runs once per selected store.",
            "items": {
              "type": "string",
              "enum": [
                "amazon.com",
                "amazon.ca",
                "amazon.com.mx",
                "amazon.com.br",
                "amazon.co.uk",
                "amazon.de",
                "amazon.fr",
                "amazon.it",
                "amazon.es",
                "amazon.nl",
                "amazon.com.be",
                "amazon.ie",
                "amazon.se",
                "amazon.pl",
                "amazon.com.tr",
                "amazon.ae",
                "amazon.sa",
                "amazon.eg",
                "amazon.in",
                "amazon.co.jp",
                "amazon.sg",
                "amazon.com.au",
                "amazon.co.za"
              ],
              "enumTitles": [
                "United States (USD)",
                "Canada (CAD)",
                "Mexico (MXN)",
                "Brazil (BRL)",
                "United Kingdom (GBP)",
                "Germany (EUR)",
                "France (EUR)",
                "Italy (EUR)",
                "Spain (EUR)",
                "Netherlands (EUR)",
                "Belgium (EUR)",
                "Ireland (EUR)",
                "Sweden (SEK)",
                "Poland (PLN)",
                "Turkey (TRY)",
                "United Arab Emirates (AED)",
                "Saudi Arabia (SAR)",
                "Egypt (EGP)",
                "India (INR)",
                "Japan (JPY)",
                "Singapore (SGD)",
                "Australia (AUD)",
                "South Africa (ZAR)"
              ]
            },
            "default": [
              "amazon.com"
            ]
          },
          "maxItemsPerStartUrl": {
            "title": "📦 Max products per input",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum products saved for each URL, keyword or ASIN (0 = no limit). Free plan users are limited to 10 items per run; paid plans have no limit.",
            "default": 10
          },
          "maxSearchPagesPerStartUrl": {
            "title": "📚 Max search pages per input",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum result pages read per search or category (0 = every page Amazon shows).",
            "default": 0
          },
          "sortBy": {
            "title": "🔃 Sort results by",
            "enum": [
              "relevanceblender",
              "price-asc-rank",
              "price-desc-rank",
              "review-rank",
              "date-desc-rank",
              "exact-aware-popularity-rank"
            ],
            "type": "string",
            "description": "Sort order for search and category results. Leave empty for Amazon's default (relevance). If a store does not offer the chosen order, the run says so in the log and keeps Amazon's default."
          },
          "minPrice": {
            "title": "💲 Min price",
            "minimum": 0,
            "type": "number",
            "description": "Only products priced at or above this value, in the store's currency (e.g. 25 or 19.99)."
          },
          "maxPrice": {
            "title": "💰 Max price",
            "minimum": 0,
            "type": "number",
            "description": "Only products priced at or below this value, in the store's currency."
          },
          "deepSearch": {
            "title": "🔬 Deep search",
            "type": "boolean",
            "description": "Amazon shows only a limited number of result pages per search. Turn this on to keep going past that limit and collect many more products from large searches (works when Max search pages is 0).",
            "default": false
          },
          "includeSponsored": {
            "title": "📣 Include sponsored products",
            "type": "boolean",
            "description": "Keep sponsored (ad) products in the results, with their sponsored position.",
            "default": true
          },
          "minRating": {
            "title": "⭐ Min star rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only products rated at least this many stars (0-5), e.g. 4."
          },
          "minReviews": {
            "title": "💬 Min number of reviews",
            "minimum": 0,
            "type": "integer",
            "description": "Only products with at least this many ratings, e.g. 100."
          },
          "primeOnly": {
            "title": "🚚 Prime only",
            "type": "boolean",
            "description": "Use the store's own Prime / shipped-by-Amazon filter.",
            "default": false
          },
          "refinements": {
            "title": "🧩 Amazon filters by name",
            "type": "array",
            "description": "Any filter from Amazon's left sidebar, by its visible name, e.g. \"LEGO\", \"4 Stars & Up\", \"Subscribe & Save\", \"Today's Deals\". Filters not offered on a listing are reported in the log with the names that are available.",
            "items": {
              "type": "string"
            }
          },
          "includeAdPlacements": {
            "title": "📢 Include sponsored carousels",
            "type": "boolean",
            "description": "Also collect sponsored products shown in carousels and brand banners, not only in the result grid.",
            "default": true
          },
          "titleIncludes": {
            "title": "✅ Title must contain",
            "type": "array",
            "description": "Keep products whose title contains any of these words (not case sensitive).",
            "items": {
              "type": "string"
            }
          },
          "titleExcludes": {
            "title": "🚫 Title must not contain",
            "type": "array",
            "description": "Skip products whose title contains any of these words (not case sensitive).",
            "items": {
              "type": "string"
            }
          },
          "maxScanned": {
            "title": "🧮 Max products to check per input",
            "minimum": 0,
            "type": "integer",
            "description": "Stop looking after checking this many listed products per input when strict filters keep rejecting them (0 = no limit).",
            "default": 2000
          },
          "scrapeProductDetails": {
            "title": "📋 Scrape full product details",
            "type": "boolean",
            "description": "On: open every product page for the full record (description, features, images, Buy Box, reviews, ranks...). Off: fast mode that saves only the data shown in search and best-seller lists, about 20x fewer page loads.",
            "default": true
          },
          "scrapeProductVariantPrices": {
            "title": "💹 Scrape variant prices",
            "type": "boolean",
            "description": "Add the price and availability of every variant (size, color...) to variantDetails.",
            "default": false
          },
          "maxProductVariantsAsSeparateResults": {
            "title": "🎨 Variants as separate rows",
            "minimum": 0,
            "type": "integer",
            "description": "Also save up to this many variants of each product as their own full rows (0 = off).",
            "default": 0
          },
          "maxOffers": {
            "title": "🏪 Max seller offers per product",
            "minimum": 0,
            "type": "integer",
            "description": "Collect up to this many offers from other sellers for each product (price, condition, seller, delivery). 0 = off.",
            "default": 0
          },
          "scrapeSellers": {
            "title": "👔 Scrape seller profiles",
            "type": "boolean",
            "description": "Add seller rating, rating count, business name and address for the Buy Box seller and offer sellers.",
            "default": false
          },
          "includeReviews": {
            "title": "📝 Include reviews",
            "type": "boolean",
            "description": "Add the top reviews and Amazon's AI review summary shown on the product page.",
            "default": true
          },
          "dedupeAcrossInputs": {
            "title": "🧹 Skip duplicate products",
            "type": "boolean",
            "description": "Save each product only once per marketplace, even when it appears in several inputs.",
            "default": true
          },
          "fillMissingPriceFromOffers": {
            "title": "🪙 Fill missing price from offers",
            "type": "boolean",
            "description": "When a product has no featured offer (\"See All Buying Options\"), fill lowestOfferPrice and lowestOfferSeller from its other offers.",
            "default": true
          },
          "discoverEndpoints": {
            "title": "🔄 Auto-update request settings",
            "type": "boolean",
            "description": "Keep request settings up to date automatically (recommended).",
            "default": true
          },
          "zipCode": {
            "title": "📮 Delivery ZIP / postcode",
            "type": "string",
            "description": "Deliver-to ZIP or postcode, e.g. 10001. Prices, stock and delivery dates follow this location."
          },
          "countryCode": {
            "title": "🌎 Delivery country",
            "pattern": "^$|^[A-Za-z]{2}$",
            "type": "string",
            "description": "Deliver-to country as a 2-letter code, e.g. GB or DE. Ignored when a ZIP code is set."
          },
          "autoLocation": {
            "title": "📍 Deliver to the store's home country",
            "type": "boolean",
            "description": "When no ZIP or country is given, deliver to the store's own country (e.g. US for amazon.com) so prices are shown no matter where the run happens.",
            "default": true
          },
          "language": {
            "title": "🔤 Language",
            "type": "string",
            "description": "Page language, e.g. es or es_US. Checked against the languages the store offers; if not offered, the store default is used and the log says so."
          },
          "currency": {
            "title": "💱 Currency",
            "type": "string",
            "description": "Display currency, e.g. EUR. Amazon offers other currencies only when delivering to another country (set Delivery country); otherwise prices stay in the store currency and the log says so."
          },
          "monitorMode": {
            "title": "🔔 Monitor changes between runs",
            "type": "boolean",
            "description": "Remember each product and add a \"changes\" list (price, stock, Buy Box seller, rank, rating, offers, coupon...) compared with the previous run of the same monitor list.",
            "default": false
          },
          "monitorListName": {
            "title": "📒 Monitor list name",
            "type": "string",
            "description": "Name of the product history to compare with. Use different names for different watch lists.",
            "default": "default"
          },
          "onlyChanged": {
            "title": "⚡ Save only changed products",
            "type": "boolean",
            "description": "With monitoring on, save only products that are new or changed since the last run.",
            "default": false
          },
          "maxConcurrency": {
            "title": "🚀 Parallel product pages",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many product pages are loaded at the same time.",
            "default": 4
          },
          "maxRetries": {
            "title": "🔁 Retries per page",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "How many times a page is retried when it fails or is blocked.",
            "default": 4
          },
          "minDelaySeconds": {
            "title": "⏳ Min delay between requests",
            "minimum": 0,
            "maximum": 30,
            "type": "number",
            "description": "Minimum pause between requests in seconds. Leave empty for automatic pacing."
          },
          "outputFields": {
            "title": "📑 Output fields",
            "type": "array",
            "description": "Optional: save only these fields, in this order, e.g. asin, title, price, buyBox. Leave empty for all fields.",
            "items": {
              "type": "string"
            }
          },
          "proxyConfiguration": {
            "title": "🔌 Proxy configuration",
            "type": "object",
            "description": "Default: no proxy. If Amazon blocks the run, it switches to a datacenter proxy and then to a residential proxy automatically, and stays on residential for the rest of the run. You can also pick a proxy yourself.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}